태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

TMS320F28377D의 FFT 연산능력 알아보기

 

TMS320F28377D는 TI사에서 최근에 출시한 200MHz의 구동속도를 가진 듀얼-코어(사실상의 쿼드 코어) MCU 입니다. 최신 칩이니 만큼 여러가지로 막강한 기능들을 가지고 있는데, 여기서는 TMS320F28377D의 DSP로써의 특징을 십분 발휘할 수 있는 FFT(Fast Fourier Transform) 연산능력에 대해서 한번 살펴보겠습니다.

 

 

FFT 연산능력은 FFT 사이즈(몇 포인트의 데이터를 FFT 할것인가)와 연산방식에 따라서 달라집니다. 여기서 연산방식은 고정소수점(Fixed-point) 방식으로 연산할 것 인가, 부동소수점(Floating-point) 방식으로 연산할 것이냐를 말합니다. TMS320F28377D의 기본 CPU 코어는 Fixed-point 코어입니다. 하지만, 자체 내장된 FPU(Floatint Point Uint)기능 덕분에 Floating-point 연산도 하드웨어적으로 처리할 수 있습니다. 이뿐만아니라, TMS320F28377D는 VCU(Viterbi,Complex Math, CRC Unit) type2 기능을 지원하기 때움에 Complex Math를 통한 FFT 연산을 보다 빠르고 효율적으로 처리할 수 있습니다. 그리고, TI는 각 경우에 있어서 최고의 연산효율을 보일 수 있는 FFT 라이브러리를 공개 배포하고 있습니다. 사용자는 FFT 연산코드를 직접 짤 필요없이 제공되는 라이브러리를 통해서 손쉽게 FFT 연산 코드를 구현할 수 있습니다.

 

 

그려면 각 경우에 있어서, TI가 제공하는 FFT 라이브러리를 사용했을 때, FFT 연산능력이 어느정도 있는 한번 살펴보겠습니다. 아래표는 고정소수점(Fixed-point) 방식으로 연산했을 경우 Complex FFT 관련 연산 사이클 수를 보여줍니다. TMS320F28377D는 최대 200MHz의 시스템클럭으로 동작하기 때문에 "1사이클 = 5nsec" 의 시간으로 계산하시면 됩니다. 32-bit Complex FFT FFT32_calc() 연산의 경우 256-point FFT 시 Q31 포맷을 사용하면, 25897사이클이므로 시간으로 계산하면, 약 129usec에 해당됨을 알 수 있습니다. 이는 초당 256-point FFT 연산을 약 7,751회(=1,000,000usec/129usec) 수행할 수 있다는 얘기 입니다.

 

 

 

 

 

아래표는 부동소수점(Floatint-Point) 방식으로 연산했을 경우 Complex FFT 관련 연산 사이클 수를 보여줍니다. CFFT_f32() 연산의 경우 256-point FFT 시, 11018사이클이므로 시간으로 계산하면, 약 55usec에 해당됨을 알 수 있습니다. 이는 초당 256-point FFT 연산을 약 18,181회(=1,000,000usec/55usec) 수행할 수 있다는 얘기 입니다.

 

 

 

추가적으로, 부동소수점(Floatint-Point) 방식으로 complex FFT magnitude 연산을 할 경우에는 TMS320F28377D에서 최초로 도입된 TMU(Trigonometric Math Unit: 삼각함수 연산을 가속시킬 수 있음) 기능을 활용할 수 있습니다. 아래 표가 같은 complex FFT magnitude 연산을 할 때, TMU가 사용안될 때와 TMU가 사용될 때의 차이를 보여줍니다. 256-point 연산시에 약 3.5배 정도의 연산속도가 향상되는 것을 알 수 있습니다.

 

 

 

 

마지막으로 아래표는 TMS320F28377D가 가진 VCU type2 기능을 사용할 때의 Complex FFT 관련 연산 사이클 수를 보여줍니다. CFFT_run256Pt() 연산의 경우 256-point FFT 시, 2908사이클이므로 시간으로 계산하면, 약 15usec에 해당됨을 알 수 있습니다. 이는 초당 256-point FFT 연산을 약 66,666회(=1,000,000usec/15usec) 수행할 수 있다는 얘기 입니다. 연산속도는 VCU를 사용할 때가 월등하게 빠름을 알 수 있습니다.

 

 

 

위 내용과 관련해서 좀더 자세한 내용은 아래 첨부된 문서들을 참고하시기 바랍니다. 각 연산 방식별로 TI가 제공하는 DSP 연산 라이브러리에 대해서 상세하게 설명해주고 있습니다. 실제 해당 라이브러리는 TI 홈페이지에서 ControlSUITE를 검색해서 다운로드 받으실 수 있습니다.

 

 

 

Fixed Point DSP Software Library

 

FIXPT-SW-LIB-UG.pdf

 

 

 


FPU DSP Software Library

 

FPU-SW-LIB-UG.pdf

 

 

 


VCU-II Software Library

 

C28X-VCU-LIB-UG.pdf

 

 

 

 

 

 

 

 

Posted by syncworks

댓글을 달아 주세요

티스토리 툴바