?? hc837.m
字號:
%《數字信號處理教程——MATLAB釋義與實現》第八章例8.3.7程序hc837
% 雙線性變換法由切貝雪夫II原型變為數字濾波器
% 電子工業出版社出版 陳懷琛編著 2004年9月
%
% 數字濾波器指標:
wp = 0.2*pi; % 數字通帶頻率(弧度)
ws = 0.3*pi; % 數字阻帶頻率(弧度)
Rp = 1; % 通帶波動(dB)
As = 15; % 阻帶衰減(dB)
% 模擬原型指標的頻率逆映射
T = 0.001; Fs = 1/T; % 置 T=0.001
OmegaP = (2/T)*tan(wp/2); % 原型通帶頻率預修正
OmegaS = (2/T)*tan(ws/2); % 原型阻帶頻率預修正
ep = sqrt(10^(Rp/10)-1); % 通帶波動參數
Ripple = sqrt(1/(1+ep*ep)); % 通帶波動
Attn = 1/(10^(As/20)); % 阻帶衰減
% 模擬切貝雪夫II原型濾波器計算:
[N,OmegaC] = cheb2ord(OmegaP,OmegaS,Rp,As,'s'); % 原型的階數和截止頻率計算
%%***切貝雪夫I濾波器階次 = 6
[z0,p0,k0] = cheb2ap(N,As); % 歸一化切貝雪夫II原型設計函數
ba0 = k0*real(poly(z0)); % 由零點計算分子系數向量
aa0 = real(poly(p0)) % 由極點計算分母系數向量
% 雙線性變換:
[bd,ad] = bilinear(ba0,aa0,Fs/OmegaC); % 雙線性變換:
[sos,G] = tf2sos(bd,ad) % 變為二階環節級聯結構
% 繪圖
figure(1); subplot(1,1,1)
[db,mag,pha,grd,w] = myfreqz(bd,ad); % 檢驗頻率響應
subplot(2,2,1); plot(w/pi,mag); title('幅度響應')
xlabel(''); ylabel('|H|'); axis([0,1,0,1.1])
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,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(''); 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
set(gcf,'color','w') % 置圖形背景色為白
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -