基于DSP Builder的回波抵消器設計與實現(xiàn)
2 FPGA硬件設計
設計選用FPGA是Altera公司Cyclone系列的EPlCl2Q240C8。FPGA中I/O端口可自由定義,電路設計方便、編程靈活、不易受外部干擾。系統(tǒng)編譯環(huán)境采用QuartusⅡ,頂層設計為圖形化方式。芯片模塊劃分為分頻模塊、D/A轉換模塊和回波抵消器模塊。分頻模塊采用VHDL語言編程實現(xiàn),D/A轉換模塊采用硬件電路實現(xiàn),同波抵消器模塊用DSPBuilder軟件進行設計。
2.1 分頻模塊設計
分頻模塊是將外部時鐘進行分頻設定,得到系統(tǒng)內(nèi)部DA模塊和回波抵消器模塊所需要的時鐘。分頻模塊的外部時鐘輸入頻率為50 MHz,8分頻后產(chǎn)生的時鐘頻率約為6 MHz。
2.2 回波抵消器模塊設計
該部分采用層次化的設計方法。利用DSP Builder模塊構建自適應算法部分,根據(jù)LMS算法迭代公式(4)和濾波器的估計輸出式(2),建立加權分量模型。如圖2(a)所示。
在圖2(a)中,第i個延時單元的輸入信號為x(n),延時后的輸出信號為x(n-1),同時輸入信號x(n)產(chǎn)生一個乘積y’(n)=ω(n)x(n),由于是濾波器的估計輸出是一系列權值分量與輸入矢量的各分量乘積之和。因此,除第一級外,后續(xù)單元必須加上前一級的加權單元的輸出。封裝后,則可以根據(jù)濾波器階數(shù)的不同而相應調整,以實現(xiàn)多級級聯(lián)。尤其是在構造階數(shù)可變和階數(shù)較大的濾波器時更能顯出其靈活性。然后將封裝后的加權分量單元依照階數(shù)級聯(lián),并再次封裝即構成抵消器模塊??蛇\用于頂層模型中。
在頂層系統(tǒng)模型中連接各子模塊,如圖2(b)所示,圖中兩個信號源sin2,sin1采用正弦信號發(fā)生器實現(xiàn),利用正弦查找表產(chǎn)生正弦波數(shù)據(jù),函數(shù)調用格式為lOsin([0:2π/2∧4:2π])和5sin[0:2π/2∧6:2π],其輸入地址分別為4位和6位,輸出為16位。Dixiaoqi模塊由圖2(a)級聯(lián)封裝得到,模塊Parallel to serial為并行/串行轉換器。
設計中,因語音信號頻率可以看作約為3.4 kHz,所以信號采樣頻率設為8 kHz,假設回波延遲2.5 ms(小于回波對聽覺產(chǎn)生干擾的范圍20 ms),考慮收斂速度和實現(xiàn)情況,步長采用0.1,計算得出濾波器階數(shù)20。
2.3 D/A轉換模塊設計
利用Texas Instruments公司的D/A芯片TLC5620,并輔助使用4輸入與門SN74HC08M和運算放大器LM358AM,構建數(shù)模轉換器。TLC5620是8位電壓輸出的數(shù)模轉換器,需5V外接電壓,有4個輸出端口可以選擇。利用擴展插槽與FPGA連接,信號接119腳,時鐘由所編程序在FPGA內(nèi)實現(xiàn),通過73腳與TLC5620連接,控制信號通過63腳連接TLC5620。
3 DSP Builder仿真和FPGA驗證
通過Simulink仿真得到波形,如圖3(a)所示,圖中第一行為返回A聽筒的誤差e信號波形,第二行為輸入話筒的所有信號,即B信號與回波信號之和。由變化的波形可以看出,隨著自適應濾波器的“學習”過程,回波逐漸被抵消。
利用ModelSim針對生成的RTL級VHDL代碼進行功能仿真,設置信號為模擬形式,如圖3(b)所示,圖中為減去回波后的誤差信號,與Simu-link仿真結果一致。
使用ModelSim完成RTL級功能仿真,其仿真結果并不能精確反映電路的全部硬件特性,進行門級的時序仿真仍然十分重要。在Quartus Ⅱ下編譯后進行時序仿真,其仿真波形,如圖3(c)所示。
評論