文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)06-0121-03
采樣率轉(zhuǎn)換技術(shù)在數(shù)字語音信號處理中應(yīng)用十分廣泛,例如在混音操作時(shí),要求各個(gè)音頻信號具有相同的采樣頻率,因此必須在混音前進(jìn)行音頻信號采樣率轉(zhuǎn)換SRC(Sample Rate Conversion)。常用的音頻信號采樣率有32 kHz、44.1 kHz、48 kHz和96 kHz。當(dāng)采樣率轉(zhuǎn)換進(jìn)行非整數(shù)倍轉(zhuǎn)換時(shí)(如44.1 kHz轉(zhuǎn)換為48 kHz),就會出現(xiàn)噪聲,而噪聲的大小是由轉(zhuǎn)換器本身以及算法的優(yōu)劣來決定的。采用通用多相濾波器直接進(jìn)行采樣率轉(zhuǎn)換時(shí)會占用大量的硬件資源,而采用Farrow結(jié)構(gòu)濾波器就可以避免硬件資源浪費(fèi)。Farrow結(jié)構(gòu)濾波器是一種基于分段多項(xiàng)式脈沖響應(yīng)且可以實(shí)現(xiàn)任意采樣率轉(zhuǎn)換的高效硬件結(jié)構(gòu),以內(nèi)插、多項(xiàng)式濾波和抽取操作級聯(lián)的方式來實(shí)現(xiàn)任意因子的采樣率轉(zhuǎn)換。
式中,P為級聯(lián)多項(xiàng)式的長度,N為分段多項(xiàng)式的階數(shù),cl(n)為分段多項(xiàng)式濾波系數(shù),vl(m)為中間變量。由上式可知,根據(jù)輸入和輸出采樣率(即1/T1、1/T2)便可計(jì)算出該濾波器的多項(xiàng)式的系數(shù)。為進(jìn)一步減少硬件乘法器的數(shù)目,對Farrow結(jié)構(gòu)濾波器進(jìn)行改進(jìn)設(shè)計(jì)[2-4],如圖1所示。由于該濾波器獨(dú)特的對稱性特點(diǎn),可以減少50%的濾波系數(shù),實(shí)現(xiàn)了硬件的精簡。
1.2 音頻信號異步采樣率轉(zhuǎn)換
通用音頻信號異步采樣率轉(zhuǎn)換IP Core除核心部分的Farrow結(jié)構(gòu)濾波器之外,還包括自動(dòng)采樣率檢測、控制模塊和輸出FIFO模塊,采用硬件描述語言Verilog實(shí)現(xiàn)音頻信號異步采樣率轉(zhuǎn)換IP Core的硬件框圖如圖2所示。其中Farrow結(jié)構(gòu)濾波器采用上述改進(jìn)型設(shè)計(jì)方式,其分段多項(xiàng)式長度P為8,分段多項(xiàng)式最高階數(shù)N為3,主時(shí)鐘clk頻率為3.072 MHz或2.822 4 MHz(根據(jù)輸入或輸出采樣率是否為44.1 kHz而定)。自動(dòng)采樣率檢測及控制模塊通過高速時(shí)鐘clk對輸入采樣時(shí)鐘clk_in和輸出采樣時(shí)鐘clk_out的周期(即T1和T2)進(jìn)行計(jì)數(shù),完成內(nèi)插因子和抽取因子及其相關(guān)的計(jì)算[5],同時(shí)計(jì)算出μm,提供給Farrow結(jié)構(gòu)濾波器模塊。
2 對IP Core的聯(lián)合仿真及驗(yàn)證
2.1仿真驗(yàn)證平臺
在對Farrow濾波器算法IP的設(shè)計(jì)驗(yàn)證過程中,利用Simulink和ModelSim的綜合優(yōu)勢進(jìn)行多工具聯(lián)合仿真,將有助于加快算法原型的實(shí)現(xiàn)。
傳統(tǒng)的Simulink和ModelSim聯(lián)合仿真方法主要有兩種: (1)通過文件讀寫交互方式;(2)ModelSim中通過FLI(Foreign Language Interface)[6]或DPI(Direct Programming Interface)調(diào)用 Matlab引擎庫函數(shù)的方式。這兩種方式存在實(shí)現(xiàn)難度大、仿真效率較低、靈活性較差的問題。新版本的Simulink中所帶有的EDA Simulator Link[7]提供了其與ModelSim仿真工具進(jìn)行快速、雙向聯(lián)合仿真的接口,是對FPGA 和ASIC的硬件設(shè)計(jì)流程進(jìn)行無縫連結(jié)聯(lián)合仿真的接口擴(kuò)展模塊,由于具有組件建模和可視化等優(yōu)點(diǎn),因此,可快速有效地進(jìn)行算法與架構(gòu)間的評估及設(shè)計(jì)驗(yàn)證。
Simulink模型庫中的EDA Simulator Link通過服務(wù)器/客戶端的架構(gòu)與ModelSim仿真器進(jìn)行雙向聯(lián)合仿真時(shí),ModelSim為服務(wù)器,而Simulink為客戶端。EDA Simulator Link提供HDL Cosimulation模塊,將待驗(yàn)證的HDL IP模塊在Simulink驗(yàn)證平臺中實(shí)例化,通過圖形化界面設(shè)置兩者之間的對應(yīng)關(guān)系。其中仿真激勵(lì)可以由Simulink工具箱提供的各種信源模塊庫所構(gòu)成的子系統(tǒng)(Subsystem)產(chǎn)生,也可由其他的HDL Cosimulation模塊產(chǎn)生,實(shí)現(xiàn)對算法IP的驗(yàn)證測試平臺如圖3所示。
2.2 聯(lián)合仿真的實(shí)現(xiàn)
利用EDA Simulator Link及Simulink工具箱,對HDL實(shí)現(xiàn)的Farrow結(jié)構(gòu)濾波器算法IP進(jìn)行仿真設(shè)計(jì)。其中仿真激勵(lì)為50 Hz~7 kHz的音頻正弦波信號或真實(shí)的語音信號;系統(tǒng)時(shí)鐘控制模塊clk_gen為IP Core提供時(shí)鐘信號;Farrow_matlab_model模塊是在Simulink中搭建的Farrow濾波器的參考模型。整個(gè)平臺中任何模塊(包括HDL Cosimulation模塊)的內(nèi)部信號均可輸出至VCD格式的波形文件中,再利用ModelSim的vcd2wlf命令將。VCD文件轉(zhuǎn)換成.WLF文件,以便在ModelSim中查看其時(shí)序波形。
具體的聯(lián)合仿真流程如下:
(1)啟動(dòng)Matlab,搭建Simulink的驗(yàn)證平臺,通過Simulink模型庫中的HDL Cosimulation block設(shè)置與 HDL模塊的映射關(guān)系。
(2)啟動(dòng)ModelSim,編譯HDL實(shí)現(xiàn)的算法IP。
(3)在ModelSim中用vsimulink命令啟動(dòng)ModelSim服務(wù)器,建立聯(lián)合仿真。如:vsimulink work.farrow_core-socket 5002。
(4)在Simulink中啟動(dòng)仿真。
(5)仿真結(jié)束,查看結(jié)果,評估算法IP。
2.3 仿真結(jié)果及分析
圖4、圖5是輸入激勵(lì)信號為2 kHz的正弦波,采樣率從32 kHz轉(zhuǎn)換到48 kHz時(shí)的仿真結(jié)果。
通過對仿真結(jié)果進(jìn)行分析發(fā)現(xiàn),F(xiàn)arrow結(jié)構(gòu)濾波輸出的噪聲信號被抑制到-90 dB以下。對真實(shí)語音信號的異步采樣率轉(zhuǎn)換輸出進(jìn)行了客觀評價(jià),其清晰度及自然度與原語音信號無明顯差別。
本文給出利用Simulink和ModelSim實(shí)現(xiàn)的聯(lián)合仿真實(shí)例,驗(yàn)證了HDL實(shí)現(xiàn)的音頻采樣率轉(zhuǎn)換IP具有極小的相位延遲,功能正確、性能良好,完全滿足通用的音頻信號采樣率轉(zhuǎn)換要求。此聯(lián)合仿真平臺結(jié)合多種EDA仿真工具的優(yōu)勢,大大減少了驗(yàn)證代碼的復(fù)雜度,縮短了IP開發(fā)設(shè)計(jì)及驗(yàn)證周期。與傳統(tǒng)的HDL算法IP驗(yàn)證平臺相比,在數(shù)據(jù)可視化、數(shù)據(jù)計(jì)算分析和交互式環(huán)境等方面都具有不可比擬的優(yōu)勢。
參考文獻(xiàn)
[1] SINGH N. Implementation of farrow structure-based interpolator using cubic polynomial approximation[J]. Interational Journal of VLSI and Signal Processing Applications, 2011(1):70-73.
[2] PUN C K S. On the design and efficient implementation of farrow structure[C]. IEEE Signal Processing Letters, 2003.
[3] VESMA J, SARAMAKI T. Design and properties of polynomial-based fractional delay filters[J]. IEEE International Symposium on Circuits and Systems, 2000(3):104-107.
[4] 鄧軍,楊銀堂.一種基于并行處理技術(shù)的插值濾波算法及其FPGA實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2010(11):82-85.
[5] PALNITKAR S.Verilog HDL 數(shù)字設(shè)計(jì)與綜合(第2 版)[M].夏宇聞,等譯.北京:電子工業(yè)出版社, 2007.
[6] 胡軍強(qiáng).基于Modelsim FLI接口的FPGA仿真技術(shù)[J].電子技術(shù)應(yīng)用,2002,28(7):75-77.
[7] EDA Simulator Link user’s guide 2011b[R]. The MathWorks, Inc., 2011.