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