王艷文 楊 楠
新鄉(xiāng)醫(yī)學院生物醫(yī)學工程學院 河南新鄉(xiāng) 453003
基于Hanning窗的數(shù)字希爾伯特變換器設計
王艷文楊楠
新鄉(xiāng)醫(yī)學院生物醫(yī)學工程學院河南新鄉(xiāng)453003
本文利用Hanning窗實現(xiàn)了數(shù)字希爾伯特變換器的設計,設計結果符合數(shù)字希爾伯特變換器技術指標要求。
matlab;濾波器;希爾伯特變換器;Hanning窗
數(shù)字濾波器是數(shù)字信號處理的重要器件,因其具有精度高和穩(wěn)定性強、系統(tǒng)函數(shù)易改變、靈活性強、不存在阻抗匹配問題、便于大規(guī)模集成、可實現(xiàn)多維濾波等優(yōu)點,故其設計已成為數(shù)字信號處理研究的熱點。誕生于20世紀70年代的MATLAB語言是由美國MathWorks公司推出的一套集矩陣運算、數(shù)值分析、信號處理和圖形顯示于一體的高性能數(shù)值計算和可視化軟件。由于其中的數(shù)字信號處理工具箱功能強大,從而使其成為了數(shù)字信號處理領域中的主要編程語言。Matlab可以快速有效地實現(xiàn)濾波器的設計、分析仿真和最優(yōu)化,已成為數(shù)字濾波器設計的基礎軟件。本文采用Hanning窗實現(xiàn)數(shù)字希爾伯特變換器的設計。
根據(jù)研究任務,用漢寧窗設計一個長度為21的數(shù)字希爾伯特變換器。
線性相位希爾伯特變換器的理想頻率響應為
經(jīng)過逆變換后的理想脈沖響應為
由于N=21,所設計的濾波器是3型的。
設計程序如下:
N = 21; alpha = (N-1)/2;
n = 0:N-1;
hd = (sin(pi*(n-alpha)/2).^2./(n-alpha).*(2/pi); hd(alpha+1)=0;
w_ham = (hamming(N)';
h = hd .* w_ham;
[db,mag,pha,grd,w] = freqz_m(h,[1]);
由運行程序的濾波器脈沖響應和頻域曲線(如圖1所示)可以看出,所設計的數(shù)字希爾伯特變換器滿足設計要求。
利用MATLAB設計濾波器方法簡單、快捷直觀。本文利用Hanning 窗設計了數(shù)字希爾伯特變換器,程序運行結果符合設計技術指標要求,取得了較理想的實驗效果。
[1]程佩青.數(shù)字信號處理教程[M].北京:清華大學出版社,2000:10-53.
[2]黎雄.FIR數(shù)字濾波器的最優(yōu)化設計及MATLAB實現(xiàn)[J].信息技術,2004,28(10):38-41.
圖1 濾波器時域中實際的脈沖響應曲線和頻域中幅度響應曲線