|
|
最近在使用STM32F407 discovery的板子設計 FIR濾波器, 設計的是將板子作為聲卡驅動,連接電腦對輸出的音頻做FIR卷積濾波。
已經完成了讓板子作為聲卡驅動正常輸出音頻信號。
現在目前遇到的情況是在做FIR卷積之后,輸出的音頻信號是錯的,不知道問題出現在什么地方,希望論壇里的大神可以幫幫我。
P.S:為了找到問題的所在,Debug的時候我不對音頻數據*pData進行FIR卷積濾波處理,而是將*pData先傳入一個數組中,再對數組進行運算,此時應該對原本輸出的pData沒有任何影響,但是運算后結果輸出的結果就出錯了,目前還找不到原因(圖中是部分代碼,并非工程文件,通過void BSP_AUDIO_OUT_ChangeBuffer(uint16_t *pData, uint16_t Size) 對從電腦接收到的數據進行處理,HAL_I2S_Transmit_DMA(&hi2s3, pData, Size) 是將數據傳輸到I2S,在板子上的耳機孔上輸出。test_block(block,pData,Size) 是調試的代碼)。
求各位大神指導一下我!!
方便的話可以加QQ1661623649 |
-
1.png
(30.61 KB, 下載次數: 29)
下載附件
2018-7-31 20:24 上傳
|