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

📄 samp5_13.m

📁 MATLAB7.x数字信号处理 光盘内容
💻 M
字号:
%Samp5_13
N=5;Rp=3;f1=100;f2=500;  %滤波器阶数、边界频率(Hz)
w1=2*pi*f1;w2=2*pi*f2;    %边界频率(rad/s)
[z,p,k]=cheb1ap(N,Rp);   %设计Chebyshev I型原型低通滤波器
[b,a]=zp2tf(z,p,k);  %转换为传递函数形式
Wo=sqrt(w1*w2);    %中心频率
Bw=w2-w1;    %频带宽度
[bt,at]=lp2bp(b,a,Wo,Bw);   %频率转换
[h,w]=freqs(bt,at);    %计算复数频率响应
figure(1)
subplot(2,2,1),semilogy(w/2/pi,abs(h));   %绘制幅频响应
xlabel('频率/Hz');grid on;title('幅频图');
subplot(2,2,2),plot(w/2/pi,angle(h)*180/pi);%绘制相频响应
xlabel('频率/Hz');
ylabel('相位/^o');grid on;title('相频图')
H=[tf(bt,at)];  %在MATLAB中表示此滤波器
[h1,t1]=impulse(H);  %绘出系统的脉冲响应图
subplot(2,2,3),plot(t1,h1);xlabel('时间/s');title('脉冲响应')
[h2,t2]=step(H);     %绘出系统的阶跃响应图
subplot(2,2,4),plot(t2,h2);xlabel('时间/s');title('阶跃响应')
figure(2)
dt=1/2000;
t=0:dt:0.1;    %给出模拟滤波器输出的时间范围
u=sin(2*pi*30*t)+0.5*cos(2*pi*300*t)+2*sin(2*pi*800*t);  %模拟输入信号
subplot(2,2,1),plot(t,u)  %绘制模拟输入信号
xlabel('时间/s');title('输入信号')   
[ys,ts]=lsim(H,u,t);   %模拟系统的输入u时的输出
subplot(2,2,2),plot(ts,ys)  %绘制模拟输出信号
xlabel('时间/s'),title('输出信号');  
subplot(2,2,3),plot((0:length(u)-1)/(length(u)*dt),abs(fft(u))*2/ length(u));%绘输入信号振幅谱
title('输入信号振幅谱'),xlabel('频率/Hz')
Subplot(2,2,4),
Y=fft(ys);
plot((0:length(Y)-1)/(length(Y)*dt),abs(Y)*2/length(Y)); %绘制输出信号振幅谱
title('输出信号振幅谱')
xlabel('频率/Hz')

⌨️ 快捷键说明

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