數字訊號處理實驗報告書 實驗四

2022-08-22 04:18:04 字數 4880 閱讀 8736

實驗報告

課程名稱: 數字訊號處理

實驗題目: 實驗四模擬原型濾波器的設計

院系: 物理與電子資訊系

班級:姓名學號

指導教師

實驗時間: 2023年 12月12日

實驗四模擬原型濾波器的設計

一、實驗目的

● 學會運用matlab設計模擬低通濾波器原型的設計方法。

二、實驗原理

由於iir數字濾波器是在已知的歸一化的低通模擬濾波器的基礎上設計的,主要包括巴特沃斯低通濾波器、切比雪夫低通濾波器、橢圓低通濾波器,因此把這些低通濾波器稱為濾波器原型。

三、實驗內容及結果

設計乙個模擬原型低通濾波器,通帶截止頻率為6khz,通帶最大衰減為1db,阻帶截止頻率為15khz,阻帶最小衰減為30db。要求:分別實現符合以上指標的巴特沃斯濾波器、切比雪夫i型濾波器、橢圓濾波器,繪製幅頻特性、幅頻特性分布圖、相頻特性、零極點分布圖,並列寫系統函式表示式,注意:

是所求系統的系統函式,而不是歸一化的系統函式。

1、 巴特沃斯模擬原型低通濾波器

matlab源程式與執行結果圖形:

fp=6000;wp=2*pi*fp %輸入濾波器的通帶截止頻率

fs=15000;ws=2*pi*fs %輸入濾波器的阻帶截止頻率

rp=1;as=30輸入濾波器的通阻帶衰減指標

%計算濾波器的階數和3db截止頻率

[n,wc]=buttord(wp,ws,rp,as,'s')

%計算n階模擬低通原型

[z0,p0,k0]=buttap(n) %字母後加0表明這是原型濾波器的各指標,而不是所求的濾波器的

b0=k0*poly(z0) %求歸一化濾波器分子係數b0

