文獻(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)和電話網(wǎng)中的認(rèn)證技術(shù)變得越來越重要[1]。由于聲音采集的環(huán)境復(fù)雜,,背景噪聲經(jīng)常是非平穩(wěn)的,,諸如在辦公室、街道和工廠等,,正確區(qū)分語音和噪聲是系統(tǒng)正常工作的保證,。因此音頻信號(hào)的預(yù)處理成了整個(gè)設(shè)計(jì)的關(guān)鍵部分[2],。
為完成音頻信號(hào)的預(yù)處理,,有些人在MATLAB中編寫代碼完成濾波器設(shè)計(jì),,但是它不能在硬件上實(shí)現(xiàn)SOPC設(shè)計(jì);有些人采用Verilog 語言直接在FPGA中實(shí)現(xiàn),,但是它需要對(duì)Verilog語言十分熟悉[3],。本文提出一種利用DSP builder技術(shù)設(shè)計(jì)濾波器,既不需要對(duì)Verilog語言十分熟悉,,還可以借助Simulink平臺(tái)完成基于線性相位結(jié)構(gòu)和DA算法的音頻濾波器結(jié)構(gòu)設(shè)計(jì),,最后通過Signal Compiler轉(zhuǎn)換為HDL語言,實(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ì)
本文中的濾波器采用線性相位結(jié)構(gòu)和DA算法[9-12],,它的系數(shù)是對(duì)稱的,,即h(n)=±h(N-n-1)。系數(shù)使用SystemVue軟件獲取,,并在MATLAB中進(jìn)行量化,。
1.2.1 SystemVue設(shè)計(jì)濾波器參數(shù)
打開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ì)
打開MATLAB2009b,在Command窗口輸入Simulink,,新建一個(gè)model文件,,打開Altera DSP Builder庫,選擇組件,,包括延時(shí)模塊,、Parallel Adder Subtractor、Bus Splitter,、Data type conversion,、Look-up table,、Product等,完成一個(gè)12階的線性相位結(jié)構(gòu)和DA算法的濾波器模塊設(shè)計(jì),,如圖4所示,。
它是由3個(gè)4階濾波器子系統(tǒng)組成的,一個(gè)4階濾波器子系統(tǒng)的內(nèi)部結(jié)構(gòu)如圖5所示,。
圖5 4階線性相位濾波器
2 Verilog HDL語言生成
在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ǔ)資源類型,、存儲(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軟件中編寫濾波器的卷積公式,,計(jì)算得出的理論結(jié)果和Simulink仿真的結(jié)果進(jìn)行比較,,由表2可看出兩者的數(shù)值很接近,可看出本文設(shè)計(jì)是準(zhǔn)確的,。
本文在DE2開發(fā)板上完成了音頻信號(hào)的采集和預(yù)處理,,在Simulink中完成線性相位結(jié)構(gòu)和DA算法的濾波器的模塊設(shè)計(jì),由Signal Compiler轉(zhuǎn)換為HDL代碼燒寫到板子中,,節(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)和電話網(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.