實驗名稱:基於matlab的數字濾波器設計
一、實驗目的與要求:
(1)掌握用窗函式法、頻率取樣法及優化設計法設計fir濾波器的原理及方法;
(2)熟悉線性相位fir濾波器的幅頻特性和相頻特性,了解各種不同窗函式對濾波器效能的影響;
(3)掌握雙線性變換法及脈衝相應不變法設計iir數字濾波器的具體設計方法及其原理;
(4)觀察雙線性變換及脈衝響應不變法設計的濾波器的頻域特性,了解雙線性變換法及脈衝響應不變法的特點。
二、實驗原理、內容和步驟
1、實驗原理
線性相位實係數fir濾波器按其n值奇偶和h(n)的奇偶對稱性分為四種:
1、h(n)為偶對稱,n為奇數
h(ejω)的幅值關於ω=0,π,2π成偶對稱。
2、h(n)為偶對稱,n為偶數
h(ejω)的幅值關於ω=π成奇對稱,不適合作高通。
3、h(n)為奇對稱,n為奇數
h(ejω)的幅值關於ω=0,π,2π成奇對稱,不適合作高通和低通。
4、h(n)為奇對稱,n為偶數
h(ejω) ω=0、2π=0,不適合作低通。
(一) 視窗法
窗函式法設計線性相位fir濾波器步驟:
確定數字濾波器的效能要求:臨界頻率,濾波器單位脈衝響應長度n;
根據效能要求,合理選擇單位脈衝響應h(n)的奇偶對稱性,從而確定理想頻率響應hd(ejω)的幅頻特性和相頻特性;
求理想單位脈衝響應hd(n),在實際計算中,可對hd(ejω)按m(m遠大於n)點等距離取樣,並對其求idft得hm(n),用hm(n)代替hd(n);
選擇適當的窗函式w(n),根據h(n)= hd(n)w(n)求所需設計的fir濾波器單位脈衝響應;
求h(ejω),分析其幅頻特性,若不滿足要求,可適當改變窗函式形式或長度n,重複上述設計過程,以得到滿意的結果。
(二)頻率取樣法
頻率取樣法是從頻域出發,將給定的理想頻率響應hd(ejω)加以等間隔取樣
然後以此hd(k)作為實際fir數字濾波器的頻率特性的取樣值h(k),即令
由h(k)通過idft可得有限長序列
將上式代入到z變換中去可得
其中φ(ω)是內插函式
(三)fir濾波器的優化設計
fir濾波器的優化設計是按照最大誤差最小化準則,使所設計的頻響與理想頻響之間的最大誤差,在通帶和阻帶範圍均為最小,而且是等波動逼近的。
為了簡化起見,在優化設計中一般將線性相位fir濾波器的單位脈衝響應h(n)的對稱中心置於n=0處,此時,線性相位因子α=0。當n為奇數,且n=2m+1,則
定義一逼近誤差函式:
e(ω)為在希望的濾波器通帶和阻帶內算出的誤差值,w(ω)為加權函式。
k應當等於比值δ1/δ2,δ1為通帶波動,δ2為阻帶波動。在這種情況下,設計過程要求|e(ω)|在區間的最大值為最小,它等效於求最小δ2。根據數學上多項式逼近連續函式的理論,用三角多項式逼近連續函式,在一定條件下存在最佳逼近的三角多項式,而且可以證明這個多項式是唯一的。
這一最佳逼近定理通常稱作交替定理。
在逼近過程中,可以固定k,m,ωp,ωs而允許改變δ2,按照交替定理,首先估計出(m+2)個誤差函式的極值頻率點,i=0,1,...,m+1,共計可以寫出(m+2)個方程
式中ρ表示峰值誤差。一般僅需求解出ρ,接著便可用三角多項式找到一組新的極值頻率點,並求出新的峰值誤差ρ。依此反覆進行,直到前、後兩次ρ值不變化為止,最小的ρ即為所求的δ2。
這一演算法通常稱作雷公尺茲(remez)交替演算法。
(四) 脈衝響應不變法
用數字濾波器的單位脈衝響應序列h(n)模仿模擬濾波器的衝激響應ha(t),讓h(n)正好等於ha(t)的取樣值,即
h(n)= ha(nt)
其中t為取樣間隔,如果以ha(s)及h(z)分別表示ha(t)的拉式變換及h(n)的z變換,則
(五) 雙線性變換法
s平面與z平面之間滿足以下對映關係:
s平面的虛軸單值地對映於z平面的單位圓上,s平面的左半平面完全對映到z平面的單位圓內。雙線性變換不存在混疊問題。
雙線性變換時一種非線性變換 ,這種非線性引起的幅頻特性畸變可通過預畸而得到校正。
2、實驗內容
(1)n=15, 。用hanning窗設計一線性相位帶通濾波器,觀察它的實際3db和20db頻寬。n=45,重複這一設計,觀察幅頻和相位特性的變化,注意長度n變化的影響;
(2)分別改用矩形窗和blackman窗,設計(1)中的帶通濾波器,觀察並記錄窗函式對濾波器幅頻特性的影響,比較三種窗的特點;
(3)用kaiser窗設計一專用線性相位濾波器,n=40, 如下圖所示,當β0=4,6,10時,分別設計、比較它們的幅頻和相頻特性,注意β0取不同值時的影響;
(4)用頻率取樣法設計(3)中的濾波器,過渡帶分別設乙個過渡點,令h(k)=0.5。比較兩種不同方法的結果;
(5)用雷公尺茲(remez)交替演算法設計(3)中的濾波器,並比較(3)、(4)、(5)三種方法的結果。
(6)fp=0.3khz,ap=0.8db, fr=0.2khz,ar=20db,t=1ms;設計一chebyshev高通濾波器;觀察其通帶損耗和阻帶衰減是否滿足要求。
(7)fp=0.2khz,ap=1db, fr=0.3khz,ar=25db,t=1ms;分別用脈衝響應不變法及雙線性變換法設計一butterworth數字低通濾波器,觀察所設計數字濾波器的幅頻特性曲線,記錄頻寬和衰減量,檢查是否滿足要求。
比較這兩種方法的優缺點。
三、結論分析與實驗體會
實驗**
%1n=15;
wvtool(barthannwin(n));
n=45;
wvtool(barthannwin(n));
%2%矩形窗
n=15;
wvtool(boxcar(n));
n=45;
wvtool(boxcar(n));
%blackman窗
n=15;
wvtool(bartlett(n));
n=45;
wvtool(bartlett(n));
%3wn=kaiser(40,4);
nn=[0:1:39];
alfa=(40-1)/2;
hd=sin(0.4*pi*(nn-alfa))./(pi*(nn-alfa));
h=hd.*wn';
[h1,w1]=freqz(h,1);
subplot(3,1,1)
plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('é/p')
ylabel('·ù/db')
wn=kaiser(40,6);
nn=[0:1:39];
alfa=(40-1)/2;
hd=sin(0.4*pi*(nn-alfa))./(pi*(nn-alfa));
h=hd.*wn';
[h1,w1]=freqz(h,1);
subplot(3,1,2)
plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('é/p')
ylabel('·ù/db')
wn=kaiser(40,10);
nn=[0:1:39];
alfa=(40-1)/2;
hd=sin(0.4*pi*(nn-alfa))./(pi*(nn-alfa));
h=hd.*wn';
[h1,w1]=freqz(h,1);
subplot(3,1,3)
plot(w1/pi,20*log10(abs(h1)));
axis([0,1,-80,10]);
grid;
xlabel('é/p')
ylabel('·ù/db')
實驗結果及截圖
3、實驗體會
通過對本次實驗的學習,掌握到窗函式法、頻率取樣法及優化設計法設計fir濾波器的原理及方法。熟悉了線性相位fir濾波器的幅頻特性和相頻特性,了解各種不同窗函式對濾波器效能的影響。掌握了雙線性變換法及脈衝相應不變法設計iir數字濾波器的具體設計方法及其原理。
了解了雙線性變換法及脈衝響應不變法的特點。
本次實驗的主要難度是在於程式的編寫,大部分同學都是和懂得的同學一起討論研究的,實驗結果的波形也一樣。所以這次實驗還是較為簡單的,主要是能夠了解實驗原理。
數字訊號處理實驗
一 實驗目的 研究不同型別的窗函式,研究一些不同的方法來測試窗函式的效能 專注於有關窄帶訊號的幾個不同的情形。二 實驗原理 訊號是無限長的,而在進行訊號處理時只能採用有限長訊號,所以需要將訊號 截斷 在訊號處理中,截斷 被看成是用乙個有限長的 視窗 看無限長的訊號,或者從分析的角度是無限長的訊號x ...
數字訊號處理實驗
班級 08050742 姓名 劉曉華 學號 41 實驗一頻譜分析與取樣定理 一 實驗目的 1 觀察模擬訊號經理想取樣後的頻譜變化關係。2 驗證取樣定理,觀察欠取樣時產生的頻譜混疊現象 3 加深對dft演算法原理和基本性質的理解 4 熟悉fft演算法原理和fft的應用 二 實驗原理 根據取樣定理,對給...
數字訊號處理實驗
利用fft實現快速卷積 姓名 田昕煜 學號 13081405 班級 通訊四班 指導教師 周爭 一 實驗原理 應用fft實現數字濾波器實際上就是用fft來快速計算有限長度序列的線性卷積。這種方法就是先將輸入訊號x n 通過fft變換為它的頻譜取樣值x k 然後再和fir的頻響取樣值h k 相乘,h k...