实验一FFT频谱分析及应用.docx
- 文档编号:3122672
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:9
- 大小:296.20KB
实验一FFT频谱分析及应用.docx
《实验一FFT频谱分析及应用.docx》由会员分享,可在线阅读,更多相关《实验一FFT频谱分析及应用.docx(9页珍藏版)》请在冰豆网上搜索。
实验一FFT频谱分析及应用
实验一FFT频谱分析及应用
实验学时:
2学时实验类型:
验证实验要求:
必修
一、实验目的:
1、学习MATLAB语言的编程和调试技巧;、
2、通过实验加深对FFT的理解;
3、熟悉应用FFT对典型信号进行频谱分析的方法。
二、实验内容
使用MATLAB程序实现信号频域特性的分析。
涉及到离散傅立叶变换(DFT)、快速傅立叶变换(FFT)及信号频率分辨率等知识点。
三、实验原理与方法和手段
在各种信号序列中,有限长序列占重要地位。
对有限长序列可以利用离散傅立叶变换(DFT)进行分析。
DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。
有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。
FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。
在MATLAB信号处理工具箱中的函数fft(x,n),可以用来实现序列的N点快速傅立叶变换。
经函数fft求得的序列一般是复序列,通常要求出其幅值和相位。
MATLAB中提供了求复数的幅值和相位的函数:
abs、angle,这些函数一般和fft同时使用。
四、实验组织运行要求
1、学生在进行实验前必须进行充分的预习,熟悉实验内容;
2、学生根据实验要求,读懂并理解相应的程序;
3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;
4、教师在学生实验过程中予以必要的辅导,独立完成实验;
5、采用集中授课形式。
五、实验条件
1、具有WINDOWS98/2000/NT/XP操作系统的计算机一台;
2.、MATLAB编程软件。
六、实验步骤
在“开始--程序”菜单中,找到MATLAB程序,运行启动;
进入MATLAB后,在CommandWindow中输入实验程序,并执行;
记录运行结果图形,作分析。
具体步骤如下:
1、模拟信号x(t)2sin(4t)5cos(8t),以t0.01n(n0:
N1)进行采样,求:
(1)N=40点FFT的幅度频谱,从图中能否观察出信号的2个频谱分量?
(2)提高采样点数,如N二128,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?
信号的2个模拟频率和数字频率各为多少?
FFT频谱分析结果与理论上是否一致?
2、一个连续信号含三个频谱分量,经采样得以下序列:
x(n)sin(20.15n)cos(2(0.15df)n)cos(2(0.152df)n)
(1)N=64,df分别为1.16、1/64,观察其频谱;
(2)N=64、128,df为1/64,做128点得FFT,其结果有何不同?
3、被噪声污染得信号,比较难看出所包含得频率分量,如一个由50Hz和120Hz
正弦信号构成的信号,受零均值随机噪声的干扰,数据采样率为1000Hz,试用
FFT函数来分析其信号频率成分,要求:
(1)画出时域波形;
(2)分析信号功率谱密度。
注:
在MATLAB中,可用函数rand(1,N)产生均值为0,方差为1,长度为N的高斯随机序列。
七、思考题
FFT对信号进行频谱分析时,信号的频率的分辨率与什么有关?
能否给出其数学关系?
八、实验报告要求
1、报告中要给出实验的MATLAB程序,并对每个语句给出注释,说明语句作
用;
2、简述实验目的和原理;
3、按实验步骤附上实验信号序列和幅频特性曲线,分析所得到的图形,说明参数改变时对时域和频域的影响;
4、总结实验中的主要结论;
5、收获和建议。
九、参考程序
程序1:
N=40;n=0:
N-1;
t=0.01*n;
x=2*sin(4*pi*t)+5*cos(8*pi*t);
k=0:
N/2;w=2*pi/N*k;
X=fft(x,N);
magX=abs(X(1:
N/2+1));
subplot(2,1,1);stem(n,x,'.');title('signalx(n)');
subplot(2,1,2);plot(w/pi,magX);title('FFTN=40');
xlabel('f(unit:
pi)');ylabel('|X|');grid
程序3:
t=0:
0.001:
0.8;x=sin(2*pi*50*t)+cos(2*pi*120*t);
y=x+1.5*randn(1,length(t));
subplot(3,1,1);plot(t,x);
subplot(3,1,2);plot(t,y);
%title('pressanykey,continue...');
%pause;
Y=fft(y,512);
P=Y.*conj(Y)/512;
f=1000*(0:
255)/512;
subplot(3,1,3);plot(f,P(1:
256));
附录:
MATLAB基本操作及常用命令
1、MATLAB勺启动
启动MATLA有多种方式,最常用的方法就是双击系统桌面的MATLA图标,也可以在开始菜单的程序选项中选择MATLA快捷方式。
初次启动MATLA后,将进入MATLA默认设置的桌面平台。
2、桌面平台
默认设置情况下的桌面平台包括6个窗口,分别是MATLA主窗口、命令窗口、历史窗口、当前目录窗口、发行说明书窗口和工作间管理窗口。
下面分别对各窗口做简单介绍。
(1)MATLA主窗口,与MATLAB勺早期版本不同的是,MATLAB6.1增加了一个主窗口,其他的几个窗口都包含在这个大的主窗口中。
(2)命令窗口,在主窗口的“View”菜单下选择“CommandWindow命令,可以打开或关闭MATLA的命令窗口。
其中|“>>”为运算提示符|,表示MATLAB正处在准备状态。
当在提示符后输入一段运算式并按Enter键后,MATLA将给出计算结果,|然后再次进入准备状态。
(3)历史窗口
在主窗口的“View”菜单下选择“CommandHistory”命令可以打开或关闭
MATLAB勺历史窗口。
(4)当前目录窗口
在主窗口的“View”菜单下选择“CurrentDirectory”命令,可以打开或关闭MATLA的当前目录窗口。
(5)发行说明书窗口
发行说明书窗口是MATLAB6.x版本所特有的,用来说明用户所拥有的Mathworks公司产品的工具包、演示以及帮助信息。
在主窗口的“View”菜单下
选择“LaunchPad”命令,可以打开或关闭该窗口。
(6)工作间窗口
在主窗口的“View”菜单下选择“Workspace"命令,可以打开或关闭MATLAB勺工作间窗口,工作间窗口是MATLA的重要组成部分。
2、MATLAB?
序编辑/调试器(编写算法程序的地方)
在MATLAB勺命令窗口中有三种方式可进入程序编辑/调试器:
(1选择菜单栏的“File”项中的“NeW或“Ope6项。
(2)选择工具栏的“NeW或“Ope6项。
(3)在命令窗口中输入edit命令。
在程序编辑/调试器里,不同的文本内容分别用不同颜色的字体显示。
其中MATLAB勺关键字如for、if、end等为蓝色,注释语句为绿色,字符串为红色,其他文本为黑色,颜色的设置非常醒目,便于调试。
在运行程序之前,|必须设置好MATLAB的工作路径,使得所要运行的程序及运行程序所需要的其他文件处在当前目录之下,只有这样,才可以使程序得以正常运行。
否则可能导致无法读取某些系统文件或数据,从而程序无法执行。
MATLAB勺程序类型有三种
1)脚本M文件
在命令窗口忤入并执行—它所用的变量都要在工作空间中获取,不需要输
入输出参数的调用,退出MATLAB!
就释放了。
2)程序M文件
以.m格式进行存取,|包含一连串的MATLAB旨令和必要的注解。
需要在工作
空间中创建并获取变量,也就是说处理的数据为命令窗口中的数据,没有输入参
数,也不会返回参数。
程序运行时只需在命令窗口中键入其名称即可(不需要后缀名)。
3)函数M文件(常称为M函数)
与在命令窗口中输入命令一样,函数接受输入参数,然后执行并输出结果。
用help命令可以显示它的注释说明。
具有标准的基本结构:
(1)函数定义行(关键字function)
function]。
ut1,out2,..]=filename(in1,in2,..)
输入和输出(返回)的参数个数分别由nargin和nargout两个MATLABS的变量来给出。
(2)第一行帮助行
以(%开头,作为lookfor指令搜索的行
(3)函数体说明及有关注解
以(%开头,用以说明函数的作用及有关内容
(4)函数体语句
函数体内使用的除返回和输入变量这些在function语句中直接引用的变
量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB的工作空间中清除掉。
如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量。
例如,实现加减法运算的M函数调用方法如下:
首先编写一个M函数:
(打开一个程序编辑器“Untitled”)
Function]。
utl,out2]=addec(inl,in2)
outl=inl+in2;
out2=inl-in2;
保存的文件名为addec(默认后缀名为.m)然后,在MATLAB勺命令窗口调用这个函数文件:
[a,b]=addec(10,20)
disp([a,b])%在命令窗口输出a、b的值
显示结果为:
3010
4、MATLAB?
助系统
1)单击MATLA吐窗口菜单的“Help”|“Demos选项,或在命令窗口输入demo,将进入MATLAB勺演示界面。
2)命令窗口查询帮助
help+关键词,显示所有帮助说明;lookfor+关键字,查讯相关函数,等等。
5、变量
(1)变量的命名:
|变量的名字必须以字母开头(不能超过19个字符)|,之后可以是任意字母、数字或下划线;变量名称|区分字母的大小可;变量中不能包含有标点符号。
(2)一些特殊的变量
ans:
用于结果的缺省变量名,i、j:
虚数单位,pi:
圆周率nargin:
函
数的输入变量个数
eps:
计算机的最小数,nargout:
函数的输出变量个数,inf:
无穷大,nan:
不定量
6向量的生成
由冒号运算符生成:
A二初值:
增值:
终值
女口:
A=0:
1:
9A=[0123456789]
7、矩阵的生成
1)在命令窗口中直接输入
》y=[2,4,5;368]
y=
245
368
2)由多个向量生成矩阵女口:
z=[x;y],x、y为向量。
3)一些常用的特殊矩阵
单位矩阵:
eye(m,n);eye(m),零矩阵:
zeros(m,n);zeros(m),一矩阵:
ones(m,n);ones(m)
对角矩阵:
对角元素向量V=[a1,a2,…,an]A=diag(V)
随机矩阵:
rand(m,n)产生一个mxn的均匀分布的随机矩阵
Y=randn(m,n)%生成mXn正态分布随机矩阵
8、矩阵运算
1)力□、减运算
运算符:
“+”和“―”分别为加、减运算符。
运算规则:
对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 FFT 频谱 分析 应用