购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4.3 边界条件对差分方程的影响

用差分方程描述系统时,在没有任何其他初始状态或边界条件的情况下,同一个差分方程对同一个输入信号的响应不同。当初始状态或边界条件的改变时,系统的一些特性也会随之改变。例如,系统差分方程为 y n )- ay n -1)= x n ),当边界条件为 n <0, y n )=0时,该差分方程表示的是一个因果系统;当边界条件为 n >0, y n )=0时,该差分方程表示的是一个非因果系统;当边界条件为 y (-1)=0时,该差分方程表示的是一个线性时不变系统;当边界条件为 y (0)=0时,该差分方程表示的是一个线性时变系统;当边界条件为 y (0)=1时,该差分方程表示的是一个非线性时变系统。

例1—33 一系统用常系数线性差分方程 y n )= ay n -1)+ x n )描述,初始条件 y (-1)=0,试分析该系统是否是线性时不变系统。

解: 设给定两个输入信号 x 1 n )= δ n ), x 2 n )= δ n -1),令 x 3 n )= δ n )+ δ n -1),是 x 1 n )和 x 2 n )简单的线性组合,在初始条件 y (-1)=0的条件下,通过迭代法分别求出在三个输入 x 1 n )、 x 2 n )和 x 3 n )作用下系统的三个输出 y 1 n )、 y 2 n )和 y 3 n ),来检验系统是否是线性时不变系统。

(1) x 1 n )= δ n ), y 1 (-1)=0

y 1 n )= ay 1 n -1)+ δ n

y 1 (0)= ay 1 (-1)+ δ (0)=1

y 1 (1)= ay 1 (0)+ δ (1)= a

y 1 (2)= ay 1 (1)+ δ (2)= a 2

y 1 n )= a n u n

(2) x 2 n )= δ n -1), y 2 (-1)=0

y 2 n )= ay 2 n -1)+ δ n -1)

y 2 (0)= ay 2 (-1)+ δ (-1)=0

y 2 (1)= ay 2 (0)+ δ (0)=1

y 2 (2)= ay 2 (1)+ δ (1)= a

y 2 n )= a n -1 u n -1)

因为 x 1 n -1)= x 2 n ),是移一位的关系, y 1 n -1)= y 2 n ),输出也是移一位的关系,因此系统是时不变系统。

(3) x 3 n )= δ n )+ δ n -1), y 3 (-1)=0

y 3 n )= ay 3 n -1)+ δ n )+ δ n -1)

y 3 (0)= ay 3 (-1)+ δ (0)+ δ (-1)=1

y 3 (1)= ay 3 (0)+ δ (1)+ δ (0)=1+ a

y 3 (2)= ay 3 (1)+ δ (2)+ δ (1)= a + a 2

y 3 n )= a n u n )+ a n -1 u n -1)

因为 x 3 n )= x 1 n )+ x 2 n ),而 y 3 n )= y 1 n )+ y 2 n ),因此系统是线性系统。

由此可见,在初始条件 y (-1)=0的情况下,差分方程 y n )= ay n -1)+ x n )所表示的系统是一个线性时不变系统。在初始条件为 y (0)=0和 y (0)=1时,该差分方程所表示的就不是线性时不变系统,利用上述方法可以自行证明。

在MATLAB中,可以利用信号处理工具箱提供的filter函数求解在给定输入和差分方程系数时系统输出的数值解,其调用格式为

     y=filter(b,a,x,zi)
     zi=filtic(b,a,yi,xi)

其中,b表示输入项的系数,即b=[ b 0 b 1 ,…, b M ];a表示输出项的系数,即a=[ a 0 a 1 ,…, a N ],其中 a 0 =1,若 a 0 ≠1,则需对系数向量b和a进行归一化处理。x为输入序列;zi为等效初始条件的输入向量,是与初始条件有关的向量,可以利用filtic函数获取,其中yi, xi表示实际初始条件,即yi=[ y (-1), y (-2), y (-3),…, y (- N )],xi=[ x (-1), x (-2), x (-3),…, x (- M )]。若xi为因果序列,则xi=0。

例1—34 描述一个离散系统的差分方程为

y n )-0.6 y n -1)-0.5 y n -2)+ y n -3)= x n

试利用MATLAB程序实现系统单位冲激响应 h n )的求解。

解: MATLAB实现程序如下:

     a=[1,-0.6,-0.5,1];
     b=1;
     n=[-20:100];
     x=[(n)==0];
     h=filter(b,a,x);
     stem(n,h,'.k');

运行结果如图1—45所示。

例1—35 一个离散系统的差分方程为 y n +1)-0.6 y n )= x n ),系统输入信号 x n )=2 nu n ),初始条件 y (-1)=4,试利用MATLAB求解输出信号 y n ),0≤ n ≤50。

图1—45 例1—34的单位冲激响应

解: MATLAB实现程序如下:

     n=[0:50];
     x=2 * n. * (n > =1);
     a=[1,-0.6];
     b=[0,1];
     zi=filtic(b,a,4);
     y=filter(b,a,x,zi);
     stem(n,y,'.k');

运行结果如图1—46所示。

图1—46 例1—35的输出信号

例1—36 已知滑动平均系统的差分方程为 )。当 M 1 =0, M 2 =4时,系统为五项滑动平均系统,试求当输入信号 x n )=2 u n )+3 δ n -15)- δ n -19)+2 δ n -26)时五项滑动平均系统的输出。

解: 滑动平均系统是通过计算算术平均值实现对输入信号的平滑处理,相当于一个低通滤波器,用来保留低频分量,滤除高频分量。

五项滑动平均系统的差分方程可以写成

因此该系统的单位冲激响应为

如图1—47所示。则系统输出为

具体MATLAB实现程序如下:

     n=[0:49];
     x=2 * ones(1,50)+3 * [(n)==15]-[(n)==19]+2 * [(n)==26];
     h=0.2 * ones(1,5);b=[0,1];
     y=conv(x,h);
     subplot(1,2,1)
     stem(x);
     subplot(1,2,2)
     stem(y);

图1—47 五项滑动平均系统的单位冲激响应

运行结果如图1—48所示。

图1—48 例1—36的输入信号和输出信号 xz2nGQYon/OUoa22g5Zsgb8jryTLRC+rnzncFxfbOzc/SzR1KjpOVfnC74qa0/53

点击中间区域
呼出菜单
上一章
目录
下一章
×