在信号与系统中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• M表示在两个采样点之间增加的间隔数,使 输出更密,更接近模拟信号。
例7.12 梳状滤波器零极点和幅特性
• 梳状滤波器系统函数有如下两种类型。 H1 ( z ) 1 z N • FIR型: • IIR型:
1 zN H 2 ( z) 1 a N z N
• freqz 数字滤波器频率特性计算和绘制函数 • zplane H(z)的零-极点图绘制。 • 解:调用函数freqz和zplane 很容易写出程 序q712.m。
y(n) r (1) p(1)n u (n) r (2) p (2)n u (n) k (1) (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变换可写成
例7.3
序列的移位和周期延拓
n
已知 x ( n ) 0.8 R8 (n ) ,利用MATLAB生成并 图示 x(n), x(n m), x((n))8 RN (n), ( x((n))8 表 示x(n)以8为周期的延拓)和 x((n m))8 RN (n) • 解:方法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章 在信号与系统中的应用
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.13 低通滤波及时域卷积定理
• 输入信号 x(n) = cos(0.04n) + cos(0.08n) + cos(0.4n) + 0.3(n),0≤n≤63 通过低通 滤波器,计算滤波器对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.10 时域采样频率与频谱混叠
• 分别以采样频率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.2
序列的合成和截取
• 用例6.13的结果编写产生矩形序列RN(n)的程序。 序列起点为n0,矩形序列起点为n1,长度为N(n0, n1,N由键盘输入)。并用它截取一个复正弦序列 exp(jπn/8) . • 解:建模:矩形序列可看成两个阶跃序列之差。 x1 (n) RN (n) U (n n1 ) U (n n1 N ) • 用MATLAB逻辑关系产生矩形序列x2(n)。而用它 截取任何序列相当于元素群相乘x2.*x,也称为加 窗运算。序列的合成和截取就是相加和相乘。
7.3 离散傅里叶变换(DFT)
k 0, , N 1 • n 0 用类似于例7.9中的方法,可把(7.3)式写成矩阵 乘法运算。 X (k ) xn Wnk 其中,xn为序列行向量,Wnk是一N×N阶方阵,
1 p(1) z 1 1 p( 2)来自百度文库z 1
得 y (n) 57.7 0.779n 1 u (n 1) 204.7 0.321n1 u (n 1)
150 (n+1)-30 (n)
例7.9 离散时间傅里叶变换
• 取周期的正弦信号,作8点采样,求它的连续频谱。 然后对该信号进行N个周期延拓,再求它的连续 频谱。把N无限增大,比较分析其结果。 • 解: 先求离散傅立叶变换的MATLAB子程序
求z的逆变换的方法
• 对于z变换分式 • 可以用部分分式法或长除法求其反变换。 • 用函数residuez可以求出它的极点留数分解
B( z ) r(1) r(2) r( N ) k (1) k (2) z 1 A( z ) 1 p(1) z 1 1 p(2) z 1 1 p( N ) z 1
例7.11 由离散序列恢复模拟信号
• 用时域内插公式
xa (t )
n
x(n ) g (t nT )

其中 模拟用理想低通滤波器恢复的过程,观察恢 复波形,计算出最大恢复误差。 解:这个公式与卷积公式相像,可以用向量 和矩阵乘法来解决。
g (t ) sin( t ) t sinc( Fst ) T T
例7.14 用符号运算工具箱解z变换
• 解:无限长度时间序列的z变换和逆z变换 都属于符号运算的范围。MATLAB的 symbolic(符号运算)工具箱已提供了这种 函数。如果读者已在计算机上安装了这个 工具箱,可以键入以下程序。 • MATLAB程序q714.m • 其特点是程序的开始要指定符号自变量 • syms z n a N w0 % 规定z,n,a…为符号变 量
例7.6 离散序列的卷积计算
h1 (n) R10 (n) x1 (n) 0.9n R20 (n) , • 给出两个序列 和
计算其卷积y(n),并图示各输入输出序列。 • 解:在例6.4中,已经给出了直接调用 MATLAB的卷积函数conv的方法,也给出 了自编卷积计算程序的方法,要注意的是 本例时间变量的设定和移位方法。在本例 中,设定n为从零开始,向量x和h的长度分 别为Nx=20和Nh=10;结果向量y的长度为 length(y)=Nx+Nh-1。
e j1n1 j n e 1 2 X (1 ), X ( 2 ), , X ( K ) x(n1 ), , x(n N ) j1nN e e j 2n1 e j K n1 j 2n2 j K n2 e e e j 2nN e j K nN
例7.10 采样频率与频谱混叠(续)
由于
X (e
jT
) FT[ x(n)]
n
x ( n )e

j nT
1 2k Xa j T k T
由以上关系式可见,采样信号的频谱函数是 原模拟信号频谱函数的周期延拓,延拓周 期为2/T。如果以频率f为自变量( = 2f),则以采样频率fs = 1/T为延拓周期。 对频带限于fc的模拟信号xa(t),只有当 X (e jT ) fs≥2fc时,采样后 才不会发生频谱 混叠失真。这就是著名的采样定理
例7.8 求z多项式分式的逆变换
• 设系统函数为 , 输入例7.7中的x2信号,用z变换计算输出y(n) X 2 ( z ) 2 z 2 4 z 3 5z 1,故 解:由例7.7可知 Y(z)=X(z)W(z)= z nsy B( z ) A( z ) 其中nsy = 分母分子中z的最高幂次之差。 调用 [r, p, k] = residuez(B, A),可由B,A求 出r,p,k,进而求逆z变换,得 y(n) r (1) p(1)nnsy u (n nsy ) k (1) (n nsy )
X 1 ( z ) z 2 3z 1 , X 2 ( z ) 2 z 2 4 z 3 5 z 1
• 两个多项式乘积 X ( z) X 1 ( z) X 2 ( z)可用conv函数
来求得。n数组要自己判别。n的起点ns = ns1 + ns2 = 3,终点nf = nf1 + nf2 = 2。 n=ns:nf。由x和n即可得出X(z)。
3z 1 W ( z) 2 2.2 z 1 0.5z 2
例7.8 z多项式分式逆变换(续)
由程序算出nsy =-1,留数、极点分别为 r = -57.7581 和 204.7581 p = 0.7791 和 0.3209 k = -150 -30 代入 Y ( z ) z r(1) r(2) k (1) k (2) z 1
B( z ) B(1) B(2) z 1 B( M ) z ( M 1) B( M 1) z M Y ( z) A( z ) A(1) A(2) z 1 A( N ) z ( N 1) A( N 1) z N
其中 [r, p, k] = residuez (B, A) • 其反变换为:
例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的范围,这样才能把两序列的时间变 量对应起来,然后进行对应元素的运算。
• 最后得到X = x*exp(-j*w*n‘)。 • 有了子程序,本例就没有什么难度了。
例7.9 离散时间傅里叶变换2
程序运行结果 执行程序q709并按提示键入N = 4,所得图形如图 7.10所示。N取得愈大,其峰值愈大,宽度愈窄。 当N取得很大时,会出现内存不足的问题,这是 用矩阵乘法做傅里叶变换的缺点。另外,因为那 时峰值点处的宽度很窄,也会出现所选频点对不 上峰值点的问题。所以对于N无限增大的情况, 必须用fft函数来求。这时用连续频谱也没有意义 了。这里用同样的横坐标把几种频谱进行对比, 使读者更好地理解其关系。
例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 系统线性性质验证
• 设系统差分方程为 y(n) = x(n) + 0.8y (n-1) 要求用程序验证系统的线性性质。 解:产生两种输入序列,分别乘以常数后 1。分别激励系统,再求输出之和; 2。先相加,再激励系统求输出; 对两个结果进行比较,方法是求它们之差, 按误差的绝对值是否极小进行判断。
例7.11 由离散序列恢复模拟信号
• xa = x * g (TNM) = x * G • 其中 G = sinc(Fs * TNM)
t(1) t(2) t(1) T t(2) T TNM t(1) 2T t(2) 2T t(1) (N 1)T t(2) (N 1)T t(M) T t(M) 2T t(M) (N 1)T t(M)
相关文档
最新文档