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