稳态响应是在本科,更确切地说是在考研时候经常接触的,例如电路基础、信号与系统中就常有稳态响应这个词。
今天在补习MATLAB数字信号处理时,突然碰到稳态响应,一脸懵逼,感觉并不理解什么是稳态响应了,也许之前也没有懂过吧。
百度百科对概念进行了解释:
稳态响应是指当足够长的时间之后,系统对于固定的输入,有了一个较为稳定的输出。
在某一输入信号的作用后,时间趋于无穷大时系统的输出状态称为稳态。
下面就一起来体会这个稳态响应吧。
LTI 系统对复指数信号的响应
就已经说明了线性时不变系统对于复指数信号的响应,简单地说,输入序列经过线性时不变系统之后的响应就是在该频率处的系统频率响应乘以该复指数信号。
即,如果系统的频率响应为
,
经过系统的响应如下:
对正弦序列的响应
设输入序列为
系统的频率响应为:
正弦序列可以表示成复指数序列之和,这样就可以利用LTI系统对复指数序列的响应,求得LTI系统对正弦序列的响应。如下:
这就得到了如下结论:
LTI系统对正弦序列的响应是相同频率w0的另一个正弦序列,其幅值被
所倍增,而相位则相移
,即
这个响应称为稳态响应,用
表示。
案例1
求由脉冲响应
所表征的系统频率响应
,画出幅度和相位响应。
题解:
很简单,根据DTFT的公式就可以直接求出该脉冲响应的离散时间傅里叶变换:
MATLAB脚本如下:
clc
clear
close all
k = 0:500;
w = (pi/500)*k;
X = exp(j*w)./( exp(j*w) - 0.9*ones(1,501) );
magX = abs(X);
angX = angle(X);
realX = real(X);
imagX = imag(X);
subplot(2,1,1);
plot(w/pi,magX);
title('Magnitude Part');
xlabel('w/pi');ylabel('Magnitude');
grid
subplot(2,1,2);
plot(w/pi,angX);
title('Angle Part');
xlabel('w/pi');ylabel('Radians');
grid
系统的频率响应求出来了,那么现在的这个案例就是给定一个输入,求其稳态响应。
案例2
案例1的系统,输入是0.1u(n),求稳态响应
题解:
在稳态,输入是一常数序列(或者
的正弦序列),然后输出是:
案例3
一LTI系统由下面的差分方程表征:
y(n)=0.8y(n-1)+x(n)
1.求频率响应
2.对输入
计算并画出稳态响应
题解:
1.由差分方程求解频率响应太好求了,分子分母系数都给出了,可以直接写出频率响应,如果在z变换中成为有理转移函数。
这里直接给出频率响应:
2.在稳态下,输入是
,其频率为
,系统的频率响应应该是:
因此,
也就是说,在输出端该正弦被放大了4.0928倍,移位了3.42个样本。
下面用MATLAB脚本验证:
clc
clear
close all
b = 1;
a = [1,-0.8];
n = [0:100];
x = cos(0.05*pi*n);
y = filter(b,a,x);
subplot(2,1,1)
stem(n,x);
title('Input sequence')
xlabel('n');ylabel('x(n)');
subplot(2,1,2)
stem(n,y);
title('Output sequence');
xlabel('n');ylabel('y(n)');
可见,幅度和相位都变化了。
最后,关于filter函数的介绍见博文:
本文同步分享在 博客“李锐博恩”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)