Abstract
The goal of this research is the real-time implementation of MPEG-1 Layer III audio decoder using the fixed-point digital signal processor of TMS320C6201 The main job for this work is twofold: one is to convert floating-point operation in the decoder into fixed-point operation while maintaining the high resolution, and the other is to optimize the program to make it run in real-time with memory size as small as possible. We, especially, devote much time to the descaling module in the decoder for conversion of floating-point operation into fixed-point operation with high accuracy. The inverse modified cosine transform(IMDCT) and synthesis polyphase filter bank modules are optimized in order to reduce the amount of computation and memory size. After the optimization process, in this paper, the implemented decoder uses about 26% of maximum computation capacity of TMS320C6201. The program memory, data ROM, data RAM used in the decoder are about 6.77kwords, 3.13 kwords and 9.94 kwords, respectively. Comparing the PCM output of fixed-point computation with that of floating-point computation, we achieve the signal-to-noise ratio of more than 60 dB. A real-time operation is demonstrated on the PC using the sound I/O and host communication functions in the EVM board.
본 논문에서는 고정소수점 DSP인 TMS320C6201을 이용하여 MPEG-1 Layer III 오디오 디코더를 실시간으로 동작하도록 구현하였다 음질의 손실 없이 부동소수점 연산을 고정소수점 연산으로 변환하였으며 적은 메모리를 사용하여 동작하도록 소스프로그램을 최적화하였다 특히 연산의 정확성을 위해서 Descaling 모듈에서 중점적으로 부동소수점 연산을 고정소수점 연산으로 변환하여UT고 연산량과 프로그램 크기를 줄이기 위해서 IMDCT 모듈과 Synthesis Polyphase Filter Bank 모듈에 대해서 최적화 작업을 수행하였다 그 결과 구현된 디코더는 TMS320C6201 DSP가 수행할 수 있는 최대 연산량의 26% 만으로 실시간 동작이 가능하여UT으며 사용된 프로그램 ROM의 크기는 3.13 kWord 데이터 RAM의 크기는 9.94 kWord 이었다 부동소수점 프로그램의 최종 출력 PCM값과 구현된 고정소수점 연산의 최종 출력 PCM값을 비교하여 60 dB 이상의 높은 SNR를 가짐을 확인함으로써 고정소수점 연산의 정확성을 검증하였다. 또한 EVM 보드에서 사운드 입출력과 호스트(PC) 통신을 이용하여 실시간으로 동작함을 확인하였다.