⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex082800.m

📁 数字信号处理的matlab实现代码 对电子信息专业同学的学习很有帮助
💻 M
字号:
% 第八章: 例 8.28
%            切比雪夫-1高通滤波器设计
%                 CHEBY1函数的应用
%
% 数字低通滤波器指标:            % 切比雪夫-1型高通:
ws = 0.4586*pi;                         % 数字阻带边缘频率
wp = 0.6*pi;                            % 数字通带边缘频率
Rp = 1;                                 % 通带波动(dB) 
As = 15;                                % 阻带衰减(dB) 
Ripple = 10 ^ (-Rp/20);                 % 通带波动
Attn = 10 ^ (-As/20);                   % 阻带衰减

% 计算切比雪夫-1滤波器参数
[N,wn] = cheb1ord(wp/pi,ws/pi,Rp,As);

% 数字切比雪夫-1高通滤波器设计:
[b,a] = cheby1(N,Rp,wn,'high');

% 级联型式实现:
[b0,B,A] = dir2cas(b,a)
%%b0 = 0.0243
%%B = 1.0000   -1.9991    0.9991
%%    1.0000   -2.0009    1.0009
%%A = 1.0000    1.0416    0.4019
%%    1.0000    0.5561    0.7647

% 绘图:
figure(1); subplot(1,1,1)
[db,mag,pha,grd,w] = freqz_m(b,a);
subplot(2,2,1);plot(w/pi,mag);grid;title('幅度响应')
xlabel(''); axis([0,1,0,1])
set(gca,'XTickMode','manual','XTick',[0;ws/pi;wp/pi;1])
set(gca,'XTickLabelMode','manual','XTickLabels',['  0 ';'0.46';'0.6 ';'  1 '])
set(gca,'YTickMode','manual','YTick',[0;Attn;Ripple;1])
subplot(2,2,3);plot(w/pi,db);grid;title('幅度(单位:dB)')
xlabel('数字频率(单位:pi)'); axis([0,1,-30, 0]);
ylabel('分贝数')
set(gca,'XTickMode','manual','XTick',[0;ws/pi;wp/pi;1])
set(gca,'XTickLabelMode','manual','XTickLabels',['  0 ';'0.46';'0.6 ';'  1 '])
set(gca,'YTickMode','manual','YTick',[-30;-As;-Rp;0])
set(gca,'YTickLabelMode','manual','YTickLabels',['30';'15';' 1';' 0'])
subplot(2,2,2);plot(w/pi,pha/pi);grid;title('相位响应')
xlabel('');ylabel('相位(单位:pi)'); axis([0,1,-1,1])
set(gca,'XTickMode','manual','XTick',[0;ws/pi;wp/pi;1])
set(gca,'XTickLabelMode','manual','XTickLabels',['  0 ';'0.46';'0.6 ';'  1 '])
subplot(2,2,4);plot(w/pi,grd);grid;title('群延迟')
xlabel('数字频率(单位:pi)');
ylabel('延迟(单位:样本数)')
set(gca,'XTickMode','manual','XTick',[0;ws/pi;wp/pi;1])
set(gca,'XTickLabelMode','manual','XTickLabels',['  0 ';'0.46';'0.6 ';'  1 '])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -