基于Matlab的FIR型希爾伯特變換器設(shè)計
摘要:在通信系統(tǒng)中,希爾伯特變換是被廣泛應(yīng)用的重要變換。為了實現(xiàn)數(shù)字解調(diào),通常需要借助希爾伯特變換器對信號進行分解,利用Matlab設(shè)計希爾伯特變換器是一種最為快捷、有效的方法。通過具體的設(shè)計、仿真及對原始信號和經(jīng)過希爾伯特變換器輸出延遲信號的比較,說明Matlab是一個在濾波器設(shè)計方面很有力的工具。
關(guān)鍵詞:Matlab;Hilbert變換器;remez;FDATool工具
0 引言
通信系統(tǒng)中,經(jīng)常需要對一個信號進行正交分解,即分解為同相分量和正交分量。由于希爾伯特變換可以提供90°的相位變化而不影響頻譜分量的幅度,即對信號進行希爾伯特變換就相當(dāng)于對該信號進行正交移相,使它成為自身的正交對。因此,希爾伯特變換在通信領(lǐng)域獲得了廣泛應(yīng)用。
在傳統(tǒng)的設(shè)計中,希爾伯特變換器可由一個FIR濾波器和一個時延模塊實現(xiàn),也可由一組濾波器對實現(xiàn),而實現(xiàn)FIR型希爾伯特變換器的一個簡單方法就是對原型低通濾波器作正弦/余弦變換。但是,無論哪種方法都需要通過計算對低通濾波器的系數(shù)進行轉(zhuǎn)換,其計算繁瑣且存在一定的誤差。Matlab作為濾波器設(shè)計的基礎(chǔ)軟件,不僅可以快速有效地實現(xiàn)希爾伯特變換器的設(shè)計、分析仿真和最優(yōu)化,而且可以直接計算出希爾伯特變換器的系數(shù),加之Matlab具有強大的接口功能,為后續(xù)的設(shè)計提供了方便。
1 希爾伯特變換器的基本原理
連續(xù)時間信號x(t)的希爾伯特變換定義為:
由式(1)可得單位沖擊響應(yīng)h(t)=1/(πt),由于jh(t)=j/(πt)的傅里葉變換是符號函數(shù)sgn(w),所以希爾伯特變換器的頻率特性為:
信號x(t)的希爾伯特變換可以看成是信號x(t)通過一個幅度為1的全通濾波器輸出,信號通過希爾伯特變換器后,其負(fù)頻率成分作+90°的相移,而正頻率成分作-90°的相移。
這類濾波器要求濾波器的零頻響應(yīng)為0,若濾波器階數(shù)為偶數(shù),則還要求Nyquist頻率(歸一化頻率為1)處的響應(yīng)為0。即如果濾波器的階數(shù)為偶數(shù),那么增益在頻率為0 Hz和fs/2處必須降為零,希爾伯特濾波器必須是一個帶通濾波器。如果濾波器的階數(shù)為奇數(shù),那么增益在頻率為0 Hz處必須降為零,希爾伯特濾波器必須是一個高通濾波器。
2 希爾伯特變換器的Matlab設(shè)計
2.1 直接程序法
Matlab信號處理工具箱提供了firls函數(shù)和remez函數(shù),它們的調(diào)用格式語法規(guī)則相同,只是優(yōu)化算法不同,函數(shù)firls利用最小二乘法使期望的頻率響應(yīng)和實際的頻率響應(yīng)間的誤差最??;函數(shù)remez實現(xiàn)Park-McClellan算法,這種算法利用remez交換算法和Che-byshev近似理論設(shè)計濾波器,使實際頻率響應(yīng)擬合期望頻率響應(yīng)達到最優(yōu)。
函數(shù)調(diào)用格式為b=remez(n,f,m,‘h’)或b=firIs(n,f,m,‘h’),其中,n為濾波器的階數(shù);f為濾波器期望頻率特性的頻率向量標(biāo)準(zhǔn)化頻率,取值0~1,是遞增向量,允許定義重復(fù)頻點;m為濾波器期望頻率特性的幅值向量,向量m和f必須同長度且為偶數(shù);b為函數(shù)返回的濾波器系數(shù),長度為n+1,本文將采用remez函數(shù)法。
下面設(shè)計一個希爾伯特變換器,要求采樣頻率為2 000 Hz,通頻帶為50~950 Hz,濾波器階數(shù)為60階。實現(xiàn)程序如下:
低通濾波器相關(guān)文章:低通濾波器原理
電源濾波器相關(guān)文章:電源濾波器原理
高通濾波器相關(guān)文章:高通濾波器原理 數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評論