数字信号处理实验三FTT
- 格式:docx
- 大小:100.11 KB
- 文档页数:8
数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期:2013.频域采样定理验证实验一. 实验目的:1. 加深对离散序列频域抽样定理的理解2.了解由频谱通过IFFT 计算连续时间信号的方法3.掌握用MATLAB 语言进行频域抽样与恢复时程序的编写方法 4、用MATLAB 语言将X(k)恢复为X(z)及X(e jw )。
二. 实验原理:1、1、频域采样定理: 如果序列x(n)的长度为M ,频域抽样点数为N ,则只有当频域采样点数N ≥M 时,才有x N (n)=IDFT[X(k)]=x(n),即可由频域采样X(k)无失真的恢复原序列 x(n)。
2、用X(k)表示X(z)的内插公式:∑-=-----=10111)(1)(N k kNNzWz k X Nz X内插函数: zWzkNNN z 1k111)(-----=ϕ频域内插公式:∑-=-=10)2()()(N K j k Nk X e X πωϕω频域内插函数:e N j N N )21()2sin()2sin(1)(--=ωωωωϕ三. 实验任务与步骤:实验一:长度为26的三角形序列x(n)如图(b)所示,编写MATLAB 程序验证频域抽样定理。
实验二:已知一个时间序列的频谱为X(e jw )=2+4e -jw +6e -j2w +4e -j3w +2e -j4w分别取频域抽样点数N为3、5和10,用IPPT计算并求出其时间序列x(n),用图形显示各时间序列。
由此讨论原时域信号不失真地由频域抽样恢复的条件。
实验三:由X32(k)恢复X(z)和X(e jw)。
四.实验结论与分析:实验一:源程序:M=26;N=32;n=0:M; %产生M长三角波序列x(n)xa=0:floor(M/2);xb= ceil(M/2)-1:-1:0; xn=[xa,xb];Xk=fft(xn,512); %1024点FFT[x(n)], 用于近似序列x(n)的TFX32k=fft(xn,32); %32点FFT[x(n)]x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n)X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K)x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n)subplot(3,2,2);stem(n,xn,'.');box ontitle('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20])k=0:511;wk=2*k/512;subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])k=0:N/2-1;subplot(3,2,3);stem(k,abs(X16k),'.');box ontitle('(c) 16点频域');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200])n1=0:N/2-1;subplot(3,2,4);stem(n1,x16n,'.');box ontitle('(d) 16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20])k=0:N-1;subplot(3,2,5);stem(k,abs(X32k),'.');box ontitle('(e) 32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200])n1=0:N-1;subplot(3,2,6);stem(n1,x32n,'.');box ontitle('(f) 32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])结果如下所示:实验一分析:序列x(n)的长度M=26,由图中可以看出,当采样点数N=16<M时,x16(n)确实等于原三角序列x(n)以16为周期的周期延拓序列的主值序列。
数字信号处理实验报告实验名称: 信号处理中FFT 的应用 学号: 姓名:评语: 成绩:一、实验目的1、理解用FFT 对周期序列进行频谱分析时所面临的问题并掌握其解决方法。
2、掌握用时域窗函数加权处理的技术。
3、理解用FFT 对非周期信号进行频谱分析所面临的问题并掌握其解决方法。
二、实验原理与计算方法1、对周期序列进行频谱分析应注意的问题对时间序列作FFT 时,实际上要作周期延拓(如果取长序列的一段进行计算还要先作截断)。
周期序列是无限长时间序列,如果截断区间刚好就是该序列周期的整数倍,那么在进行周期延拓后,将还原出原来的周期序列,由此可以较精确地计算出的该周期序列的频谱。
反之,如果截断区间并不是该序列周期的整数倍,那么在进行周期延拓后,就不可能还原出原来的周期序列,由此计算出的频谱与该周期序列的频谱存在误差,而且误差的大小与截断区间的选取直接相关,如图4-1所示,其中幅度频谱的量值表示为)(log 20k X ,以dB(分贝)为单位。
这种误差是由于周期序列与矩形截断序列相乘在频域产生二者的频谱卷积形成的。
矩形窗的频谱是抽样函数序列fN j e f fN )1()sin()sin(--πππ,如图4-2所示。
除了k = 0处主瓣内集中了大部分的能量外,两旁的较小峰值处的旁瓣也分散了一部分能量,它与周期序列频谱卷积的结果使原来集中的频谱展宽,称为频率泄漏。
如果对已知周期的信号作频谱分析,在进行时域截断时,完全可以选取其周期的整数倍裁取,从而可以避免这种频率泄漏的发生。
不过,通常需要进行频谱分析的信号是周期未知的信号,或随机信号,无法判断它的周期值,为了尽量避免频率泄漏对结果的影响,在作时间截断时,就应选取其频谱的旁瓣较小的截断函数,以减轻泄漏问题。
2、时域窗函数的应用作为截断函数,矩形窗在作时间截断时,对所截取区间内的信号不加以任何影响,而其它的窗函数都将对所截取区间内的信号作加权处理。
除了在实验二中已经介绍过三角窗、Hanning 窗和Hamming 窗外,常用的窗函数还有很多,例如Parzen 窗、Kaiser 窗、Chebyshev )(k X )(k Xk k(a)时域周期整数倍截断 (b)时域非周期整数倍截断图 4-1 周期函数t Ωsin 的幅频曲线)(k Xk图 4-2 矩形窗的频谱窗、Tukey 窗、Poisson 窗、Caushy 窗、Gaussian 窗和Blackman 窗等等。
实验三 信号检测与分析一、实验目的1.掌握FFT 函数的用法。
2. 利用FFT 进行信号检测及谱分析。
3.了解信号截取长度对谱分析的影响。
二、实验内容1.利用FFT 计算信号功率谱。
2. 进行信号检测。
分析信号频谱所对应频率轴的数字频率和频率之间的关系。
3. 对例2,进一步增加截取长度和FFT 点数,如N 加大到256,观察信号频谱的变化,分析产生这一变化的原因。
在截取长度不变的条件下改变采样频率,观察信号频谱的变化,分析产生这一变化的原因。
4. 对例3,加大噪声到2*randn(1,N)和8*randn(1,N),画出并比较不同噪声下时域波形和频谱。
5. 用一个N 点FFT 计算两个长度为N 的实序列N 点离散傅里叶变换,并将结果和直接使用两个N 点FFT 得到的结果进行比较。
6.比较DFT 和FFT 的运算时间。
(计时函数 tic , toc)7. 比较利用FFT 计算线性卷积的和直接计算线性卷积的时间及结果。
(选作)8.对给定语音信号进行谱分析,写出采样频率,画出语音信号的波形及频谱,并分析语音信号的频率分布特点。
三、 实验报告要求1.记录例题程序的实验结果、图形。
2.写出自己编写的程序并记录结果、图形。
3.对实验结果进行分析。
% fft 一维快速傅立叶变换函数% 格式: y=fft(x) FFT 算法计算矢量x 的离散傅立叶变换,当x 为矩阵时,y 为矩阵x 的每一列 % 的FFT 。
%当x 的长度为2的幂次方时,则fft 采用基2的FFT 算法,否则采用稍慢的混合基算法。
% y=fft(x,n) 实现n 点FFT 。
当x 的长度小于n 时,fft 函数在x 的尾部补零,以构成n 点数据;% 当x 的长度大于n 时,fft 函数会截断序列x 。
当x 为矩阵时,fft 函数按类似的方法处理列长度。
% ifft 一维快速傅立叶反变换% 格式:y=ifft(x) 用于计算矢量x 的IFFT 。
资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载数字信号处理实验三离散时间傅里叶变换DTFT及IDTFT地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容数字信号处理实验三离散时间傅里叶变换DTFT及IDTFT一、实验目的:通过本实验,加深对DTFT和IDFT的理解。
熟悉应用DTFT对典型信号进行频谱分析的方法。
掌握用MATLAB进行离散时间傅里叶变换及其逆变换的方法。
二、实验内容:(1)自己生成正弦序列(如矩形序列,正弦序列,指数序列等),对其进行频谱分析,观察其时域波形和频域的幅频特性。
记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。
矩形序列:程序:M=10;N=2*M+1;T=0.5;n=-4*M:4*M;x=[zeros(1,3*M),ones(1,N),zeros(1,3*M)];w=[-15:0.1:15]+1e-10;X=sin(0.5*N*w*T)./sin(0.5*w*T);subplot(1,3,1);stem(n,x,'.');axis([-20,20,-0.1,1.1]),grid onxlabel('n'),title('(a)序列幅度')subplot(1,3,2),plot(w,X),grid onxlabel('\Omega'),title('(b)幅频特性')subplot(1,3,3),plot(w,X),grid onv=axis;axis([-pi/T,pi/T,v(3),v(4)]);xlabel('\Omega'),title('(c)横轴放大后幅频特性')set(gcf,'color','w')正弦序列:程序:n=-10:10;x=sin(n*pi);k=-200:200;w=(pi/100)*k;X=x*(exp(-j*pi/100)).^(n'*k); magX=abs(X);angX=angle(X);subplot(3,1,1);stem(n,x,'.k');title('x(n)=sin(πn)');subplot(3,1,2);plot(w/pi,magX,'.k');title('X(e^jw)幅度谱');subplot(3,1,3);plot(w/pi,angX,'.k');title('X(e^jw)相位谱');n=-10:10; x=sin(n*pi);k=-200:200;w=(pi/100)*k;X=x*(exp(-j*pi/100)).^(n'*k); magX=abs(X);angX=angle(X);subplot(3,1,1);stem(n,x,'.k');title('x(n)=sin(πn)');subplot(3,1,2);plot(w/pi,magX,'.k');title('X(e^jw)幅度谱');subplot(3,1,3);plot(w/pi,angX,'.k');title('X(e^jw)相位谱');波形如下:指数序列:程序:n=-5:5;x=(-0.1).^n;k=-200:200;w=(pi/100)*k;X=x*(exp(-j*pi/100)).^(n'*k);magX=abs(X);angX=angle(X);subplot(2,1,1);plot(w/pi,magX,'k');grid;axis([-2,2,0,15])xlabel('frequency in units of\pi');ylabel('|x|')gtext('Magnitde Part')subplot(2,1,2);plot(w/pi,angX,'k')/pi,grid;axis([-2,2,-4,4])xlabel('frequency in units of\pi');ylabel('radians\pi') gtext('Angle Part');2.对于理想的低通,高通滤波器,用 IDTFT 求出它的逆变换所对应得离散时间序列。
FFT 快速傅里叶变换及其应用一、 实验目的(1)在理论学习的基础上,通过本实验,加深对FFT 的理解,熟悉MATLAB 中的有关函数。
(2)应用FFT 对典型信号进行频谱分析。
(3)了解应用FFT 进行频谱分析过程中可能出现的问题,以便在实际中正确引用FFT 。
(4)应用FFT 实现序列的线性卷积和相关。
二、实验内容 1. 高斯序列p=8时域和幅频特性曲线分析:P 固定时,时域:q 越大,高斯序列越宽,但峰值不变。
频域:q 越大,频谱峰值越高,谱峰间距越宽,即谱峰越尖锐。
q=8时域和幅频特性曲线51015200123q=2q=405101520024q=4q=805101520510q=8分析:q 固定时,时域:p 的改变使峰值位置移动。
频域:p 越小,频谱峰值越高,谱峰间距越宽,即谱峰越尖锐。
P 大于等于11后开始出现泄漏,混叠也随之出现。
2.正弦序列时域和幅频特性p=851015200246p=80510152005p=130510152024p=145101520f=0.06255101520024f=0.062505101520f=0.437505101520024f=0.437505101520f=0.56250510152024f=0.5625f=0.0625时,谱峰位置出现正确。
f=0.4375 、f=0.5625时,谱峰的位置出现错误,出现明显的混叠。
原因:采样频率过低,截短长度N=16不是正弦信号周期的整数倍,出现泄漏。
3.三角波和反三角波 N=8分析:时域:波形相当于作了周期移位。
频域:频谱曲线相同。
N=32024680246801020304051015200102030405101520补零且N增大以后,三角波序列和反三角波序列的频谱曲线不再相同,反三角序列的频谱出现很多小峰。
两种情况下的fft频谱主峰大致相同。
三角序列补零后,频谱基本不变;反三角序列补零后,之前不能显现的谱峰出现。
数字信号处理实验三数字信号处理实验三是一项实验任务,旨在通过实践掌握数字信号处理的相关知识和技能。
本实验要求参与者完成以下内容:1. 实验目的:本实验旨在通过使用数字信号处理工具和算法,对信号进行采样、量化、滤波、频谱分析等处理,掌握数字信号处理的基本概念和方法。
2. 实验设备和材料:- 个人电脑- 数字信号处理软件(如MATLAB、Python等)- 信号发生器- 数字示波器- 数据采集卡(可选)3. 实验步骤:此处以使用MATLAB进行数字信号处理为例,具体步骤如下:1) 准备信号发生器和数字示波器,并连接好相应的线缆。
2) 打开MATLAB软件,创建一个新的脚本文件。
3) 在脚本文件中编写代码,生成一个模拟信号(如正弦波、方波等)。
4) 使用MATLAB提供的采样函数,对模拟信号进行采样,并将采样数据保存到一个数组中。
5) 对采样数据进行量化处理,将连续的模拟信号转换为离散的数字信号。
6) 对量化后的信号进行数字滤波处理,去除噪声或不需要的频率分量。
7) 使用MATLAB提供的频谱分析函数,对滤波后的信号进行频谱分析,得到信号的频谱特性。
8) 可选:如果有数据采集卡,可以将信号从信号发生器输入到数据采集卡中,然后使用MATLAB读取和处理采集到的数据。
9) 运行脚本文件,观察并分析处理后的信号的时域波形和频谱特性。
10) 根据实验要求,记录实验数据和结果,并进行相应的分析和总结。
4. 实验数据处理和分析:在实验过程中,根据实验要求和脚本文件编写的代码,可以得到一系列的实验数据和结果。
对于这些数据和结果,可以进行以下处理和分析:- 绘制原始信号的时域波形和频谱图,观察信号的特征和频谱分布。
- 对比不同采样率下的信号重构效果,分析采样率对信号质量的影响。
- 分析量化误差对信号质量的影响,比较不同量化位数下的信号重构效果。
- 比较不同滤波算法对信号滤波效果的影响,选择合适的滤波算法进行信号处理。
实验二 用FFT 对信号作频谱分析201141302117 11通信1班 陈伟宏1.实验目的学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。
2. 实验原理用FFT 对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。
频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是N /2π,因此要求D N ≤/2π。
可以根据此式选择FFT 的变换区间N 。
误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
3.实验步骤及内容(1)对以下序列进行谱分析。
⎪⎩⎪⎨⎧≤≤-≤≤-=⎪⎩⎪⎨⎧≤≤-≤≤+==其它nn n n n n x 其它nn n n n n x n R n x ,074,330,4)(,074,830,1)()()(3241选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
clear all ;close all x1n=ones(1,4);M=8;xa=1:(M/2); xb=(M/2) :-1:1; x2n=[xa,xb]; x3n= [xb,xa]; X1k8=fft(x1n,8); X1k16=fft(x1n,16);X2k8=fft(x2n,8); X2k16=fft(x2n,16); X3k8=fft(x3n,8); X3k16=fft(x3n,16);n=0:length(X1k8)-1;k1=2*n/length(X1k8);subplot(3,2,1); stem(k1,abs(X1k8),'.');title('(1a) 8点DFT[x_1(n) ]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X1k8))])n=0:length(X1k16)-1;k2=2*n/length(X1k16);subplot(3,2,2); stem(k2,abs(X1k16),'.');title('(1b)16点DFT[x_1(n)]');xlabel('ω/π') ;ylabel('幅度');axis([0,2,0,1.2*max(abs(X1k16))])n=0:length(X2k8)-1;k3=2*n/length(X2k8);subplot(3,2,3); stem(k3,abs(X2k8),'.');title('(2a) 8点DFT [x_2(n)]');xlabel('ω/π') ;ylabel('幅度');axis([0,2,0,1.2*max(abs(X2k8))])n=0:length(X2k16)-1;k4=2*n/length(X2k16);subplot(3,2,4); stem(k4,abs(X2k16),'.');title('(2b)16点DFT[x_2(n) ]');xlabel('ω/π') ;ylabel('幅度');axis( [0,2,0,1.2*max(abs(X2k16))])n=0:length(X3k8)-1;k5=2*n/length(X3k8);subplot(3,2,5); stem(k5,abs(X3k8),'.');title('(3a) 8点DFT[x_3(n)]');xlabel('ω/π') ;ylabel('幅度');axis([0,2,0,1.2*max(abs(X3k8))])n=0:length(X3k16)-1;k6=2*n/length(X3k16);subplot(3,2,6); stem(k6,abs(X3k16),'.');title('(3b)16点DFT[x_3(n)]');xlabel('ω/π') ;ylabel('幅度');axis([0,2,0,1.2*max(abs(X3k16))])(2)对以下周期序列进行谱分析。
班级 学号 姓名实验三 离散时间系统的频域分析一、实验目的(1)了解DFS 、DFT 与DTFT 的联系;加深对FFT 基本理论的理解;掌握用MATLB 语言进行傅里叶变换时常用的子函数;(2)了解离散系统的零极点与系统因果性和稳定性的关系;加深对离散系统的频率响应特性基本概念的理解;熟悉MATLAB 中进行离散系统零极点分析的常用子函数;掌握离散系统幅频响应和相频响应的求解方法。
二、实验内容1. 已知离散时间系统函数为()432143213.07.05.11.112.01.03.01.02.0--------+-+-++++=z z z z z z z z z H求该系统的零极点;画出零极点分布图(提示:用zplane 实现);判断系统的因果、稳定性。
程序代码:a=[0.2 0.1 0.3 0.1 0.2];b=[1 -1.1 1.5 -0.7 0.3];r1=roots(a) %求分子多项式的根,即系统的零点r2=roots(b) %求分母多项式的根,即系统的极点figure(1)zplane(a,b); %调用zplane 函数画零极点图运行结果:r1 =-0.5000 + 0.8660i-0.5000 - 0.8660i0.2500 + 0.9682i0.2500 - 0.9682ir2 =0.2367 + 0.8915i0.2367 - 0.8915i0.3133 + 0.5045i0.3133 - 0.5045i由图像可知该系统的全部极点都在单位圆内,所以该系统因果稳定。
2. 已知离散时间系统的系统函数为()432143213.07.05.11.112.01.03.01.02.0--------+-+-++++=z z z z z z z z z H 求该系统在π~0频率范围内的幅频响应、相频响应。
(提示:用freqz 实现)程序文件:a=[0.2 0.1 0.3 0.1 0.2];b=[1 -1.1 1.5 -0.7 0.3];[h,w]=freqz(a,b);c=abs(h); %取幅度d=angle(h); %取相角figure(1)subplot(2,1,1)plot(w,c); %画幅频特性曲线title('幅频特性曲线');subplot(2,1,2)plot(w,d); %画相频特性曲线title('相频特性曲线');运行结果:3. 已知()[]301,2,4,8≤≤=n n x ,画出由离散时间傅里叶变换求得的幅度谱()()[]ωωj j e arg e X X 和图形。
实验5 FFT 算法的应用实验目的:加深对离散信号的DFT 的理解及其FFT 算法的运用。
实验原理:N 点序列的DFT 和IDFT 变换定义式如下:10[][]N kn N n X k x n W -==∑,101[][]N kn N k x n X k W N --==∑ 利用旋转因子2j nk knN N W e π-=具有周期性,可以得到快速算法(FFT )。
在MATLAB 中,可以用函数X=fft (x ,N )和x=ifft (X ,N )计算N 点序列的DFT 正、反变换。
实验内容:2N 点实数序列⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧-=+=n N n n Nn N n x 其它,012,...,2,1,0),192cos(21)72cos()(ππN=64。
用一个64点的复数FFT 程序,一次算出N n x DFT k X 2)]([)(=,并绘出)(k X 。
(2)已知某序列)(n x 在单位圆上的N=64等分样点的Z 变换为63,...,2,1,0,8.011)()(/2=-==-k e k X z X N k j k π。
用N 点IFFT 程序计算)]([)(_k X IDFT n x =,绘出和)(_n x 。
实验要求:利用MATLAB 编程完成计算,绘出相应图形。
并与理论计算相比较,说明实验结果的原因。
实验步骤:2N 点实数序列x (n )的64点的复数FFT :>> k=0:N-1;>> n1=2*n;>> n2=2*n-1;>> x1=cos(2*pi*7*n1/N)+1/2*cos(2*pi*19*n1/N); >> x2=cos(2*pi*7*n2/N)+1/2*cos(2*pi*19*n2/N); >> XK1=fft(x1,64);>> XK2=fft(x2,64);>> XK11=XK1+(exp(-j*2*pi*k/N)).*XK2;>> XK22=XK1-(exp(-j*2*pi*k/N)).*XK2;>> XK11=[zeros(1,N),XK11];>> XK22=[XK22,zeros(1,N)];>> Xk=XK11+XK22;>> k=0:1:2*N;>> mag=abs(Xk);>> stem(mag);>> xlabel('k');>> ylabel('幅度|X(k)|');>> title('128点序列x(n)的64点的复数FFT'); >>(2) X(k)的N点IFFT:>> N=64;>> n=0:N-1;>> Xk=1./(1-0.8.*exp(-2*pi*j*n/N));>> xn=ifft(Xk,N);>> stem(xn);>> xlabel('时间序列n');>> ylabel('序列x(n)'); >> title('X(k)的ifft变换'); >>。
实验二 用FFT 对信号作频谱分析201141302117 11通信1班 陈伟宏1.实验目的学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。
2. 实验原理用FFT 对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。
频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是N /2π,因此要求D N ≤/2π。
可以根据此式选择FFT 的变换区间N 。
误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
3.实验步骤及内容(1)对以下序列进行谱分析。
⎪⎩⎪⎨⎧≤≤-≤≤-=⎪⎩⎪⎨⎧≤≤-≤≤+==其它nn n n n n x 其它nn n n n n x n R n x ,074,330,4)(,074,830,1)()()(3241选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
clear all ;close all x1n=ones(1,4);M=8;xa=1:(M/2); xb=(M/2) :-1:1; x2n=[xa,xb]; x3n= [xb,xa]; X1k8=fft(x1n,8); X1k16=fft(x1n,16);X2k8=fft(x2n,8); X2k16=fft(x2n,16); X3k8=fft(x3n,8); X3k16=fft(x3n,16);n=0:length(X1k8)-1;k1=2*n/length(X1k8);subplot(3,2,1); stem(k1,abs(X1k8),'.');title('(1a) 8点DFT[x_1(n) ]');xlabel('ω/π');ylabel('幅度');axis([0,2,0,1.2*max(abs(X1k8))])n=0:length(X1k16)-1;k2=2*n/length(X1k16);subplot(3,2,2); stem(k2,abs(X1k16),'.');title('(1b)16点DFT[x_1(n)]');xlabel('ω/π') ;ylabel('幅度');axis([0,2,0,1.2*max(abs(X1k16))])n=0:length(X2k8)-1;k3=2*n/length(X2k8);subplot(3,2,3); stem(k3,abs(X2k8),'.');title('(2a) 8点DFT [x_2(n)]');xlabel('ω/π') ;ylabel('幅度');axis([0,2,0,1.2*max(abs(X2k8))])n=0:length(X2k16)-1;k4=2*n/length(X2k16);subplot(3,2,4); stem(k4,abs(X2k16),'.');title('(2b)16点DFT[x_2(n) ]');xlabel('ω/π') ;ylabel('幅度');axis( [0,2,0,1.2*max(abs(X2k16))])n=0:length(X3k8)-1;k5=2*n/length(X3k8);subplot(3,2,5); stem(k5,abs(X3k8),'.');title('(3a) 8点DFT[x_3(n)]');xlabel('ω/π') ;ylabel('幅度');axis([0,2,0,1.2*max(abs(X3k8))])n=0:length(X3k16)-1;k6=2*n/length(X3k16);subplot(3,2,6); stem(k6,abs(X3k16),'.');title('(3b)16点DFT[x_3(n)]');xlabel('ω/π') ;ylabel('幅度');axis([0,2,0,1.2*max(abs(X3k16))])(2)对以下周期序列进行谱分析。
4()cos4x n n π=5()cos(/4)cos(/8)x n n n ππ=+选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
N=8;n=0:N-1; x4n=cos(pi*n/4) ;x5n=cos(pi*n/4)+cos(pi*n/8) ; X4k8=fft(x4n) ; X5k8=fft(x5n) ; N=16;n=0:N -1; x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8) ; X4k16=fft(x4n) ; X5k16=fft(x5n) ;b=0:length(X4k8)-1;l1=2*b/length(X4k8); subplot(2,2,1);stem(l1,X4k8,'.'); title('(4a) 8点DFT[x_4(n)]'); xlabel('ω/π');ylabel('幅度'); axis( [0,2,0,1.2*max(abs(X4k8))])b=0:length(X4k16)-1;l2=2*b/length(X4k16);subplot(2,2,2);stem(l2,X4k16,'.'); title('(4b)16点DFT[x_4(n)]'); xlabel('ω/π') ;ylabel('幅度'); axis( [0,2,0,1.2*max(abs(X4k16))]) b=0:length(X5k8)-1;l3=2*b/length(X5k8); subplot(2,2,3);stem(l3,X5k8,'.');title('(5a) 8点DFT[x_5(n)]');xlabel('ω/π') ; ylabel('幅度');axis([0,2,0,1.2*max(abs(X5k8))])b=0:length(X5k16)-1;l4=2*b/length(X5k16); subplot(2,2,4);stem(l4,X5k16,'.');title('(5b)16点DFT[x_5(n)]');xlabel('ω/π') ; ylabel('幅度');axis( [0,2,0,1.2*max(abs(X5k16))])(3)对模拟周期信号进行谱分析 6()cos8cos16cos20x t t t t πππ=++选择 采样频率Hz F s 64=,变换区间N=16,32,64 三种情况进行谱分析。
分别打印其幅频特性,并进行分析和讨论。
Fs=64;T=1/Fs;N=16;n=0:N-1;x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k16=fft(x6nT);X6k16=fftshift(X6k16);Tp=N*T ;F=1/Tp;k= 0:N-1;fk=k*F;subplot(3,1,1);stem(fk,abs(X6k16),'.');box ontitle('(6a) 16点|DFT[x_6(nT)]|'); xlabel('f(Hz)');ylabel('幅度');axis( [0,N*F-1, 0,1.2*max(abs(X6k16))])N=32 ;n=0:N-1;x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T) ; X6k32=fft(x6nT) ;X6k32=fftshift(X6k32) ;Tp=N*T;F=1/Tp;k=0:N-1;fk=k*F;subplot(3,1,2);stem(fk,abs(X6k32),'.');title('(6b) 32点|DFT [x_6(nT) ]|');xlabel('f(Hz)') ;ylabel('幅度');axis( [0, N*F-1,0, 1.2*max(abs(X6k32))])N=64;n=0:N -1;x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T) ;X6k64=fft(x6nT) ;X6k64=fftshift(X6k64) ;Tp=N*T ;F=1/Tp;k= 0:N-1;fk=k*F;subplot(3,1,3);stem(fk,abs(X6k64),'.');title('(6a) 64点|DFT[x_6(nT) ]|');xlabel('f(Hz)') ;ylabel('幅度');axis([0,N*F-1,0, 1.2*max(abs(X6k64))])程序运行结果分析讨论:请读者注意,用DFT (或FFT )分析频谱,绘制频谱图时,最好将X(k)的自变量k 换算成对应的频率,作为横坐标便于观察频谱。
2, 0,1,2,,1k k k N Nπω==-为了便于读取频率值,最好关于π归一化,即以/ωπ作为横坐标。
1、实验内容(1)图(1a )和(1b )说明14()()x n R n =的8点DFT 和16点DFT 分别是1()x n 的频谱函数的8点和16点采样; 因为3288()((3))()x n x n R n =+,所以,3()x n 与2()x n 的8点DFT 的模相等,如图(2a )和(3a )。