文獻(xiàn)標(biāo)識(shí)碼: A
文章編號: 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)正常工作的保證。因此音頻信號的預(yù)處理成了整個(gè)設(shè)計(jì)的關(guān)鍵部分[2],。
為完成音頻信號的預(yù)處理,,有些人在MATLAB中編寫代碼完成濾波器設(shè)計(jì),但是它不能在硬件上實(shí)現(xiàn)SOPC設(shè)計(jì),;有些人采用Verilog 語言直接在FPGA中實(shí)現(xiàn),,但是它需要對Verilog語言十分熟悉[3]。本文提出一種利用DSP builder技術(shù)設(shè)計(jì)濾波器,,既不需要對Verilog語言十分熟悉,,還可以借助Simulink平臺(tái)完成基于線性相位結(jié)構(gòu)和DA算法的音頻濾波器結(jié)構(gòu)設(shè)計(jì),最后通過Signal Compiler轉(zhuǎn)換為HDL語言,,實(shí)現(xiàn)由算法級到RTL級的轉(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í)序仿真和板級驗(yàn)證等流程,如圖1所示,。
1.2 濾波器參數(shù)設(shè)計(jì)
本文中的濾波器采用線性相位結(jié)構(gòu)和DA算法[9-12],,它的系數(shù)是對稱的,即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的方波信號,,Sink為信號顯示器,仿真結(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ā)板上完成了音頻信號的采集和預(yù)處理,在Simulink中完成線性相位結(jié)構(gòu)和DA算法的濾波器的模塊設(shè)計(jì),,由Signal Compiler轉(zhuǎn)換為HDL代碼燒寫到板子中,,節(jié)省了大量的編程時(shí)間,減少了設(shè)計(jì)音頻濾波器的復(fù)雜度,。把Simulink仿真值和MATLAB理論計(jì)算值進(jìn)行對比,,結(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ù)字信號處理》課程教學(xué)中的應(yīng)用[J].軟件導(dǎo)刊,2013,,20(4):197-199.
[4] 鄭爭兵.基于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ò)入侵檢測中模式匹配系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2011,,37(11):13-16.
[7] 杜友杰,,王紫婷.基于DSP Builder的數(shù)字濾波器設(shè)計(jì)與實(shí)現(xiàn)[J].電子測試,,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.