[Verilog] MP3에 들어가는 IMDCT를 수행하는 코드
- 최초 등록일
- 2010.09.09
- 최종 저작일
- 2010.04
- 16페이지/
한컴오피스
- 가격 1,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
Verilog로 작성된 MP3에 들어가는 IMDCT를 수행하는 코드입니다.
목차
I. IMDCT Algorism
1. IMDCT란?
2. IMDCT의 Algorism 분석
II. Verilog Code
1. IMDCT, ALU, ROM, RAM, Testbanch Code 및 분석
2. 입출력 데이터 분석
3. 각 MODULE간 연결구조
III. Waveform 분석
IV. Timing Chart 분석
1. Timging Chart
2. 분석표
V. IMDCT의 최종 Xi값
VI. Project를 마치며...
본문내용
I. IMDCT Algorism
1. IMDCT란?
MP3는 MPEG Audio LayerⅢ의 알고리즘을 사용하여 오디오를 부호화 또는 복호화 하게 된다. 이때 MP3의 복호화 과정에서 가장 많은 연산을 차지하는 부분이 바로 IMDCT(Inverse Modified Discrete Cosine transform)이다.
부호화 과정에서 사용되는 MDCT는 시간 영역 데이터를 주파수 영역으로 변환하는 것이므로, 복호화 과정에서 사용되는 IMDCT는 역으로 주파수 영역 데이터를 시간영역 데이터로 변환 한다. 복호화 과정에서 IMDCT는 전체 처리과정에서 CPU점유율 30%이상 많은 연산을 필요로 한다.
2. IMDCT의 Algorism 분석
MPEG Audio에서 사용되는 정규화된 IMDCT 는
와 같은 식으로 만들어 진다.
(이 때 n=36, I=0에서 n-1까지로 주어짐)
첫 번째 출력 값인 값을 분석해 보면 의 코사인 값에 변수 값의 곱들의 합으로 표현 할 수 있다. 이때 k는 0부터 17까지 이므로 이 값들을 곱한 뒤 더한 값은 다음과 같다.
이 과정을 그림으로 표현 하면 다음과 같이 나타낼 수 있다.
=> I가 0이고 n이 36일 때 X0에 대한 그림
위와 같은 방법으로 I는 0부터 n-1로 주어지므로 n이 36이라면 는 에서부터 까지 구 할 수 있게 된다.
=> x0에서 x17의 변수가 곱해질 때 I가 0에서 35까지 변함에 따라 나오는 결과 Xi
참고 자료
없음