?? ex4_8.m
字號:
% 脈沖不變法變換
% 巴特沃思低通濾波器設計
%
% 數字濾波器指標:
wp = 0.2*pi; % 數字通帶頻率(弧度)
ws = 0.3*pi; % 數字阻帶頻率(弧度)
Rp = 1; % 通帶波動(dB)
As = 15; % 阻帶衰減(dB)
% 模擬原型指標對頻率的逆映射
T = 1; % 置 T=1
OmegaP = wp * T; % 原型通帶頻率
OmegaS = ws * T; % 原型阻帶頻率
ep = sqrt(10^(Rp/10)-1); % 通帶波動參數
Ripple = sqrt(1/(1+ep*ep)); % 通帶波動
Attn = 1/(10^(As/20)); % 阻帶衰減
% 模擬巴特沃思原型濾波器計算:
[cs,ds] = afd_butt(OmegaP,OmegaS,Rp,As);
%%***巴特沃思濾波器階次 = 6
% 脈沖恒定變換:
[b,a] = imp_invr(cs,ds,T);
[C,B,A] = dir2par(b,a)
%%C = []
%%B = 1.8557 -0.6304
%% -2.1428 1.1454
%% 0.2871 -0.4466
%%A = 1.0000 -0.9973 0.2570
%% 1.0000 -1.0691 0.3699
%% 1.0000 -1.2972 0.6949
% 繪圖
figure(1); subplot(1,1,1)
[db,mag,pha,grd,w] = freqz_m(b,a);
subplot(2,2,1); plot(w/pi,mag); title('幅度響應')
xlabel('頻率(單位:pi)'); ylabel('|H|'); 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,3); plot(w/pi,db); title('幅度(單位:dB)');
xlabel('頻率(單位:pi)'); ylabel('分貝'); axis([0,1,-40,5]);
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);
set(gca,'YTickmode','manual','YTick',[-50,-15,-1,0]); grid
set(gca,'YTickLabelMode','manual','YTickLabels',['50';'15';' 1';' 0'])
subplot(2,2,2); plot(w/pi,pha/pi); title('相位響應')
xlabel('頻率(單位:pi)'); ylabel('單位:pi '); axis([0,1,-1,1]);
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);
set(gca,'YTickmode','manual','YTick',[-1,0,1]); grid
subplot(2,2,4); plot(w/pi,grd); title('群延遲')
xlabel('頻率(單位:pi)'); ylabel('樣本'); axis([0,1,0,10])
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);
set(gca,'YTickmode','manual','YTick',[0:2:10]); grid
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -