%MATLAB 求解离散系统零状态响应
R=51;
d =rand(1,R)-0.5;% 生成随机信号(噪音)
k =0:R-1;
s =2*k.*(0.9.^k);
f = s+d;% 输入信号
subplot(2,1,1);stem(k,f,'.');legend('y[k]');% 添加图例
M=5;% 滤波器窗长
b =ones(M,1)/M;
a =1;
y =filter(b,a,f);% filter 函数求解离散信号的零状态响应
% 其中a=[a0,a1,a2……],b=[b0,b1,b2……]分别是差分方程左右的系数向量,f为输入序列,y为系统零状态响应
subplot(2,1,2);stem(k,y,'.');legend('f[k]');% 添加图例
7.求解单位脉冲响应
%MATLAB 求解单位脉冲响应
k =0:10;
a =[132];
b =[1];
h =impz(b,a,k);% impz 函数求解单位脉冲响应
% 其中a=[a0,a1,a2……],b=[b0,b1,b2……]分别是差分方程左右的系数向量,k为输出序列取值范围,h为系统单位脉冲响应
stem(k,h,'.');
%MATLAB 求解系统响应(频域)
t =0:pi/100:4*pi;
b =[-11];% 频率响应函数的分子
a =[11];% 频率响应函数的分母
ft =sin(t)+sin(3*t);% 输入信号
yt =lsim(b,a,ft,t);% 求解响应
plot(t,ft,'b');
hold on;% hold on 将该图保留,使它不被后面的图所覆盖
plot(t,yt,'r');
grid on;% 添加网格线
legend('ft','yt')% 添加图例