目前需要針對聲音資料進行處理,而BeagleBoard-xM,為了聲音及影像的高速運算,使用兩個核心元件,
ARM核心: Cortex-A8,目前我們的 Embedded linux 系統以及應用程式都在這顆運行;
DSP核心:C64+ DSP,TI提供了C6accel的模組,將相關的影像/聲音加解碼,以及大部分需要使用的演算法,製作成函式庫形式,
只須包含相關header文件,在程式中調用函式即可。
目前測試FFT的函式庫,
測試程式的主要結構為:
1、執行程式時,可帶入數量參數(須為2的n次方)。
2、依據數量隨機建立input Data,並使用printf的程式印出。
3、依據數量產生旋轉因子Wn,
4、調用FFT,
5、將計算後的FFT資料,用Printf在畫面上列出。
6、調用IFFT,將FFT後的資料還原。
7、將計算後的IFFT資料,用Printf在畫面上印出。
預計數量使用32或64較容易比較資料,依據以上的簡易測試方式,進行codeing工作...
目前在DVSDK內,複製整個C6Accel 資料夾並更名,並將Rule.make內,C6accel_install_DIR更改到新的資料夾,
將程式放在此處,可少去很多XDC等資料連結的錯誤,
DVSDK內執行 make c6accel,便可產生測試用程式。
已可正確編輯以及調用,尚無法確認其正確性。
尚有幾點需要確認:
1、FFT用的inBufs的資料結構,實部/虛部資料的擺放方式。
2、WN的迴轉因子,資料結構方式。
3、FFT以及IFFT的迴轉因子是否相同?
4、為何在原本的C6accel增加 自定義的 測試碼,會造成原測試碼的異常?