在信号与系统中的应用.ppt
《在信号与系统中的应用.ppt》由会员分享,可在线阅读,更多相关《在信号与系统中的应用.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 7章 在信号与系统中的应用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:nslength(x)1例7.1 序列的相加和相乘给出两个序列x1(n)和x2(n)。x1=0,1,2,3,4,3,2,1,0;n1=-2:6,;x2=2,2,0,0
2、,0,-2,-2;n2=2:8;要求它们的和ya及乘积yp。解:编程的思路是把序列长度延拓到覆盖n1和n2的范围,这样才能把两序列的时间变量对应起来,然后进行对应元素的运算。例7.2 序列的合成和截取 用例6.13的结果编写产生矩形序列RN(n)的程序。序列起点为n0,矩形序列起点为n1,长度为N(n0,n1,N由键盘输入)。并用它截取一个复正弦序列exp(jn/8).解:建模:矩形序列可看成两个阶跃序列之差。用MATLAB逻辑关系产生矩形序列x2(n)。而用它截取任何序列相当于元素群相乘x2.*x,也称为加窗运算。序列的合成和截取就是相加和相乘。例7.3 序列的移位和周期延拓已知,利用MAT
3、LAB生成并图示 表示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开始,例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)由
4、差分方程可得到H(z)的分子和分母多项式系数向量A和B,再给出输入向量x即可。例7.5 系统线性性质验证设系统差分方程为y(n)=x(n)+0.8y(n-1)要求用程序验证系统的线性性质。解:产生两种输入序列,分别乘以常数后1。分别激励系统,再求输出之和;2。先相加,再激励系统求输出;对两个结果进行比较,方法是求它们之差,按误差的绝对值是否极小进行判断。例7.6 离散序列的卷积计算给出两个序列 和 ,计算其卷积y(n),并图示各输入输出序列。解:在例6.4中,已经给出了直接调用MATLAB的卷积函数conv的方法,也给出了自编卷积计算程序的方法,要注意的是本例时间变量的设定和移位方法。在本例中
5、,设定n为从零开始,向量x和h的长度分别为Nx=20和Nh=10;结果向量y的长度为length(y)=Nx+Nh-1。求z的逆变换的方法对于z变换分式可以用部分分式法或长除法求其反变换。用函数residuez可以求出它的极点留数分解其中r,p,k=residuez(B,A)其反变换为:例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即可
6、得出X(z)。例7.8 求z多项式分式的逆变换 设系统函数为,输入例7.7中的x2信号,用z变换计算输出y(n)解:由例7.7可知,故Y(z)=X(z)W(z)=其中nsy=分母分子中z的最高幂次之差。调用 r,p,k=residuez(B,A),可由B,A求出r,p,k,进而求逆z变换,得 例7.8 z多项式分式逆变换(续)由程序算出nsy=-1,留数、极点分别为r=-57.7581 和 204.7581p=0.7791 和 0.3209k=-150 -30代入得例7.9 离散时间傅里叶变换取周期的正弦信号,作8点采样,求它的连续频谱。然后对该信号进行N个周期延拓,再求它的连续频谱。把N无限
7、增大,比较分析其结果。解:先求离散傅立叶变换的MATLAB子程序最后得到X=x*exp(-j*w*n)。有了子程序,本例就没有什么难度了。例7.9 离散时间傅里叶变换2 程序运行结果执行程序q709并按提示键入N=4,所得图形如图7.10所示。N取得愈大,其峰值愈大,宽度愈窄。当N取得很大时,会出现内存不足的问题,这是用矩阵乘法做傅里叶变换的缺点。另外,因为那时峰值点处的宽度很窄,也会出现所选频点对不上峰值点的问题。所以对于N无限增大的情况,必须用fft函数来求。这时用连续频谱也没有意义了。这里用同样的横坐标把几种频谱进行对比,使读者更好地理解其关系。例7.10 时域采样频率与频谱混叠分别以采
8、样频率fs=1000Hz,400Hz和200Hz对xa(t)进行等间隔采样,计算并图示三种采样频率下的采样信号及其幅频特性解:程序分别设定4种采样频率fs=10kHz,1kHz,400Hz和200Hz,对xa(t)进行采样,得到采样序列xa(t),xa1(n),xa2(n),xa3(n),画出其幅度频谱。采样时间区间均为0.1秒。为了便于比较,画出了幅度归一化的幅频曲线,如图7.11所示。例7.10 采样频率与频谱混叠(续)由于由以上关系式可见,采样信号的频谱函数是原模拟信号频谱函数的周期延拓,延拓周期为2/T。如果以频率f为自变量(=2f),则以采样频率fs=1/T为延拓周期。对频带限于fc
9、的模拟信号xa(t),只有当fs2fc时,采样后 才不会发生频谱混叠失真。这就是著名的采样定理 例7.11 由离散序列恢复模拟信号用时域内插公式其中模拟用理想低通滤波器恢复的过程,观察恢复波形,计算出最大恢复误差。解:这个公式与卷积公式相像,可以用向量和矩阵乘法来解决。例7.11 由离散序列恢复模拟信号xa=x*g(TNM)=x*G 其中 G=sinc(Fs*TNM)M表示在两个采样点之间增加的间隔数,使输出更密,更接近模拟信号。例7.12 梳状滤波器零极点和幅特性梳状滤波器系统函数有如下两种类型。FIR型:IIR型:freqz 数字滤波器频率特性计算和绘制函数 zplane H(z)的零-极
10、点图绘制。解:调用函数freqz和zplane 很容易写出程序q712.m。例7.13 低通滤波及时域卷积定理 输入信号 x(n)=cos(0.04n)+cos(0.08n)+cos(0.4n)+0.3(n),0n63 通过低通滤波器,计算滤波器对x(n)的响应输出y(n),并图示x(n)和y(n),观察滤波效果。解:如前所述,只要求出H(z)=B(z)/A(z)的分子和分母多项式系数向量B和A,则可调用滤波器直接型实现函数filter对输入信号x(n)进行滤波。y=filter(B,A,x)例7.14 用符号运算工具箱解z变换解:无限长度时间序列的z变换和逆z变换都属于符号运算的范围。MAT
11、LAB的symbolic(符号运算)工具箱已提供了这种函数。如果读者已在计算机上安装了这个工具箱,可以键入以下程序。MATLAB程序q714.m 其特点是程序的开始要指定符号自变量syms z n a N w0%规定z,n,a为符号变量7.3 离散傅里叶变换(DFT)定义DFT:用类似于例7.9中的方法,可把(7.3)式写成矩阵乘法运算。其中,xn为序列行向量,Wnk是一NN阶方阵,而 称为旋转因子。7.3 离散傅里叶变换(DFT)用矩阵乘法计算N点DFT的程序如下。MATLAB程序q73a.m%用矩阵乘法计算N点DFTclear;close allxn=input(请输入序列x=);N=le
12、ngth(xn);%n=0:N-1;k=n;nk=n*k;%生成NN方阵WN=exp(-j*2*pi/N);Wnk=WN.nk;%产生旋转因子矩阵Xk=xn*Wnk;%计算N点DFT例7.15 序列的离散傅立叶变换求复正弦序列 余弦序列 正弦序列的离散傅立叶变换,分别按N=16和N=8进行计算。绘出幅频特性曲线,进行比较讨论。例7.15 序列的离散傅立叶变换在截取16点时,得到的是完整的余弦波形;而截取8点时,得到的是半截的余弦波形,当然有大量的谐波成分。例7.16 验证N点DFT的物理意义(1),绘出幅频曲线和相频曲线。(2)计算并图示x(n)的8点DFT。(3)计算并图示x(n)的16点D
13、FT。解:序列x(n)的点DFT的物理意义是 在0,2上进行点等间隔采样。程序先密集采样,绘制出幅频曲线图。然后再分别做8点和16点DFT来验证这个采样关系。例7.17 频域与时域采样对偶性(1)产生三角波序列(2)对M=40,计算x(n)的64点DFT,并图示x(n)和X(k)=DFTx(n),k=0,1,63。(3)对(2)中所得X(k)在 0,2 上进行32点抽样得(4)求的32点IDFT,即 (5)绘出 的波形图,评述它与x(n)的关系。例7.17 频域与时域采样对偶性由于频域在0,2上的采样点数N(N=32)小于x(n)的长度M(M=40),所以,产生时域混叠现象,不能由X1(k)恢
14、复原序列x(n)。只有满足NM时,可由频域采样X1(k)得到原序列x(n)。这就是频域采样定理。对NM的情况,请读者自己编程验证。例7.18 快速卷积快速卷积就是根据DFT的循环卷积性质,将时域卷积转换为频域相乘,最后再进行IDFT得到时域卷积序列y(n)。其中时域和频域之间的变换均用FFT实现,所以使卷积速度大大提高。框图如下:例7.19 用DFT求连续信号频谱在计算机上用DFT对模拟信号进行谱分析时,只能以有限大的采样频率fs对模拟信号采样有限点样本序列(等价于截取模拟信号一段进行采样)作DFT变换,得到模拟信号的近似频谱。其误差主要来自以下因素:截断效应(频谱泄露和谱间干扰)频谱混叠失真
15、因素使谱分辨率(能分辨开的两根谱线间的最小间距)降低,并产生谱间干扰;因素使折叠频率(fs/2)附近的频谱产生较大失真。例7.19 用DFT求连续信号频谱加大截取长度Tp可提高频率分辨率;选择合适的窗函数可降低谱间干扰;而频谱混叠失真要通过提高采样频率fs和(或)预滤波(在采样之前滤除折叠频率以外的频率成分)来改善。编写程序q719.m验证截断效应及加窗的改善作用,先选取以下参数:采样频率fs=400Hz,T=1/fs 采样信号序列 对x(n)作4096点DFT作为的近似频谱Xa(jf)。例7.19 用DFT求连续信号频谱如图7.19所示。图中X1(jf),X4(jf)和X8(jf)分别表示T
16、p=0.04s,0.04*4s和0.04*8s时的谱分析结果。由图可见,由于截断使原频谱中的单频谱线展宽(又称之为泄漏),Tp越大泄漏越小,频率分辨率越高。Tp=0.04s时,25Hz与50Hz两根谱线已分辨不清了。所以实际谱分析的截取时间Tp是由频率分辨率决定的。另外,在本应为零的频段上出现了一些参差不齐的小谱包(称为谱间干扰)。谱间干扰的大小取决于加窗的类型。用矩形窗比用Hamming窗的频率分辨率高(泄漏小),但谱间干扰刚好相反。例7.20 IIR滤波器直接型的转换程序调用了信号处理工具箱函数tf2sos和扩展函数dir2par,sos,g=tf2sos(B,A)实现从直接型到级联型(二
17、阶分割形式)的转换。g为式中的增益,sos为L6阶矩阵,表示式中的系数。例7.20 IIR滤波器直接型的转换 Cp,Bp,Ap=dir2par(B,A)实现从直接型到并联型的转换。B为直接型H(z)的分子多项式系数向量,A为直接型H(z)的分母多项式系数向量;Cp,Bp,Ap的含义与扩展函数dir2par中的C,B,A相同。dir2par中又调用了复共轭对比较函数cplxcomp。由于dir2par和cplxcomp是文献7中开发的,不属于MATLAB工具箱函数,所以将其M文件清单附在程序q720.m之后。例7.20 IIR滤波器直接型的转换根据计算结果,级联型H(z)表达式:级联型结构图。例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 中的 应用
限制150内