文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)09-0024-03
隨著現(xiàn)代網(wǎng)絡(luò)的飛速發(fā)展,聲紋因其采集方便,成本低,易于在網(wǎng)絡(luò)中進(jìn)行傳輸,而作為一種應(yīng)用在互聯(lián)網(wǎng)和電話(huà)網(wǎng)中的認(rèn)證技術(shù)變得越來(lái)越重要[1]。由于聲音采集的環(huán)境復(fù)雜,背景噪聲經(jīng)常是非平穩(wěn)的,諸如在辦公室、街道和工廠等,正確區(qū)分語(yǔ)音和噪聲是系統(tǒng)正常工作的保證。因此音頻信號(hào)的預(yù)處理成了整個(gè)設(shè)計(jì)的關(guān)鍵部分[2]。
為完成音頻信號(hào)的預(yù)處理,有些人在MATLAB中編寫(xiě)代碼完成濾波器設(shè)計(jì),但是它不能在硬件上實(shí)現(xiàn)SOPC設(shè)計(jì);有些人采用Verilog 語(yǔ)言直接在FPGA中實(shí)現(xiàn),但是它需要對(duì)Verilog語(yǔ)言十分熟悉[3]。本文提出一種利用DSP builder技術(shù)設(shè)計(jì)濾波器,既不需要對(duì)Verilog語(yǔ)言十分熟悉,還可以借助Simulink平臺(tái)完成基于線(xiàn)性相位結(jié)構(gòu)和DA算法的音頻濾波器結(jié)構(gòu)設(shè)計(jì),最后通過(guò)Signal Compiler轉(zhuǎn)換為HDL語(yǔ)言,實(shí)現(xiàn)由算法級(jí)到RTL級(jí)的轉(zhuǎn)換[4-8]。
1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)
1.1 系統(tǒng)流程
本系統(tǒng)設(shè)計(jì)包括濾波器參數(shù)設(shè)計(jì)、濾波器結(jié)構(gòu)設(shè)計(jì)、MATLAB理論計(jì)算、ModelSim時(shí)序仿真和板級(jí)驗(yàn)證等流程,如圖1所示。
1.2 濾波器參數(shù)設(shè)計(jì)
本文中的濾波器采用線(xiàn)性相位結(jié)構(gòu)和DA算法[9-12],它的系數(shù)是對(duì)稱(chēng)的,即h(n)=±h(N-n-1)。系數(shù)使用SystemVue軟件獲取,并在MATLAB中進(jìn)行量化。
1.2.1 SystemVue設(shè)計(jì)濾波器參數(shù)
打開(kāi)SystemVue軟件,在空白處右鍵選擇linear sys filters,選擇菜單欄中的filters,選擇漢明窗,截止頻率使用歸一化頻率設(shè)置為0.45,如圖2所示,最后得到如圖3所示濾波器的時(shí)域圖。
1.2.2 濾波器系數(shù)
SystemVue設(shè)計(jì)出的12階系數(shù),如表1所示。
1.3 濾波器結(jié)構(gòu)設(shè)計(jì)
打開(kāi)MATLAB2009b,在Command窗口輸入Simulink,新建一個(gè)model文件,打開(kāi)Altera DSP Builder庫(kù),選擇組件,包括延時(shí)模塊、Parallel Adder Subtractor、Bus Splitter、Data type conversion、Look-up table、Product等,完成一個(gè)12階的線(xiàn)性相位結(jié)構(gòu)和DA算法的濾波器模塊設(shè)計(jì),如圖4所示。
它是由3個(gè)4階濾波器子系統(tǒng)組成的,一個(gè)4階濾波器子系統(tǒng)的內(nèi)部結(jié)構(gòu)如圖5所示。
圖5 4階線(xiàn)性相位濾波器
2 Verilog HDL語(yǔ)言生成
在Simulink中添加Signal Compiler組件,點(diǎn)擊圖標(biāo)進(jìn)行設(shè)置,就可以完成HDL代碼的生成,設(shè)置如圖6所示。
3 仿真與驗(yàn)證
3.1 下載
首先在Quartus II中點(diǎn)擊編譯按鈕,之后出現(xiàn)詳細(xì)的存儲(chǔ)資源分配情況,可看到存儲(chǔ)資源類(lèi)型、存儲(chǔ)器位寬和深度以及存儲(chǔ)量大小,還有初始化文件映射等,如圖7所示。
3.2 仿真
在Simulink中添加Source為一個(gè)幅值為10的方波信號(hào),Sink為信號(hào)顯示器,仿真結(jié)果如圖8所示。
在Quartus II中進(jìn)行ModelSim仿真,結(jié)果轉(zhuǎn)化為十進(jìn)制,如圖9所示。
為驗(yàn)證音頻濾波器設(shè)計(jì)的準(zhǔn)確性,在MATLAB軟件中編寫(xiě)濾波器的卷積公式,計(jì)算得出的理論結(jié)果和Simulink仿真的結(jié)果進(jìn)行比較,由表2可看出兩者的數(shù)值很接近,可看出本文設(shè)計(jì)是準(zhǔn)確的。
本文在DE2開(kāi)發(fā)板上完成了音頻信號(hào)的采集和預(yù)處理,在Simulink中完成線(xiàn)性相位結(jié)構(gòu)和DA算法的濾波器的模塊設(shè)計(jì),由Signal Compiler轉(zhuǎn)換為HDL代碼燒寫(xiě)到板子中,節(jié)省了大量的編程時(shí)間,減少了設(shè)計(jì)音頻濾波器的復(fù)雜度。把Simulink仿真值和MATLAB理論計(jì)算值進(jìn)行對(duì)比,結(jié)果很接近,可驗(yàn)證設(shè)計(jì)的準(zhǔn)確性。本文使用的SOPC設(shè)計(jì),大大縮短設(shè)計(jì)周期,這將為后續(xù)的用于互聯(lián)網(wǎng)和電話(huà)網(wǎng)的聲紋特征提取系統(tǒng)的設(shè)計(jì)提供便利。
參考文獻(xiàn)
[1] 陳擁權(quán),張羽,胡翀豪,等.聲紋識(shí)別技術(shù)及其應(yīng)用前景分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2013(11):24-25.
[2] 李琳琳,秦敏.音頻異步采樣率轉(zhuǎn)換IP的設(shè)計(jì)及聯(lián)合仿真[J].電子技術(shù)應(yīng)用,2013,39(6):121-123.
[3] 蔣小燕.MATLAB/FPGA/Dsp builder在《數(shù)字信號(hào)處理》課程教學(xué)中的應(yīng)用[J].軟件導(dǎo)刊,2013,20(4):197-199.
[4] 鄭爭(zhēng)兵.基于DSPBuilder的FIR數(shù)字濾波器設(shè)計(jì)與仿真[J].陜西理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2013(2):34-38.
[5] 單文軍,周雪純,李文華.基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(14):123-126.
[6] 陳勇,南玲巧,任鶴翔,等.基于SOPC的網(wǎng)絡(luò)入侵檢測(cè)中模式匹配系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2011,37(11):13-16.
[7] 杜友杰,王紫婷.基于DSP Builder的數(shù)字濾波器設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)試,2012(8):43-46.
[8] GHAMKHARI S F,GHAZNAVI G M B.A new low-power architecture design for distributed arithmetic unit in FIR filter implementation[J].Circuits,Systems,and Signal Processing,2014,33(4):1245-1259.
[9] Wei Ling,Yang Rijie,Cui Xutao.Design of FIR filter based on distributed arithmetic and its FPGA implementation[J].Chinese Journal of Scientific Instrument,2008,29(10):2100-2104.
[10] 李俊,劉淮霞,朱丹,等.基于FPGA技術(shù)的FIR數(shù)字濾波器的設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2012(2):104-105.
[11] 單文軍,周雪純,李文華.基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,36(14):123-126.
[12] 夏瀑.基于分布式算法的 FIR 濾波器設(shè)計(jì)及FPGA實(shí)現(xiàn)[D].大連:大連海事大學(xué),2008.