数字信号处理第三章8用DFT对模拟信号作频谱分析
- 格式:ppt
- 大小:473.50 KB
- 文档页数:2
实验三 用DFT 对信号作频谱分析一、 实验原理计算机上实现信号的频谱分析及其他方面的处理对信号的要求是:在时域和频域都应该是离散的,而且都应该是有限长的。
各种形式的傅里叶级数与变换,只有离散傅里叶级数DFS 在时域和频域都是离散的,但是()xn 和()X k 都是无限长的周期序列,因此时域频域各取一个周期,即为离散傅里叶变换DFT ,是信号离散时间傅里叶变换DTFT 某种程度上的近似。
频域采样即对离散时间傅里叶变换的连续周期频谱离散化的过程,采样后的周期频谱序列对应时域的周期序列,该时域序列的周期恰好是频域中一个周期内的采样点数采样,因此频域采样不失真的条件为: 频域采样点数N 要大于或等于时域序列长度M 。
二、 实验目的(1)学习离散叶变换(即DFT )的计算方法及意义。
(2) 掌握实数序列的DFT 系数的对称特点。
(3) 利用MATLAB 编制DFT/IDFT 计算程序的方法。
(4)频域采样理论的验证三、实验内容(1)5()()x n R n ,求N 分别取8,16,32,64时的离散傅里叶变换DFT ()X k ,最后绘出图形。
程序代码:(2) 利用如下MATLAB程序生成三角波序列%x=[1,1,1,1,1,1,1,1];M=27;N=32;n=0:M;%产生M长三角波序列x(n)xa=0:floor(M/2);xb= ceil(M/2)-1:-1:0;x=[xa,xb];对该序列分别计算离散时间傅立叶变换DTFT,8点,16点,32点,64点和128点离散傅立叶变换频谱,并利用反变换求各个频谱对应的是与序列,比较这些频谱和序列。
生成的三角波图形:图1-1 长度为27的三角波其程序代码:对该序列分别计算离散时间傅立叶变换DTFT,8点,16点,32点,64点和128点离散傅立叶变换频谱。
其实验结果为图1-2所示。
图1-2 三角波计算离散时间福利叶变换其程序代码:利用反变换求各个频谱对应的是与序列,比较这些频谱和序列。
用DFT(FFT)对信号进行谱分析2015年 4月 1日课程名称: 数字信号处理 实验名称: DFT 对信号进行分析 学 号: 姓 名: ______ 指导老师评定: 签名:__________________一、实验目的1、在理论学习的基础上,通过本次实验加深对DFT 的理解。
2、熟悉应用FFT 对典型信号进行频谱分析的方法。
3、了解应用FFT 进行信号频谱分析过程中可能出现的各种误差,以便在实际中正确应用FFT 。
二、实验原理在运用DFT 进行频谱分析的时候可能会产生三种误差,现分析如下:(一)截断效应实际中的信号序列往往很长,甚至是无限长序列。
为了方便,我们往往只取实际序列的一部分来近似它们。
这种截短等价于给原信号序列乘以一个矩形窗函数。
根据卷积定理,最终信号的频谱等于原信号的谱和矩形窗的谱的卷积,从而造成谱线加宽或称为频谱泄漏。
矩形窗时间取得越长,矩形窗的频谱变窄,由截断引起的效应会减小。
例如50 Hz 正弦波xa (t )=sin(2π·50t),它的幅度曲线是线状谱,如图3.1(a)所示。
如果将它截取0.09s 的一段,相当于将它乘一长度为0.09 s 矩形窗函数,即xa (t )RTp (t),Tp =0.09s,该信号的谱等于原信号的谱和矩形窗的谱的卷积,如图1(b )所示。
矩形窗长度扩大Tp =0.18s,后,频谱泄漏会变小,如图1(c )。
10.50-250-200-150-100-50050100150200250幅度 f / H z (a )10.50幅度-250-200-150-100-50050100150200250f / H z (b )图 3.1 用DFT 对正弦波进行谱分析(a)50 Hz 正弦波的幅频曲线;(b) 50 Hz 正弦波加窗后的幅频曲线(T p=0.09 s);(c) 50 Hz 正弦波加窗后的幅频曲线(T p=0.18 s)同时,由于频谱泄漏,还会造成靠得很近的两个谱峰混淆为一个谱峰,或是强的谱线的旁瓣掩盖弱的谱线,称为谱间干扰,导致频谱分辨率降低。
第三章离散傅里叶变换及其快速算法习题答案参考3.1 图P3.1所示的序列(xn 是周期为4的周期性序列。
请确定其傅里叶级数的系数(X k。
解:(111*0((((((N N N nk nk nk N N N n n n X k x n W x n W x n W X k X k −−−−−=====−= =−=∑∑∑3.2 (1设(xn 为实周期序列,证明(x n 的傅里叶级数(X k 是共轭对称的,即*((X k X k =− 。
(2证明当(xn 为实偶函数时,(X k 也是实偶函数。
证明:(1 111**((([(]((N nk N n N N nk nkNNn n Xk x n W Xk x n W xn W X−−=−−−==−=−===∑∑∑ k(2因(xn 为实函数,故由(1知有 *((Xk X k =− 或*((X k X k −= 又因(xn 为偶函数,即((x n x n =− ,所以有(111*0((((((N N N nk nk nk N N N n n n X k x n W x n W x n W X k X k −−−−−=====−= =−=∑∑∑3.3 图P3.3所示的是一个实数周期信号(xn 。
利用DFS 的特性及3.2题的结果,不直接计算其傅里叶级数的系数(Xk ,确定以下式子是否正确。
(1,对于所有的k; ((10Xk X k =+ (2((Xk X k =− ,对于所有的k; (3; (00X=(425(jkX k eπ,对所有的k是实函数。
解:(1正确。
因为(x n 一个周期为N =10的周期序列,故(X k 也是一个周期为N=10的周期序列。
(2不正确。
因为(xn 一个实数周期序列,由例3.2中的(1知,(X k 是共轭对称的,即应有*((Xk X = k −,这里(X k 不一定是实数序列。
(3正确。
因为(xn (0n ==在一个周期内正取样值的个数与负取样值的个数相等,所以有 10(0N n Xx −=∑ (4不正确。
实验四利用DFT分析离散信号频谱实验要求:应用傅里叶变换DFT,分析各种离散信号x(k)的频谱。
实验原理:1.离散周期信号离散周期信号可以展开成傅里叶级数,其中傅里叶系数如下式所示式中:N是信号的周期,n为时间离散变量,k为数字频率离散变量,是k次谐波的数字频率。
由于所以离散周期信号的频谱是一个以为周期的周期性离散频谱,各谱线之间的间隔为,而且存在着谐波的关系。
2.离散非周期信号通过离散时间傅里叶变换(DTFT)可求得非周期序列的频谱密度函数,即是数字频率的连续函数。
从式中可见,离散非周期信号的频谱结构是连续的且具有以为周期的周期性。
类似于对连续信号的谱分析,可以使用MA TLAB提供的fft函数计算离散周期信号和离散非周期信号的频谱。
对于离散周期信号,只要对其一个周期内的N点做fft,就可准确地计算得其频谱。
分析步骤:(1)确定离散周期序列的基本周期N;(2)使用fft命令作N点FFT计算X[k]。
频率分辨率。
(3)。
对于离散非周期信号,当序列长度有限时,可以求得准确的频谱样值。
若序列很专或无限长,则由于截短必然产生泄漏误差以及混叠误差,使计算的结果只能是频谱样值的近似值。
求解步骤:(1)确定序列的长度L。
根据能量分布,当序列为无限长需要进行截短。
(2)确定作FFT的点数N;根据频域取样定理,为使时域波形不产生混叠必须取L≥N;(3)使用fft命令作N点FFT计算X[k]。
三、实验内容:1.利用FFT计算信号的频谱;2.利用FFT计算信号的频谱;要求:(1)确定DFT计算的各参数;(2)进行理论值与计算值比较,分析各信号频谱分析的计算精度;(3)详细列出利用DFT分析离散信号频谱的步骤;(4) 写出实验原理。
1. 利用FFT计算信号的频谱(查看源文件)2、利用FFT计算信号的频谱(查看源文件)思考题:1)既然可以直接计算DTFT,为什么利用DFT分析离散信号频谱?答:离散序列的DTFT是连续的周期函数,不适合计算机进行计算,而序列的DFT本身是一个序列,因此特别适合计算机进行计算。
实验五 利用DFT 分析模拟信号频谱一、实验目的应用离散傅里叶变换DFT 分析模拟信号x(t)的频谱,深刻理解利用DFT 分析模拟信号频谱的原理、分析过程中出现的现象及解决方法。
二、实验原理连续周期信号相对于离散周期信号,连续非周期信号相对于离散非周期信号,都可以通过时域抽样定理建立相互关系。
因此,在离散信号的DFT 分析方法基础上,增加时域抽样的步骤,就可以实现连续信号的DFT 分析。
利用DFT 计算连续周期信号 的频谱分析步骤为:(1) 确定周期信号的基本周期T 0;(2) 计算一个周期内的抽样点数N 。
若周期信号的最高次谐频为p 次谐波pw 0 ,则频谱中有2p +1根谱线;若周期信号的频谱无限宽,则认为集中信号90%以上(或根据工程允许而定)能量的前(p +1)次谐波为近似的频谱范围,其余谐波忽略不计。
取N >=2p +1;(3) 对连续周期信号以抽样间隔T= T 0 /N 进行抽样,得到x [k ] ;(4) 利用FFT 函数对x [k ]作N 点FFT 运算,得到X [m ];(5) 最后求得连续周期信号的频谱为X (nw 0)=X [m ]/N 。
已知周期信号: T0=1; N=19; T=T0/N; % 周期T0、FFT 的点数N 、抽样间隔Tt=0:T:T0;x=cos(2*pi*5*t)+2*sin(2*pi*9*t); %周期信号Xm=fft(x,N)/N; %利用FFT 计算其频谱f=(-(N-1)/2:(N-1)/2)/N/T;%若N 为偶数f=1/T/N*(-N/2:(N/2-1));stem(f,abs(fftshift(Xm))); %画出幅度谱xlabel('f (Hz)');ylabel('magnitude'); title('幅度谱');利用DFT 计算连续非周期信号x(t) 的频谱分析步骤为:(1)根据时域抽样定理,确定时域抽样间隔T ,得到离散序列x[k];(2) 确定信号截短的长度M 及窗函数的类型,得到有限长M 点离散序列xM[k]=x[k]w[k];(3) 确定频域抽样点数N ,要求N>=M ;(4) 利用FFT 函数进行N 点FFT 计算得到N 点的X[m];(5) 由X[m]可得连续信号频谱X(jw)样点的近似值三、实验内容1. 利用FFT 分析信号x(t)=exp(-2t)u(t)的频谱。
实验一应用DFT 和FFT 对信号进行频谱分析一、实验目的1. 加深对离散傅立叶变换(DFT )和快速傅立叶变换(FFT )的理解,掌握两种变换的编程实现方法。
2. 掌握应用FFT 对典型信号进行频谱分析的方法。
3. 比较DFT 和FFT ,理解FFT 的优点和不足。
二、实验原理及方法(参见教材) 1.频谱;2.序列的频谱;3.时域、频域采样的基本理论; 4.DFT 的意义及应用;5.DFT 用于频谱分析带来的问题(混淆、泄露、栅栏效应); 6.FFT 算法。
三、实验内容①观察高斯序列的时域和频域特性,(p, q 取值的影响),频域特性分别使用DFT 和FFT 求取。
a. p=8时,q=2, 4, 8;b. q=8时,p=8,13,14.②观察衰减正弦序列x b (n)的时域频域特性,频域特性分别使用DFT 和FFT 求取。
取a=0.1时,f=0.0625, 0.4375, 0.5625, 观察频谱的形状及谱峰位置,哪种取值时有混淆和泄露现象,说明原因。
③观察三角波序列和反三角波序列的时域和频域特性。
a. 用8点的FFT 分析x c (n)和 x d (n)的幅频特性,观察二者时域序列和频谱形状。
b. 在x c (n)和 x d (n)末尾补零,用16点FFT 分析其幅频特性,观察其较a. 的变化,分析原因。
c. 用DFT 分析其幅频特性,并与FFT 的结果进行比较。
四、实验步骤1、熟悉原理,掌握方法。
2、 编制信号频谱分析主程序和相应的子程序。
①信号产生子程序: a. 高斯(GAUSS )序列为参数其它q p n e n x q p n a ,,0150,)(2)(⎪⎪⎩⎪⎪⎨⎧≤≤=--b. 衰减正弦序列⎪⎩⎪⎨⎧≤≤=-其它,0150),2sin()(n fn e n x an b πc. 三角波序列⎪⎪⎩⎪⎪⎨⎧≤≤-≤≤+=其它,074,830,1)(n n n n n x cd. 反三角波序列⎪⎪⎩⎪⎪⎨⎧≤≤-≤≤-=其它,074,330,4)(n n n n n x d ②DFT 和FFT 子程序③信号频谱分析主程序 3、程序流程图如下:五、实验结果编制的程序界面如下:1、高斯序列的DFT及FFT变换2、衰减正弦序列的DFT及FFT变换3、三角波序列的DFT及FFT变换4、反三角波序列的DFT及FFT变换六讨论1 、刚开始试验时感觉无从下手,这是因为对C++不熟悉;后来在老师和同学的指导下,了解了基本操作后,自己才知道怎样做。