第7章在信号与系统中的应用
第 7章 在信号与系统中的应用
7.1离散信号的产生及时域处理 ·时域离散信号用x()表示,时间变量n(表示 采样位置)只能取整数。因此,x()是一个 离散序列,以后简称序列。用一个向量x不足 以表示序列值()。必须再用另一个等长的 定位时间变量n。x和n同时使用才能完整地 表示一个序列,由于n序列是按整数递增的, 可简单地用其初值ns决定,因为它的终值nf 取决于ns和x的长度length(x),故可写成: ·>n=[ns:nfj ·或n=[ns:ns+length(x)-1]
7.1 离散信号的产生及时域处理 • 时域离散信号用x(n)表示,时间变量n(表示 采样位置)只能取整数。因此,x(n)是一个 离散序列,以后简称序列。用一个向量x不足 以表示序列值x(n)。必须再用另一个等长的 定位时间变量n。x和n同时使用才能完整地 表示一个序列,由于n序列是按整数递增的, 可简单地用其初值ns决定,因为它的终值nf 取决于ns 和x的长度length(x),故可写成: • ➢ n = [ns:nf] • 或 n = [ns: ns+length(x)−1]
例7.1 序列的相加和相乘 ·给出两个序列x1(n)和x2(n)。 ×1=[0,1,2,3,4,3,2,1,0];n1=[-2:6,]; x2=[2,2,0,0,0,-2,-2]n2=[2:8] 要求它们的和ya及乘积yp。 解:编程的思路是把序列长度延拓到覆盖n1 和n2的范围,这样才能把两序列的时间变 量对应起来,然后进行对应元素的运算
例7.1 序列的相加和相乘 • 给出两个序列x1(n)和x2(n)。 x1 = [0,1,2,3,4,3,2,1,0]; n1 = [-2:6,]; x2 = [2,2,0,0,0,-2,-2]; n2 = [2:8]; 要求它们的和ya及乘积yp。 解:编程的思路是把序列长度延拓到覆盖n1 和n2的范围,这样才能把两序列的时间变 量对应起来,然后进行对应元素的运算
例7.2 序列的合成和截取 ·用例6.13的结果编写产生矩形序列R()的程序。 序列起点为no,矩形序列起点为n1,长度为N(no, n1,N由键盘输入)。并用它截取一个复正弦序列 exp(jTrn/8). ·解:建模:矩形序列可看成两个阶跃序列之差。 x(n)=RN(n)=U(n-n)-U(n-n-N) ·用MATLAB:逻辑关系产生矩形序列x2(n)。而用它 截取任何序列相当于元素群相乘2*×,也称为加 窗运算。序列的合成和截取就是相加和相乘
例7.2 序列的合成和截取 • 用例6.13的结果编写产生矩形序列RN(n)的程序。 序列起点为n0,矩形序列起点为n1,长度为N(n0, n1,N由键盘输入)。并用它截取一个复正弦序列 exp(jπn/8) . • 解:建模:矩形序列可看成两个阶跃序列之差。 • 用MATLAB逻辑关系产生矩形序列x2(n)。而用它 截取任何序列相当于元素群相乘x2.*x,也称为加 窗运算。序列的合成和截取就是相加和相乘。 ( ) ( ) ( ) ( ) x1 n = RN n =U n − n1 −U n − n1 − N
例7.3 序列的移位和周期延拓 已知x(n)=0.8”R(nm),利用MATLAB生成并 图示x(n),x(n-m),x(n)sRx(n),(x(n)s表 示X(n)以8为周期的延拓)和x(n-m)sRv(n) ·解:方法1,利用矩阵乘法和冒号运算 x=[1234];y=x'*ones(1,3): 方法2,采用求余函数mod, y=(mod(n,M+1)可实现对x(n)以M为周期 的周期延拓。加1是因为MATLAB向量下标 只能从1开始
例7.3 序列的移位和周期延拓 已知 ,利用MATLAB生成并 图示 表 示x(n)以8为周期的延拓)和 • 解:方法1,利用矩阵乘法和冒号运算 x=[1 2 3 4];y=x'*ones(1,3); 方法2,采用求余函数mod, y = x(mod(n, M)+1)可实现对x(n) 以M为周期 的周期延拓。加1是因为MATLAB向量下标 只能从1开始, ( ) 0.8 ( ) x n R8 n n = 8 N 8 x n x n m x n R n x n ( ), ( ), (( )) ( ), ( (( )) − (( )) ( ) x n − m 8 RN n
例7.4离散系统对信号的响应 本题给定6阶低通数字滤波器的系统函数,求 它在下列输入序列x()下的输出序列y(n)。 。 解:本题的计算原理见例6.14,在这里用工 具箱函数filter来解。如果已知系统函数 H(z)=B(z)lA(Z),则filteri函数可求出系统对 输入信号x(n)的响应y(n)。 y filter(B,A,x) 由差分方程可得到H(2)的分子和分母多项式 系数向量A和B,再给出输入向量x即可
例7.4 离散系统对信号的响应 本题给定6阶低通数字滤波器的系统函数,求 它在下列输入序列x(n)下的输出序列y(n)。 • 解:本题的计算原理见例6.14,在这里用工 具箱函数filter来解。如果已知系统函数 H(z)=B(z)/A(z),则filter函数可求出系统对 输入信号x(n)的响应y(n)。 y = filter(B, A, x) 由差分方程可得到H(z)的分子和分母多项式 系数向量A和B,再给出输入向量x即可
例7.5系统线性性质验证 ·设系统差分方程为 yn)=X(n)+0.8y(n-1) 要求用程序验证系统的线性性质。 解:产生两种输入序列,分别乘以常数后 1。分别激励系统,再求输出之和; 2。先相加,再激励系统求输出: 对两个结果进行比较,方法是求它们之差, 按误差的绝对值是否极小进行判断
例7.5 系统线性性质验证 • 设系统差分方程为 y(n) = x(n) + 0.8y (n-1) 要求用程序验证系统的线性性质。 解:产生两种输入序列,分别乘以常数后 1。分别激励系统,再求输出之和; 2。先相加,再激励系统求输出; 对两个结果进行比较,方法是求它们之差, 按误差的绝对值是否极小进行判断
例7.6 离散序列的卷积计算 ·给出两个序列h(n)=Ro(n和x1(n)=0.9Ro(n), 计算其卷积y(),并图示各输入输出序列。 ·解:在例6.4中,已经给出了直接调用 MATLAB的卷积函数conv的方法,也给出 了自编卷积计算程序的方法,要注意的是 本例时间变量的设定和移位方法。在本例 中,设定n为从零开始,向量x和h的长度分 别为Nx=20和Nh=10;结果向量y的长度为 length(y)=Nx+Nh-1
例7.6 离散序列的卷积计算 • 给出两个序列 和 , 计算其卷积y(n),并图示各输入输出序列。 • 解:在例6.4中,已经给出了直接调用 MATLAB的卷积函数conv的方法,也给出 了自编卷积计算程序的方法,要注意的是 本例时间变量的设定和移位方法。在本例 中,设定n为从零开始,向量x和h的长度分 别为Nx=20和Nh=10;结果向量y的长度为 length(y)=Nx+Nh-1。 ( ) 0.9 ( ) x1 n R20 n n h1 (n) = R10(n) =
求z的逆变换的方法 ·对于z变换分式 Y()-B()()+B((M(M A( A(1)+A(2)z +次”+4N+1)2-w ·可以用部分分武法或长除法求其反变换。 ·用函数residuez可以求出它的极点留数分解 B(a=r四 (N) =,+1-2)2t+1-pN2+0+2e+. 其中 [r,p,k]residuez (B,A) ·其反变换为: y(n)=r(1①)p(1)"u(n)+r(2)p(2)”u(n)++k(1)δ(n)+…
求z的逆变换的方法 • 对于z变换分式 • 可以用部分分式法或长除法求其反变换。 • 用函数residuez可以求出它的极点留数分解 其中 [r, p, k] = residuez (B, A) • 其反变换为: (1) (2) ( ) ( 1) (1) (2) ( ) ( 1) ( ) ( ) ( ) 1 ( 1) 1 ( 1) N N M M A A z A N z A N z B B z B M z B M z A z B z Y z − − − − − − − − + + + + + + + + + + = = + + + − + + − + − = − − − − 1 1 1 1 (1) (2) 1 ( ) ( ) 1 (2) (2) 1 (1) (1) ( ) ( ) k k z p N z r N p z r p z r A z B z ( ) (1) (1) ( ) (2) (2) ( ) (1) ( ) n n y n r p u n r p u n k n = + + + +
例7.7有限序列的z和逆z变换 两序列x1=[1,2,3],n1=[-1:1]及x2 = [2,4,3,5],n2=[-2:1],求出x1与x2及其卷 积x的z变换。 ·解:其z变换可写成 X(z)=2+2+3z1,X2(z)=2z2+4z+3+5z ·两个多项式乘积X(z)=X(z)X2(z)可用c0v函数 来求得。n数组要自己判别。n的起点ns= ns1+ns2=-3,终点nf=nf1+nf2=2。 n=ns:nf。由x和n即可得出X(Z)
例7.7 有限序列的z和逆z变换 两序列x1 = [1,2,3], n1 = [-1:1] 及x2 = [2,4,3,5],n2 = [-2:1],求出x1与x2及其卷 积x的z变换。 • 解:其z变换可写成 • 两个多项式乘积 可用conv函数 来求得。n数组要自己判别。n的起点ns = ns1 + ns2 = −3,终点nf = nf1 + nf2 = 2。 n=ns:nf。由x和n即可得出X(z)。 1 2 1 1 2 X z z z X z z z z ( ) 2 3 , ( ) 2 4 3 5 − − = + + = + + + ( ) ( ) ( ) 1 2 X z = X z X z