a0=poly(p0求歸一化濾波器分母係數a0

[h,w]=freqs(b0,a0); %求歸一化系統的頻率特性

dbh=20*log10(abs(h)/max(abs(h))); %將歸一化系統的幅頻特性化為分貝值,注意此時的分貝值為負的,為了使分貝圖和幅頻響應圖一致

subplot(2,2,1),plot(w*wc/(2*pi),abs(h)),grid %畫所求濾波器的幅頻響應圖

axis([0,20000,0,1.1]);ylabel('幅度');xlabel('f(hz)');

subplot(2,2,2),plot(w*wc/(2*pi),angle(h)),grid %畫所求濾波器的相頻響應圖

axis([0,20000,-4,4]);ylabel('相位');xlabel('f(hz)');

subplot(2,2,3),plot(w*wc/(2*pi),dbh),grid %畫所求濾波器的幅頻響應分貝圖

axis([0,20000,-30,2]);

ylabel('幅度(db)');xlabel('f(hz)');

subplot(2,2,4),plot(p0*wc,'x'); %畫所求濾波器的極點圖,用x號標出

axis square,axis equal,grid on %使x、y軸等比例顯示

%以下程式可不寫

wx0=[wp,ws]/wc; %設定頻率向量

hx=freqs(b0,a0,wx0計算通帶阻帶該兩點的頻率特性,即h(jwp)、h(jws)

dbhx=-20*log10(abs(hx)/max(abs(h))) %將h(jwp)、h(jws)化為分貝值,即通帶最大衰減 、阻帶最小衰減

wp =

3.7699e+004

ws =

9.4248e+004

n = 5

wc =

4.7241e+004

z0 =

p0 =

-0.3090 + 0.9511i

-0.3090 - 0.9511i

-0.8090 + 0.5878i

-0.8090 - 0.5878i

-1.0000

k0 =

1b0 =

1a0 =

1.0000 3.2361 5.2361 5.2361 3.2361 1.0000

dbhx =

0.4327 30.0000

系統函式:

2、 切比雪夫i型模擬原型低通濾波器

matlab源程式與執行結果圖形:

fp=6000;wp=2*pi*fp %輸入濾波器的通帶截止頻率

fs=15000;ws=2*pi*fs %輸入濾波器的阻帶截止頻率

rp=1;as=30輸入濾波器的通阻帶衰減指標

%計算濾波器的階數和通帶截止頻率

[n,wp]=cheb1ord(wp,ws,rp,as,'s')

%計算n階模擬低通原型,得到左半平面零極點

[z0,p0,k0]=cheb1ap(n,rp)

b0=k0*poly(z0) %求濾波器係數b0

a0=poly(p0求濾波器係數a0

[h,w]=freqs(b0,a0); %求系統的頻率特性

dbh=20*log10(abs(h)/max(abs(h))); %化為分貝值

subplot(2,2,1),plot(w*wp/(2*pi),abs(h),'k'),grid

axis([0,20000,0,1.1]);

ylabel('幅度');xlabel('f(hz)');

subplot(2,2,2),plot(w*wp/(2*pi),angle(h),'k'),grid

axis([0,20000,-4,4]);

ylabel('相位');xlabel('f(hz)');

subplot(2,2,3),plot(w*wp/(2*pi),dbh,'k'),grid

axis([0,20000,-50,2]);

ylabel('幅度(db)');xlabel('f(hz)');

subplot(2,2,4),plot(p0*wp,'xk') %顯示系統的極點分布

axis square,axis equal,grid on %使x,y軸等比例顯示

wx0=[wp,ws]/wp; %設定頻率向量

hx=freqs(b0,a0,wx0); %計算該兩點的頻率特性

dbhx=-20*log10(abs(hx)/max(abs(h))) %化為分貝值

wp =

3.7699e+004

ws =

9.4248e+004

n = 4

wp =

3.7699e+004

z0 =

p0 =

-0.1395 + 0.9834i

-0.3369 + 0.4073i

-0.3369 - 0.4073i

-0.1395 - 0.9834i

k0 =

0.2457

b0 =

0.2457

a0 =

1.0000 0.9528 1.4539 0.7426 0.2756

dbhx =

0.9998 42.5474

系統函式:

3、 橢圓模擬原型低通濾波器

matlab源程式與執行結果圖形:

fp=6000;wp=2*pi*fp %輸入濾波器的通帶截止頻率

fs=15000;ws=2*pi*fs %輸入濾波器的阻帶截止頻率

rp=1;as=30輸入濾波器的通阻帶衰減指標

%計算濾波器的階數和通帶截止頻率

[n,wn]=ellipord(wp,ws,rp,as,'s') %當不知道對哪個頻率歸一化時,用wn表示,最後在相應的指標處去除歸一化即可

%計算n階模擬低通原型,得到左半平面零極點

[z0,p0,k0]=ellipap(n,rp,as)

b0=k0*poly(z0) %求濾波器係數b0

pb=poly2str(b0,'s') %給出b0決定的關於s多項式

a0=poly(p0) %求濾波器係數a0

pa=poly2str(a0,'s') %給出a0決定的關於s多項式

[h,w]=freqs(b0,a0); %求系統的頻率特性

dbh=20*log10(abs(h)/max(abs(h))); %化為分貝值

subplot(2,2,1),plot(w*wn/(2*pi),abs(h)),grid %去除歸一化

axis([0,20000,-0.1,1.1]);

ylabel('幅度');xlabel('f(hz)');

subplot(2,2,2),plot(w*wn/(2*pi),angle(h)),grid %去除歸一化

axis([0,20000,-4,4]);

ylabel('相位');xlabel('f(hz)');

subplot(2,2,3),plot(w*wn/(2*pi),dbh),grid

axis([0,20000,-100,2]);

ylabel('幅度(db)');xlabel('f(hz)');

subplot(2,2,4),pzmap(b0,a0); %此為歸一化原型濾波器的零極點,不是所求濾波器的零極點

wx0=[wp,ws]/wn; %設定頻率向量

hx=freqs(b0,a0,wx0); %計算該兩點的頻率特性

dbhx=-20*log10(abs(hx)/max(abs(h))) %化為分貝值

wp =

3.7699e+004

ws =

9.4248e+004

n = 3

wn =

3.7699e+004

z0 =

0 - 1.9535i

數字訊號處理實驗報告

實驗一訊號 系統及系統響應 一 實驗目的 1 熟悉連續訊號經理想取樣前後的頻譜變化關係,加深對時域取樣定理的理解 2 熟悉時域離散系統的時域特性 3 利用卷積方法觀察分析系統的時域特性 4 掌握序列傅利葉變換的計算機實現方法,利用序列的傅利葉變換對連續訊號 離散訊號及系統響應進行頻域分析。二 實驗原...

數字訊號處理實驗報告

一 實驗目的 1.複習和鞏固數字訊號處理中離散訊號的產生和運算 2.學習和掌握用matlab產生離散訊號的方法 3.學習和掌握用matlab對離散訊號進行運算 二 實驗原理 1 用matlab函式產生離散訊號 訊號是數字訊號處理的最基本內容。沒有訊號,數字訊號處理就沒了工作物件。matlab7.0內...

數字訊號處理實驗報告

山東建築大學實驗報告 課程 數字訊號處理 院 部 資訊與電氣工程學院 專業 電子資訊工程 班級 電信112 學生姓名 王丙全 學號 2011081245 指導老師 耿淑娟 完成時間 2013.11.08 山東建築大學實驗報告 學院 資訊與電氣工程學院班級電信112 姓名 王丙全學號 20110812...