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

📄 ms25_4.m

📁 《数字信号处理实验(MATLAB版)》这
💻 M
字号:
%频率采样法设计高通(2点过渡带)
N=29;T1=0.5886;T2=0.1065;                %输入设计数据
n=0:N-1;wc=0.55*pi;                      %输入截止频率
N1=fix(wc/(2*pi/N));                     %样点间隔为2*pi/N,N1为wc的样点数
N2=N-2*N1-1;                             %N2为通带样点数
A=[zeros(1,N1-1),T2,T1,ones(1,N2),T1,T2,zeros(1,N1-2)]; %建立符幅特性样本序列
theta=-pi*(N-1)/N*[0:N-1];               %建立相位特性样本序列 
Hk=A.*exp(j*theta);                      %建立频率特性样本序列
h=real(ifft(Hk));                        %由反变换求脉冲序列,去掉运算误差造成的虚部
[db,mag,pha,grd,w]=freqz_m(h,1);         %由脉冲序列求得频率特性
dw=2*pi/1000;                            %dw为频率分辨率,将0~2π分为1000份
ws= 2*pi/N*fix(wc/(2*pi/N)-2);           %确定ws的位置
As=-round(max(db(1:fix(ws/dw)+1)))              %检验最小阻带衰减
wp=ws+3*2*pi/N;                          %确定wp的位置
Rp=-(min(db(fix(wp/dw)+1:501)))          %检验通带波动
m=(N-1)/2;wa=[0:m-1]/m;                  %为作图求0-1π的样点数,建立对应的频率向量
subplot(2,2,1),plot(wa,A(1:m),'.-',w/pi,mag,'k');
axis([0,1,-0.1,1.1]);title('理想幅频、样点序列及实际滤波器幅频响应');
xlabel('频率(单位:\pi)');ylabel('H(e^{j\omega})');
set(gca,'XTickMode','manual','XTick',[0,ws/pi,wp/pi,1]);
set(gca,'YTickMode','manual','YTick',[0,T2,T1,1]);grid
subplot(2,2,3),plot(w/pi,db,'k');
axis([0,1,-100,1.2]);title('实际滤波器幅频响应(dB)');
xlabel('频率(单位:\pi)');ylabel('G(dB)');
set(gca,'XTickMode','manual','XTick',[0,ws/pi,wp/pi,1]);
set(gca,'YTickMode','manual','YTick',[-55,-20,0]);grid
subplot(2,2,2),stem(n,h,'k');
title('滤波器脉冲响应');
xlabel('n');ylabel('h(n)');
subplot(2,2,4),plot(w/pi,pha,'k');
axis([0,1,-4,4]);title('实际滤波器相频响应');
xlabel('频率(单位:\pi)');ylabel('\phi(\omega');
set(gca,'XTickMode','manual','XTick',[0,ws/pi,wp/pi,1]);
set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid



⌨️ 快捷键说明

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