iir數字濾波器設計課程設計
⑴ 基於matlab數字濾波器的設計
摘要
《數字信號處理》課程是一門理論性和實踐性都很強, 它具備高等代數、數值分析、概率統計、隨機過程等計算學科的知識; 要求我們學生掌握扎實的基礎知識和理論基礎。 又是跟其他學科密切相關,即與通信理論、計算機、微電子技術不可分,又是人工智慧、模式識別、神經網路等新興學科的理論基礎之一。 本次數字濾波器設計方法是基於MATLAB的數字濾波器的設計。此次設計的主要內容為:IIR數字濾波器和FIR數字濾波器的設計
關鍵詞:IIR、FIR、低通、高通、帶阻、帶通
Abstract
"Digital Signal Processing" is a theoretical and practical nature are strong, and it has advanced algebra and numerical analysis, probability and statistics, random process such as calculation of discipline knowledge; requires students to acquire basic knowledge and a solid theoretical basis. Is closely related with other subjects, namely, and communication theory, computers, microelectronics can not be separated, but also in artificial intelligence, pattern recognition, neural network theory one of the emerging discipline. The digital filter design method is based on MATLAB for digital filter design. The main elements of design: IIR and FIR digital filter design of digital filter
Key Words: IIR, FIR, low pass, high pass, band stop, band pass
目錄
一、 前言 3
二、 課程設計的目的 3
三、 數字信號處理課程設計說明及要求 3
四、 濾波器的設計原理 4
4.1 數字濾波器簡介 4
4.2 IIR濾波器的設計原理 4
4.3 FIR濾波器的設計原理 5
4.4 FIR濾波器的窗函數設計法 6
五、 設計內容 6
5.1 設計題目: 6
5.2設計程序代碼及結果: 7
六、 結束語 15
七、 參考文獻 16
一、 前言
數字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學科而又廣泛應用於許多領域的新興學科。
隨著信息時代和數字世界的到來,數字信號處理已成為今一門極其重要的學科和技術領域。數字信號處理在通信語音、圖像、自動控制、雷達、軍事、航空航天、醫療和家用電器等眾多領域得到了廣泛的應用。在數字信號處理應用中,數字濾波器十分重要並已獲得廣泛應用。
二、 課程設計的目的
1)
三、 數字信號處理課程設計說明及要求
所需硬體:PC機
四、 濾波器的設計原理
4.1 數字濾波器簡介
數字濾波器是一種用來過濾時間離散信號的數字系統,通過對抽樣數據進行數學處理來達到頻域濾波的目的。可以設計系統的頻率響應,讓它滿足一定的要求,從而對通過該系統的信號的某些特定的頻率成分進行過濾,這就是濾波器的基本原理。如果系統是一個連續系統,則濾波器稱為模擬濾波器。如果系統是一個離散系統,則濾波器稱為數字濾波器。
信號 通過線性系統後,其輸出 就是輸入信號 和系統沖激響應 的卷積。除了 外, 的波形將不同於輸入波形 。從頻域分析來看,信號通過線性系統後,輸出信號的頻譜將是輸入信號的頻譜與系統傳遞函數的乘積。除非 為常數,否則輸出信號的頻譜將不同於輸入信號的頻譜,某些頻率成分 較大的模,因此, 中這些頻率成分將得到加強,而另外一些頻率成分 的模很小甚至為零, 中這部分頻率分量將被削弱或消失。因此,系統的作用相當於對輸入信號的頻譜進行加權。
4.2 IIR濾波器的設計原理
IIR數字濾波器的設計一般是利用目前已經很成熟的模擬濾波器的設計方法來進行設計,通常採用模擬濾波器原型有butterworth函數、chebyshev函數、bessel函數、橢圓濾波器函數等。
IIR數字濾波器的設計步驟:
(1) 按照一定規則把給定的濾波器技術指標轉換為模擬低通濾波器的技術指標;
(2) 根據模擬濾波器技術指標設計為響應的模擬低通濾波器;
(3) 很據脈沖響應不變法和雙線性不變法把模擬濾波器轉換為數字濾波器;
(4) 如果要設計的濾波器是高通、帶通或帶阻濾波器,則首先把它們的技術指標轉化為模擬低通濾波器的技術指標,設計為數字低通濾波器,最後通過頻率轉換的方法來得到所要的濾波器。
4.3 FIR濾波器的設計原理
FIR濾波器通常採用窗函數方法來設計。窗設計的基本思想是,首先選擇一個適當的理想選頻濾波器(它總是具有一個非因果,無限持續時間脈沖響應),然後街區(加窗)它的脈沖響應得到線性相位和因果FIR濾波器。我們用Hd(e^jw)表示理想的選頻濾波器,它在通帶上具有單位增益和線性相位,在阻帶上具有零響應。一個帶寬wc<pi的低通濾波器由下式給定:
為了從hd(n)得到一個FIR濾波器,必須同時在兩邊截取hd(n)。而要得到一個因果的線性相位濾波器,它的h(n)長度為N,必須有:
這種操作叫做加窗,h(n)可以看做是hd(n)與窗函數w(n)的乘積:
h(n)=hd(n)w(n)
其中
根據w(n)的不同定義,可以得到不同的窗結構。
在頻域中,因果FIR濾波器響應H(e^jw)由Hd(e^jw)和窗響應W(e^jw)的周期卷積得到,即
常用的窗函數有矩形窗、巴特利特(BARTLETT)窗、漢寧(HANNING)窗、海明(HAMMING)窗、布萊克曼(BLACKMAN)窗、凱澤(KAISER)窗等。
4.4 FIR濾波器的窗函數設計法
FIR濾波器的設計方法有許多種,如窗函數設計法、頻率采樣設計法和最優化設計法等。窗函數設計法的基本原理是用一定寬度窗函數截取無限脈沖響應序列獲得有限長的脈沖響應序列,主要設計步驟為:
(1) 通過傅里葉逆變換獲得理想濾波器的單位脈沖響應hd(n)。
(2) 由性能指標確定窗函數W(n)和窗口長度N。
(3) 求得實際濾波器的單位脈沖響應h(n), h(n)即為所設計FIR濾波器系數向量b(n)。
五、 設計內容
5.1 設計題目:
1-1.試用MATLAB設計一巴特沃斯低通數字濾波器,要求通帶截至頻率Wp=30HZ,主帶截至頻率為Ws=35HZ,通帶衰減不大於0.5DB,主帶衰減不小於40DB,抽樣頻Fs=100HZ。
1-2.基於Butterworth模擬濾波器原型,使用雙線性狀換設計數字濾波器:各參數值為:通帶截止頻率Omega=0.2*pi,阻帶截止頻率Omega=0.3*pi,通帶波動值Rp=1dB,阻帶波動值Rs=15dB,設Fs=20000Hz。
1-3設計一巴特沃斯高通數字濾波器,要求通帶截止頻率0.6*pi,通帶衰減不大於1dB,阻帶衰減15DB,抽樣T=1。
1-4.設計一巴特沃斯帶阻數字濾波器,要求通帶上下截至頻率為0.8*PI、0.2*PI,通帶衰減不大於1DB,阻帶上下截至頻率0.7*PI、0.4*PI 阻帶衰減不小於30DB,
2-1.用窗函數法設計一個線性相位FIR低通濾波器,並滿足性能指標:通帶邊界頻率
Wp=0.5*pi,阻帶邊界頻率Ws=0.66*pi,阻帶衰減不小於40dB,通帶波紋不大於3dB。選擇漢寧窗。
2-4.用海明窗設計一個FIR濾波器,其中Wp=0.2*pi,Ws=0.3*pi,通帶衰減不大於0.25dB,阻帶衰減不小於50dB。
5.2設計程序代碼及結果:
1-1一.試用MATLAB設計一巴特沃斯低通數字濾波器,要求通帶截至頻率Wp=30HZ,阻帶截至頻率為Ws=35HZ,通帶衰減不大於0.5DB,阻帶衰減不小於40DB,抽樣頻Fs=100HZ。
代碼為:
fp = 30;
fs = 35;
Fs = 100;
wp = 2*pi*fp/Fs;
ws = 2*pi*fs/Fs;
wp = tan(wp/2);
ws = tan(ws/2); % 通帶最大衰減為0.5dB,阻帶最小衰減為40dB
[N, wn] = buttord(wp, ws, 0.5, 40, 's'); % 模擬低通濾波器極零點
[z, p, k] = buttap(N); % 由極零點獲得轉移函數參數
[b, a] = zp2tf(z, p, k); % 由原型濾波器獲得實際低通濾波器
[B, A] = lp2lp(b, a, wp);
[bz, az] = bilinear(B, A, .5);
[h, w] = freqz(bz, az, 256, Fs);
figure
plot(w, abs(h))
grid on
圖1 巴特沃斯數字低通濾波器
1-2基於Butterworth模擬濾波器原型,使用雙線性狀換設計數字濾波器:各參數值為:通帶截止頻率Omega=0.2*pi,阻帶截止頻率Omega=0.3*pi,通帶波動值Rp=1dB,阻帶波動值Rs=15dB,設Fs=4000Hz。
代碼:
wp=0.2*pi;ws=0.3*pi;
Fs=4000;T=1/Fs;
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);
rp=1;rs=15;as=15;
ripple=10^(-rp/20);attn=10^(-rs/20);
[n,wn]=buttord(OmegaP,OmegaS,rp,rs,'s');
[z,p,k]=Buttap(n);
[b,a]=zp2tf(z,p,k);
[bt,at]=lp2lp(b,a,wn);
[b,a]=bilinear(bt,at,Fs);
[db,mag,pha,grd,w]=freqz_m(b,a);
%
%下面繪出各條曲線
subplot(2,2,1);plot(w/pi,mag);title('Magnitude Frequency幅頻特性');
xlabel('w(/pi)');ylabel('|H(jw)|');
axis([0,1,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);
set(gca,'YTickMode','manual','YTick',[0 attn ripple 1]);grid
subplot(2,2,2);plot(w/pi,db);title('Magnitude Frequency幅頻特性(db)');
xlabel('w(/pi)');ylabel('dB');
axis([0,1,-30,5]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);
set(gca,'YTickMode','manual','YTick',[-60 -as -rp 0]);grid
subplot(2,2,3);plot(w/pi,pha/pi);title('Phase Frequency相頻特性');
xlabel('w(/pi)');ylabel('pha(/pi)');
axis([0,1,-1,1]);
subplot(2,2,4);plot(w/pi,grd);title('Group Delay群延時');
xlabel('w(/pi)');ylabel('Sample');
axis([0,1,0,15]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);grid
運行結果:
圖2巴特沃思數字低通濾波器幅頻-相頻特性
1-3設計一巴特沃斯高通數字濾波器,要求通帶截止頻率0.6*pi,通帶衰減不大於1dB,阻帶衰減15DB,抽樣T=1。
Wp=0.6*pi;
Ws=0.4*pi;
Ap=1;
As=15;
[N,wn]=buttord(Wp/pi,Ws/pi,Ap,As); %計算巴特沃斯濾波器階次和截止頻率
%頻率變換法設計巴特沃斯高通濾波器
[db,mag,pha,grd,w]=freqz_m(b,a); %數字濾波器響應
plot(w,mag);
title('數字濾波器幅頻響應|H(ej\Omega)|')
圖3巴特沃斯數字高通濾波器
2-1用窗函數法設計一個線性相位FIR低通濾波器,並滿足性能指標:通帶邊界頻率
Wp=0.5*pi,阻帶邊界頻率Ws=0.66*pi,阻帶衰減不小於40dB,通帶波紋不大於3dB。選擇漢寧窗。
代碼:
wp =0.5*pi;
ws=0.66*pi;
wdelta =ws-wp;
N= ceil(8*pi/wdelta)
if rem(N,2)==0
N=N+1;
end
);
運行結果:
給分就給你個全的!
圖6低通FIR濾波器
六、 結束語
本次數字濾波器設計方法是基於MATLAB的數字濾波器的設計,是用學過的數字信號理論為依據,用MATLAB代碼來實現。課程設計過程中,通過IIR數字濾波器和FIR數字濾波器的設計實例,說明如何利用MATLAB來完成數字濾波器的設計。窗函數法中相位響應有嚴格的線性,不存在穩定性問題, 設計簡單。雙線性變換不會出現由於高頻部分超過折疊頻率而混淆到低頻部分去的現象,但會產生頻率混碟現象,使數字濾波器的頻響偏移模擬濾波器的頻響。由濾波器的頻譜圖和濾波前後的語音信號的頻譜圖對比可知本設計選用雙線性變換法設計的IIR濾波器比較好。在同樣的技術指標的要求下,IIR濾波器所要求的階數N也比較小,實現起來比較容易。
通過綜合運用數字信號處理的理論知識進行濾波器設計,通過理論推導得出相應結論,再利用 MATLAB 作為編程工具進行計算機實現,從而加深了對所學知識的理解,建立概念。對以前在課本上所學的東西有了更深入的理解和掌握。最後,無論做什麼課程設計,都需要要有一定的理論知識作為基礎,同時通過這次課程設計,我對於以前所學的數字信號處理知識有了更深的理解。
七、 參考文獻
1. 程佩青《數字信號處理教程》北京清華大學出版社2007年2月.
2. 趙知勁、劉順蘭《數字信號處理實驗》.浙江大學出版社.
3. S.K.Mitra.Digital Signal Processing:A Computer-Based Approach.
NewYork,NewYork:McGraw-Hill,thirded,2006.
4. 肖偉、劉忠等《 MATLAB程序設計與應用》清華大學出版社、北京交通大學出版社.
5. 胡良劍、孫曉君 《 MATLAB數學實驗》.高等教育出版社.
⑵ AVR單片機課程設計(ATmega16晶元):如何用ICCAVR設計 IIR數字低通濾波器
AVR單片機C語言開發入門指導(強烈推薦),內容涉及各種avr的編譯器,一本書就可以學會ICC,CVA,IAR,GCC,等avr的編專譯器了,並且全面講屬解了c語言的單片機編程知識。
AVR單片機嵌入式系統原理與應用實踐(馬朝老師寫的很好的教材,內容實用廣泛,會很好培養你的軟硬體設計能力),這本書是以cva編譯器為背景編寫的,並且配套的光碟收錄了所有書中的程序,還有大量技術資料。
還有很多,本人覺得你把這兩本書吃透,就可以橫掃avr單片機陣營了。
關於編譯器的選擇,我認為ICC的很好,實用方便,建議你下載ICC 7.22版的。
不要在選擇編譯器上猶豫不決,也不要學一種還不精通又去學別的編譯器,他們編程方法都類似,本人從零學ICC,到設計出3000行代碼的程序,並且穩定運行,用了3個月的時間。執著和刻苦鑽研是不可少的。
要把學單片機作為設計項目的一部分來做,邊學邊用,我有電子版的圖書,需要請加47074468,無償提供。
⑶ 利用MATLAB做切比雪夫帶阻IIR濾波器設計報告
一、數字濾波器數字濾波器是對數字信號實現濾波的線性時不變系統。數字濾波實質上是一種運算過程,實現對信號的運算處理。輸入數字信號(數字序列)通過特定的運算轉變為輸出的數字序列,因此,數字濾波器本質上是一個完成特定運算的數字計算過程,也可以理解為是一台計算機。描述離散系統輸出與輸入關系的卷積和差分方程只是給數字信號濾波器提供運算規則,使其按照這個規則完成對輸入數據的處理。時域離散系統的頻域特性: ,其中 、 分別是數字濾波器的輸出序列和輸入序列的頻域特性(或稱為頻譜特性), 是數字濾波器的單位取樣響應的頻譜,又稱為數字濾波器的頻域響應。輸入序列的頻譜 經過濾波後 ,因此,只要按照輸入信號頻譜的特點和處理信號的目的, 適當選擇 ,使得濾波後的 滿足設計的要求,這就是數字濾波器的濾波原理。數字濾波器根據其沖激響應函數的時域特性,可分為兩種,即無限長沖激響應(IIR)數字濾波器和有限長沖激響應(FIR)數字濾波器。IIR 數字濾波器的特徵是,具有無限持續時間沖激響應,需要用遞歸模型來實現,其差分方程為: 系統函數為: 設計IIR濾波器的任務就是尋求一個物理上可實現的系統函數H(z),使其頻率響應H(z)滿足所希望得到的頻域指標,即符合給定的通帶截止頻率、阻帶截止頻率、通帶衰減系數和阻帶衰減系數。二、IIR數字濾波器設計方法IIR數字濾波器是一種離散時間系統,其系統函數為假設M≤N,當M>N時,系統函數可以看作一個IIR的子系統和一個(M-N)的FIR子系統的級聯。IIR數字濾波器的設計實際上是求解濾波器的系數 和 ,它是數學上的一種逼近問題,即在規定意義上(通常採用最小均方誤差准則)去逼近系統的特性。如果在S平面上去逼近,就得到模擬濾波器;如果在z平面上去逼近,就得到數字濾波器。1.用脈沖相應不變法設計IIR數字濾波器 利用模擬濾波器來設計數字濾波器,也就是使數字濾波器能模仿模擬濾波器的特性,這種模仿可以從不同的角度出發。脈沖響應不變法是從濾波器的脈沖響應出發,使數字濾波器的單位脈沖響應序列h(n)模仿模擬濾波器的沖激響應ha(t),即將ha(t)進行等間隔采樣,使h(n)正好等於ha(t)的采樣值,滿足h(n)=ha(nT)式中,T是采樣周期。如果令Ha(s)是ha(t)的拉普拉斯變換,H(z)為h(n)的Z變換,利用采樣序列的Z變換與模擬信號的拉普拉斯變換的關系得
(1-1)則可看出,脈沖響應不變法將模擬濾波器的S平面變換成數字濾波器的Z平面,這個從s到z的變換z=esT是從S平面變換到Z平面的標准變換關系式。
圖1-1脈沖響應不變法的映射關系 由(1-1)式,數字濾波器的頻率響應和模擬濾波器的頻率響應間的關系為(1-2) 這就是說,數字濾波器的頻率響應是模擬濾波器頻率響應的周期延拓。正如采樣定理所討論的,只有當模擬濾波器的頻率響應是限帶的,且帶限於折疊頻率以內時,即
⑷ IIR數字濾波器設計及軟體實現
你這個是課程設計要求
還是畢業設計
要求
你的要談清晰
這樣我才好幫到你的
⑸ 基於雙線性變換法的IIR數字巴特沃思帶通濾波器設計
作業自己做吧,給你個低通的參考下
設計原理:巴特沃斯模擬低通濾波器的特性完內全由3dB截止頻率Wc和階數N兩個參數決定容,參數Wc和N由所給的通帶截止頻率Wp,阻帶截止頻率Ws,通帶最大衰減Rp,阻帶最小衰減Rs決定,巴特沃斯模擬低通濾波器系統函數經計算可得。
Matlab源程序:
Wp=4;Ws=6;Rp=10;Rs=30;
[N,Wc]=buttord(Wp,Ws,Rp,Rs,'s');
[B,A]=butter(N,Wc,'s');
W=0:0.0005:10;
[H,W]=freqs(B,A,W);
H=20*log10(abs(H));
plot(W,H);grid ;
title('IIR濾波器幅度響應')
xlabel;ylabel;
⑹ 基於IIR的語音信號濾波——[DSP課程設計]
這個課程我喜歡啊