【信号处理工具箱】— 线性时不变系统

目录

 

1、时域响应

2、连续LTI系统的零输入响应函数initial

3、离散系统的零输入响应函数dinitial

4、滤波函数filter 


1、时域响应

 当一个系统是线性时不变系统时,则输出可由输入与单位冲激响应卷积来表示,连续LTI系统响应为:

                                                        y(t)=x(t)*h(t)=\int_{-\infty }^{+\infty }x(\tau )h(t-\tau )d\tau

 离散LTI系统响应为:

                                                       y(n)=x(n)*h(n)=\sum_{m=-\infty }^{+\infty }x(m)h(n-m)

  然后MATLAB中提供了卷积函数conv。

 例1:某LTI系统的单位冲激响应为:h(t)=e^{-0.2t},输入哈哈x(t)=\left\{\begin{matrix} 2,x\geq 0\\ 0,x< 0 \end{matrix}\right.,起始条件为0,求系统的响应y(t)。

clear
clc
dt=input('输入时间间隔 dt=');
x=2*ones(1,fix(10/dt));%fix函数为朝0方向最近值,取整数
h=exp(-0.5*[0:fix(10/dt)]*dt);
y=conv(x,h);
t=dt*([1:length(y)]-1);
plot(t,y)
grid 

 例2: 某LTI系统的单位冲激响应为:h[n]=3^{n},(n=0,1,2,3...14),求输入信号为序列x[n]=2,(-5\leqslant n\leqslant 4)的系统响应。

clear
clc
x=2*ones(1,10);
n=[0:14];
h=2.^n;
y=conv(x,h);
stem(y);
xlabel('n');
ylabel('y[n]');

2、连续LTI系统的零输入响应函数initial

 格式为:[y,t,x]=initial(a,b,c,d,x0)

 计算出连续时间LTI系统由于初始状态x0所引起的零输入响应y,x为状态记录,t为仿真所用的时间间隔。

 例3:二价系统如下:

                                                              \begin{bmatrix} x_{1}^{'}\\ x_{2}^{'} \end{bmatrix}=\begin{bmatrix} -0.6 &-0.8 \\ 0.9& 0 \end{bmatrix}\begin{bmatrix} x_{1}\\ x_{2} \end{bmatrix}+\begin{bmatrix} 1\\ 0 \end{bmatrix}u

                                                                                 y=\begin{bmatrix} 2 & 7 \end{bmatrix}\begin{bmatrix} x_{1}\\ x_{2} \end{bmatrix} 

  当初始状态x(0)=\begin{bmatrix} 1\\ 0 \end{bmatrix},求系统零输入响应。

clear
clc
a=[-0.6 -0.8;0.9 0];
b=[1;0];
c=[2 7];
d=[0];
x0=[1;0];
t0=0:0.1:20;
initial(a,b,c,d,x0,t0);
grid
title('LTI系统零输入响应曲线');

3、离散系统的零输入响应函数dinitial

 格式为:[y,x,n]=dinitial(a,b,c,d,x0)

 计算出离散时间LTI系统由于初始状态x0所引起的零输入响应y,x为状态响应,n为仿真所用的点数。

 例4:二价系统如下:

                                                              \begin{bmatrix} x_{1}[n+1]\\ x_{2}[n+1] \end{bmatrix}=\begin{bmatrix} -0.6 &-0.8 \\ 0.9& 0 \end{bmatrix}\begin{bmatrix} x_{1}[n]\\ x_{2}[n] \end{bmatrix}+\begin{bmatrix} 1\\ 0 \end{bmatrix}u[n]

                                                                                 y[n]=\begin{bmatrix} 2 & 7 \end{bmatrix}\begin{bmatrix} x_{1}[n]\\ x_{2}[n] \end{bmatrix} 

  当初始状态x(0)=\begin{bmatrix} 1\\ 0 \end{bmatrix},求系统零输入响应。

clear
clc
a=[-0.6 -0.8;0.9 0];
b=[1;0];
c=[2 7];
d=[0];
x0=[1;0];
dinitial(a,b,c,d,x0);
title('离散系统零输入响应曲线');

4、滤波函数filter 

从频域角度上来说,无论是连续或离散LTI系统,系统对于输入信号的响应,本质上对输入信号的频谱进行不同选择处理过程,这个过程称为滤波。

格式:y=filter(B,A,x)

对向量x中的数据进行滤波处理,即求解差分方程,产生输出序列向量y。

例5:设系统差分方程为:y(n)-0.5y(n-1)=x(n),求该系统对信号x(n)=0.8^{n}R_{32}(n)的响应。

clear
clc
B=1;
A=[1,-0.5];
n=0:31;
x=0.8.^n;
y=filter(B,A,x);
subplot(121);stem(x);
subplot(122);stem(y);

发布了64 篇原创文章 · 获赞 70 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/fanjufei123456/article/details/104615323