上机实验标准报告样式Word格式.docx

上传人:b****1 文档编号:15338445 上传时间:2022-10-29 格式:DOCX 页数:10 大小:130.61KB
下载 相关 举报
上机实验标准报告样式Word格式.docx_第1页
第1页 / 共10页
上机实验标准报告样式Word格式.docx_第2页
第2页 / 共10页
上机实验标准报告样式Word格式.docx_第3页
第3页 / 共10页
上机实验标准报告样式Word格式.docx_第4页
第4页 / 共10页
上机实验标准报告样式Word格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

上机实验标准报告样式Word格式.docx

《上机实验标准报告样式Word格式.docx》由会员分享,可在线阅读,更多相关《上机实验标准报告样式Word格式.docx(10页珍藏版)》请在冰豆网上搜索。

上机实验标准报告样式Word格式.docx

一、实验目的

(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。

(2)熟悉FFT算法原理。

(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法分析误差及其原因,以便在实际中正确应用FFT。

二、实验内容

(1)x(n)=构造DFT函数计算x(n)的10点、20点DFT并画出图形。

(2)利用FFT对下列信号逐个进行谱分析并画出图形

a.x1(n)=(n)

b.x2(n)=cosn

c.x3(n)=sinn

以上3个序列的FFT变换区间为N=8,16。

(3)设一序列中含有两种频率成分,f1=2HZ,f2=2.05HZ,采样频率取为fs=10HZ,即x(n)=sin(2f1n/fs)+sin(2f2n/fs),要区分出这两种频率成份,必须满足N>400,为什么?

a.取x(n)(0≤n≤128),计算x(n)的DFTx(k)

b.将a中的x(n)以补零的方式使其加长到0≤n≤512,计算x(k)

c.取x(n)(0≤n<512)计算x(k)

(4)令x(k)=x2(n)+x3(n)用FFT计算8点和16点离散傅立叶变换并画出图形,分析DFT的线性

(5)令x(n)=x2(n)+jx3(n)用FFT计算8点和16点离散傅立叶变换并画出图形,分析DFT的对称性

三、实验原理

工程实际中能观测到的信号不可能是无限长的,只能从某时刻开始观测有限时间长度T的一段,这就相当于用一个窗函数对信号进行截断。

所谓信号的谱分析,就是对有限长的离散序列采用时域和频域的DFT算法进行变换,得到信号的离散谱。

因直接计算DFT的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大,所以在快速傅里叶变换(简称FFT)出现以前,直接用DFT算法进行谱分析和信号的实时处理是不切实际的。

由于系数是一个周期函数:

且是对称的:

正是基于这样的基本思想出现了快速傅立叶变化算法。

它的算法形式有很多种,但基本可以分成两大类:

时间抽取法(DIT-FFT)和频率抽取法(DIF-FFT)。

两者算法思想基本一致,只是划分方式略有差异,所以这里以DIT-FFT算法为例进行说明。

当N是2的整数次方时,称为基2的FFT算法。

首先将序列x(n)分解为两组,偶数项为一组,奇数项为一组:

将x1(r)和x2(r)分别进行N/2点的DFT得X1(k)和X2(k),且:

重复这一过程,可得到x(n)的FFT。

在MATLAB中,可直接利用内部函数fft进行计算,它是MATLAB系统本身提供的,而且采用机器语言,而不是MATLAB指令编制的,因此执行速度很快。

Ifft函数用于计算快速傅立叶逆变换。

四、实验的程序代码

(1)编写一个M文件,以文件名sy3_1.m保存在当前路径,具体代码如下:

N=10;

n1=[0:

N-1];

x1=[ones(1,6),zeros(1,N-6)];

Xk1=dft(x1,N);

figure

(1);

subplot(2,1,1);

stem(n1,x1);

subplot(2,1,2);

stem(n1,abs(Xk1));

N=20;

n2=[0:

x2=[ones(1,6),zeros(1,14)];

Xk2=dft(x2,N);

figure

(2);

stem(n2,x2);

stem(n2,abs(Xk2));

在命令窗口中键入sy3_1并回车运行,可以得到如图3-1所示的图形。

图3-1

由图3-1可知,对一个信号进行时域补零,再进行FFT运算得到的离散谱,包络不变,但是间隔更小,相当于进行了频域的插值。

(2)编写一个M文件,以文件名sy3_2.m保存在当前路径,具体代码如下:

N=64;

n=[0:

x1=[ones(1,4),zeros(1,N-4)];

x2=cos((pi/4)*n);

x3=sin((pi/8)*n);

y1=fft(x1);

y2=fft(x2);

y3=fft(x3);

m1=abs(y1);

stem(n,x1);

stem(n,m1)

m2=abs(y2);

stem(n,x2);

stem(n,m2)

figure(3);

m3=abs(y3);

stem(n,x3);

stem(n,m3);

在命令窗口中键入sy3_2并回车运行,可以得到如图3-2所示的图形。

图3-2

由图3-2可知,FFT作谱分析时,整个频谱关于N-1/2对称。

一个矩形序列的频谱包络是Sa函数曲线,而单一频率的正弦信号和余弦信号的频谱为两根离散的谱线。

(3)编写一个M文件,以文件名sy3_3.m保存在当前路径,具体代码如下:

N=128;

x=sin(2*pi*2*n/10)+sin(2*pi*2.05*n/10);

X=fft(x);

stem(n,x);

stem(n,abs(X));

x1=[x,zeros(1,384)];

X1=fft(x1);

511];

stem(n1,abs(X1));

N1=512;

N1-1];

x2=sin(2*pi*2*n2/10)+sin(2*pi*2.05*n2/10);

X2=fft(x2);

stem(n2,abs(X2));

在命令窗口中键入sy3_3并回车运行,可以得到如图3-3所示的图形。

图3-3

由图3-3可知,第一个图中N=128,两个频率成分无法区分;

第二个图中N=128,然后再补零为512,由实验3-2知,补零无法提高频谱分辨率,所以两个频率成分还是无法区分;

第三个图,是截取了序列的512个数据点,这是得到的频谱图可以清楚看到有两个频率成分。

因为F=2.05-2=0.05;

fc=2.05,所以Nmin=fs/F=200。

(4)编写一个M文件,以文件名sy3_4.m保存在当前路径,具体代码如下:

N=16;

x1=cos((pi/4)*n)+sin((pi/8)*n);

在命令窗口中键入sy3_4并回车运行,可以得到如图3-4所示的图形。

a.x2(n)=cosnb.x3(n)=sinn

c.x3(n)=x2(n)+x3(n)

图3-4

由图3-4可知,两个相同长度的序列相加得到的新序列,对应的新频谱等于原信号的频谱对应相加。

即FFT具有线性性质。

(5)编写一个M文件,以文件名sy3_5.m保存在当前路径,具体代码如下:

x1=cos((pi/4)*n)+j*sin((pi/8)*n);

stem(n,abs(x1));

在命令窗口中键入sy3_5并回车运行,可以得到如图3-5所示的图形。

图3-5

由图3-5可知,x(n)=x2(n)+jx3(n),其频谱包含实部x2(n)对应的共轭对称部分和jx3(n)对应的共轭反对称部分。

这就是DFT的共轭对称性。

五、实验总结

MATLAB提供FFT函数,可以方便的进行信号的谱分析。

运行该MATLAB程序后,得到如上图所示的频谱。

当N太小时,由于参与FFT的信号小于一个周期,所以作其FFT得到的频谱不能表达原信号x(n)的频谱。

当N满足Nmin=2fc/F时,正好取样了x(n)信号的至少一个周期。

从频谱图中可以看出:

当周期重复延长一个信号时,其频谱变密,但谱线位置不变。

当N=128,然后添零至N=512时,从FFT得到的频谱中可以看出:

该频谱图比N=128的频谱图密4倍

注意:

(1)填零运算提供了较密的频谱,而没有增加任何新的信息,因此它不能提供高分辩率的频谱。

(2)为得到高分辨率的频谱,需从实验或观察中取得更多的有效数据。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1