实验3 离散时间信号的频域分析
1. 实验目的
信号的变换域分析是信号处理中一种有效的工具。在离散信号的时域分析中,我们通常将信号表示成单位采样序列?[n]的线性组合,而在频域中,我们将信号表示成复变量e?j?n或e?j2?nN的线性组合。通过这样的表示,可以将时域的离
散序列映射到频域以便于进一步的处理。
在本实验中,将学习利用MATLAB计算离散时间信号的DTFT和DFT,并加深对其相互关系的理解。
2. 实验要求
p(ej?)p0?p1e?j??...?pMe?jM?(1) 对形式为X(e)?的序列DTFT编程进?j??j??jN?D(e)d0?d1e?...?dNej?行计算,绘出一个周期中其实部,虚部,幅度及相角的图形。
(2) 计算常见序列的DFT和IDFT,绘出其幅度谱图形。并解释DTFT和DFT的
关系。
(3) 利用DFT的快速算法FFT计算线性卷积。
3. 实验原理
(1)DTFT和DFT的定义及其相互关系
序列x[n] 的DTFT定义:X(ejω)??x[n]e?jnω
n????它是关于自变量?的复函数,且是以2?为周期的连续函数。X(e)可以表示为:
jωX(ejω)?Xre(ejω)?jXim(ejω)
其中,Xre(ejω)和Xim(ejω)分别是X(ejω)的实部和虚部;还可以表示为:
X(ejω)?X(ejω)ej?(ω)
其中,X(ejω)和?(?)?arg{X(ejω)}分别是X(ejω)的幅度函数和相位函数;
它们都是?的实函数,也是以2?为周期的周期函数。 序列x[n]的N点DFT定义:
X[k]?X(eN?1n?0j2?kN)??x[n]en?0N?1?j2?knN
kn??x[n]WNX[k]是周期为N的序列。
X(ejω)与X[k]的关系:X[k]是对X(ejω)在一个周期中的谱的等间隔N
点采样,即:
X[k]?X(ejω)|而X(e)可以通过对X[k]内插获得,即:
jω??2?kN,
1X(ejω)?N?X[k]k?0N?1sin(?N?2?k2?e?j[??(2?k/N)][(N?1)/2] ?N?2?ksin()2N)1)使用到的MATLAB命令
i. 基于DTFT离散时间信号分析函数:freqz,real,imag,abs,angle,
unwrap。
函数freqz可以用来计算一个以ej?的有理分式形式给出的序列的DTFT值。freqz的形式多样,常见的有H=freqz(num,den,w),其中num表示序列有理分式DTFT的分子多项式系数,den表示分母多项式系数(均按z的降幂排列),矢量w表示在0~2?中给定的一系列频率点集合。freqz函数的其他形式参见帮助。在求出DTFT值后,可以使用函数real, imag, abs和angle分别求出并绘出其实部,虚部,幅度和相位谱。如果需要,还可以用unwrap函数消除相位中的跳变。
ii.
求解序列DFT的函数:fft,ifft。
函数fft(x)可以计算R点序列的R点DFT值;而fft(x,N)则计算R点序列的N点DFT,若R>N,则直接截取R点DFT的前N点,若R 4.实验内容 (1)编程计算并画出下面DTFT的实部,虚部,幅度和相位谱。 0.0518?0.1553e?j??0.1553e?j2??0.0518e?j3?X(e)? ?j??j2??j3?1?1.2828e?1.0388e?0.3418ej?观察其周期性及相位谱的连续性,如果不连续如何处理为连续? 5?(2)计算16点序列 x(n)?cosn,0?n?15的16点和32点DFT,绘出幅度谱图 16形,并绘出该序列的DFT图形。 实验4 离散时间系统的变换域分析 1. 实验目的 线性时不变(LTI)离散时间系统的特性完全可以用其冲击响应序列h[n]来表示,则前面给出的离散时间信号的变换分析手段也可以用于离散时间系统的分析中。在LTI的离散时间系统变换域分析中,我们常用传递函数H(z)和频率响应H(ejw)来表示系统。 本实验通过使用MATLAB函数对离散时间系统的一些特性进行仿真分析,以加深对离散时间系统的零极点、稳定性,频率响应等概念的理解。 2. 实验要求 (1) 根据给定的差分方程或有理分式形式的传递函数求系统的零极点,绘制零 极点图并分析系统的稳定性。 (2) 给定系统的零极点及增益常数,求出系统的传递函数。 (3) 对以高阶有理分式形式给的系统传递函数进行一阶节或二阶节分解。 (4) 对给定的系统求频率响应,并绘出其实部,虚部,幅度和相位谱。 3. 实验原理 (1)线性时不变离散时间系统的变换域表示 LTI离散时间系统的时域差分方程为: NM?dk?0ky(n?k)??pkx(n?k) k?01)传递函数 对上面的差分方程两边求z变换,得: NMY(z)?dkzk?0?k?X(z)?pkz?k?k?0Y(z)?X(z)?pzkM?k?dk?0k?0N kz?k我们定义LTI离散时间系统的输出的Z变换Y(z)与输入的Z变换X(z)的比值为该系统的传递函数,即H(z)?Y(z)为系统的传递函数。 X(z)p(z)p0?p1z?1?...?pMz?M H(z)??D(z)d0?d1z?1?...?dNz?Ni?0N分解因式 H(z)??pkz?dkzM?i?i?K?1?(1??iz)?1?(1??iz)i?1i?1NM ,其中?i和?i称为零、极点。 i?0利用系统的传递函数H(z),我们可以分析系统的零极点,稳定性及实现结构等特点。 2)频率响应 因为大多数离散时间信号都可以分解为ej?n的线性组合,所以研究输入e?j?n的响应具有极大的意义,即当输入为x[n]?ej?n时,输出为: y[n]?这里,H(e响应。 j?m????h(m)e?n????j?(n?m)?ej?nm????j?n?h(m)e??j?m?ej?nH(ej?) )??h(n)e是h(n)的DTFT,称为LTI离散时间系统的频率 利用系统的频率响应H(ej?),我们可以分析系统对各种频率成分的响应特性,并推出系统的特性(高通,低通,带通,带阻,线性相位等)。 3)系统传递函数与频率响应之间的关系 从前面的推导可以看出,系统的传递函数是系统冲击响应序列的Z变换,而系统的频率响应是冲击响应的DTFT,因此传递函数H(z)与频率响应H(ej?)的关系为: H(ej?)?H(z)|z?ej? j??j??jM?p(e)p?pe?...?pe01M H(ej?)??j??j??jN?D(e)d0?d1e?...?dNe(2) 使用到的MATLAB命令 1)分析系统传递函数的函数:tf2zp,zp2tf,zplane,zp2sos,residuez。 函数tf2zp的使用形式为[z,p,k]=tf2zp(num,den),其中输入num,den分别表示有理分式Z变换的分子和分母多项式系数(按z的降幂排列),输出为系统的零点,极点和增益因子。函数zplane可以对输入的有理分式Z变换的分子和