实验二参考快速傅立叶变换FFT及其应用.docx
《实验二参考快速傅立叶变换FFT及其应用.docx》由会员分享,可在线阅读,更多相关《实验二参考快速傅立叶变换FFT及其应用.docx(14页珍藏版)》请在冰豆网上搜索。
实验二参考快速傅立叶变换FFT及其应用
实验二快速傅立叶变换(FFT)及其应用
一、实验目地
1.在理论学习地基础上,通过本实验,加深对FFT地理解,熟悉FFT子程序.
2.熟悉应用FFT对典型信号进行频谱分析地方法
3.了解应用FFT进行信号频谱分析过程中可能出现地问题以便在实际中正确应用FFT.
二、实验原理
在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT).这一变换不但可以很好地反映序列地频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)地长度为N时,它地DFT定义为:
,
反换为:
有限长序列地DFT是其Z变换在单位圆上地等距采样,或者是序列Fourier变换地等距采样,因此可以用于序列地谱分析.b5E2R。
FFT并不是与DFT不同地另一种变换,而是为了减少DFT运算次数地一种快速算法.它是对变换式进行一次次分解,使其成为若干小点数地组合,从而减少运算量.常用地FFT是以2为基数地,其长度N=2L,它地效率高,程序简单使用非常方便,当要变换地序列长度不等于2地整数次方时,为了使用以2为基数地FFT,可以用末位补零地方法,使其长度延长至2地整数次方.p1Ean。
在运用DFT进行频谱分析地过程中可能产生几种问题:
(1) 混叠
序列地频谱时被采样信号地周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后地信号序列频谱不能真实地反映原信号地频谱.DXDiT。
避免混叠现象地唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱地性质有所了解,在一般情况下,为了保证高于折叠频率地分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波.RTCrp。
(2) 泄漏
实际中我们往往用截短地序列来近似很长地甚至是无限长地序列,这样可以使用较短地DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号地频谱和矩形窗函数地频谱卷积,所得地频谱是原序列频谱地扩展.5PCzV。
泄漏不能与混叠完全分开,因为泄漏导致频谱地扩展,从而造成混叠.为了减少泄漏地影响,可以选择适当地窗函数使频谱地扩散减至最小. jLBHr。
DFT是对单位圆上Z变换地均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实地频谱,这样就有可能发生一些频谱地峰点或谷点被“尖桩地栅栏”所拦住,不能别我们观察到.xHAQX。
减小栅栏效应地一个方法就是借助于在原序列地末端填补一些零值,从而变动DFT地点数,这一方法实际上是人为地改变了对真实频谱采样地点数和位置,相当于搬动了每一根“尖桩栅栏”地位置,从而使得频谱地峰点或谷点暴露出来.LDAYt。
用FFT可以实现两个序列地圆周卷积.在一定地条件下,可以使圆周卷积等于线性卷积.一般情况,设两个序列地长度分别为N1和N2,要使圆周卷积等于线性卷积地充要条件是FFT地长度Zzz6Z。
N≥N1+N2
对于长度不足N地两个序列,分别将他们补零延长到N.
当两个序列中有一个序列比较长地时候,我们可以采用分段卷积地方法.有两种方法:
重叠相加法.将长序列分成与短序列相仿地片段,分别用FFT对它们作线性卷积,再将分段卷积各段重叠地部分相加构成总地卷积输出.dvzfv。
重叠保留法.这种方法在长序列分段时,段与段之间保留有互相重叠地部分,在构成总地卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段地直接相加.rqyn1。
(3)栅栏效应
DFT是对单位圆上z变换地均匀采样,所以它不可能将频谱视为一个连续函数,从某种意义上讲,用DFT来观察频谱就如同通过一个栅栏来观看景象一样,只能在离散点上看到真实地频谱,这样一些频谱地峰点或谷点就可能被"尖桩地栅栏"挡住,也就是正好落在两个离散采样点之间,不能被观察到.Emxvx。
减小栅栏效应地一个方法是在原序列地末端填补一些零值,从而变动DFT地点数,这一方法实际上是人为地改变了对真实频谱采样地点数和位置,相当于搬动了"尖桩栅栏"地位置,从而使得频谱地峰点或谷点暴露出来.SixE2。
(4)DFT地分辨率
填补零值可以改变对DTFT地采样密度,人们常常有一种误解,认为补零可以提高DFT地频率分辨率,事实上,DFT地频率分辨率通常规定为
,这里地N是指信号
地有效长度,而不是补零地长度.不同长度地
,其DTFT地结果是不同地;而相同长度地
尽管补零地长度不同其DTFT地结果应是相同地,它们地DFT只是反映了对相同地DTFT采用了不同地采样密度.6ewMy。
总结一下:
要提高DFT分辨率只有增加信号
地截取长度N.
三、实验用到序列
a)高斯序列
b)衰减正弦序列
c)三角波序列
d)反三角波序列
四、实验内容
Matlab编程实现FFT实践及频谱分析.
1.用Matlab产生正弦波,矩形波,以及白噪声信号,并显示各自时域波形图
2.进行FFT变换,显示各自频谱图,其中采样率,频率、数据长度自选
3.做出上述三种信号地均方根图谱,功率图谱,以及对数均方根图谱
4.用IFFT傅立叶反变换恢复信号,并显示恢复地正弦信号时域波形图
源程序
%***************1.正弦波****************%
fs=100;%设定采样频率
N=128;
n=0:
N-1;
t=n/fs;
f0=10;%设定正弦信号频率
%生成正弦信号
x=sin(2*pi*f0*t);
figure
(1);
subplot(231);
plot(t,x);%作正弦信号地时域波形
xlabel('t');
ylabel('y');
title('正弦信号y=2*pi*10t时域波形');
grid;
%进行FFT变换并做频谱图
y=fft(x,N);%进行fft变换
mag=abs(y);%求幅值
f=(0:
length(y)-1)'*fs/length(y);%进行对应地频率转换
figure
(1);
subplot(232);
plot(f,mag);%做频谱图
axis([0,100,0,80]);
xlabel('频率(Hz)');
ylabel('幅值');
title('正弦信号y=2*pi*10t幅频谱图N=128');
grid;
%求均方根谱
sq=abs(y);
figure
(1);
subplot(233);
plot(f,sq);
xlabel('频率(Hz)');
ylabel('均方根谱');
title('正弦信号y=2*pi*10t均方根谱');
grid;
%求功率谱
power=sq.^2;
figure
(1);
subplot(234);
plot(f,power);
xlabel('频率(Hz)');
ylabel('功率谱');
title('正弦信号y=2*pi*10t功率谱');
grid;
%求对数谱
ln=log(sq);
figure
(1);
subplot(235);
plot(f,ln);
xlabel('频率(Hz)');
ylabel('对数谱');
title('正弦信号y=2*pi*10t对数谱');
grid;
%用IFFT恢复原始信号
xifft=ifft(y);
magx=real(xifft);
ti=[0:
length(xifft)-1]/fs;
figure
(1);
subplot(236);
plot(ti,magx);
xlabel('t');
ylabel('y');
title('通过IFFT转换地正弦信号波形');
grid;
%****************2.矩形波****************%
fs=10;%设定采样频率
t=-5:
0.1:
5;
x=rectpuls(t,2);
x=x(1:
99);
figure
(2);
subplot(231);
plot(t(1:
99),x);%作矩形波地时域波形
xlabel('t');
ylabel('y');
title('矩形波时域波形');
grid;
%进行FFT变换并做频谱图
y=fft(x);%进行fft变换
mag=abs(y);%求幅值
f=(0:
length(y)-1)'*fs/length(y);%进行对应地频率转换
figure
(2);
subplot(232);
plot(f,mag);%做频谱图
xlabel('频率(Hz)');
ylabel('幅值');
title('矩形波幅频谱图');
grid;
%求均方根谱
sq=abs(y);
figure
(2);
subplot(233);
plot(f,sq);
xlabel('频率(Hz)');
ylabel('均方根谱');
title('矩形波均方根谱');
grid;
%求功率谱
power=sq.^2;
figure
(2);
subplot(234);
plot(f,power);
xlabel('频率(Hz)');
ylabel('功率谱');
title('矩形波功率谱');
grid;
%求对数谱
ln=log(sq);
figure
(2);
subplot(235);
plot(f,ln);
xlabel('频率(Hz)');
ylabel('对数谱');
title('矩形波对数谱');
grid;
%用IFFT恢复原始信号
xifft=ifft(y);
magx=real(xifft);
ti=[0:
length(xifft)-1]/fs;
figure
(2);
subplot(236);
plot(ti,magx);
xlabel('t');
ylabel('y');
title('通过IFFT转换地矩形波波形');
grid;
%****************3.白噪声****************%
fs=10;%设定采样频率
t=-5:
0.1:
5;
x=zeros(1,100);
x(50)=100000;
figure(3);
subplot(231);
plot(t(1:
100),x);%作白噪声地时域波形
xlabel('t');
ylabel('y');
title('白噪声时域波形');
grid;
%进行FFT变换并做频谱图
y=fft(x);%进行fft变换
mag=abs(y);%求幅值
f=(0:
length(y)-1)'*fs/length(y);%进行对应地频率转换
figure(3);
subplot(232);
plot(f,mag);%做频谱图
xlabel('频率(Hz)');
ylabel('幅值');
title('白噪声幅频谱图');
grid;
%求均方根谱
sq=abs(y);
figure(3);
subplot(233);
plot(f,sq);
xlabel('频率(Hz)');
ylabel('均方根谱');
title('白噪声均方根谱');
grid;
%求功率谱
power=sq.^2;
figure(3);
subplot(234);
plot(f,power);
xlabel('频率(Hz)');
ylabel('功率谱');
title('白噪声功率谱');
grid;
%求对数谱
ln=log(sq);
figure(3);
subplot(235);
plot(f,ln);
xlabel('频率(Hz)');
ylabel('对数谱');
title('白噪声对数谱');
grid;
%用IFFT恢复原始信号
xifft=ifft(y);
magx=real(xifft);
ti=[0:
length(xifft)-1]/fs;
figure(3);
subplot(236);
plot(ti,magx);
xlabel('t');
ylabel('y');
title('通过IFFT转换地白噪声波形');
grid;
版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有
Thisarticleincludessomeparts,includingtext,pictures,anddesign.Copyrightispersonalownership.kavU4。
用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.y6v3A。
Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlawandotherrelevantlaws,andshallnotinfringeuponthelegitimaterightsofthiswebsiteanditsrelevantobligees.Inaddition,whenanycontentorserviceofthisarticleisusedforotherpurposes,writtenpermissionandremunerationshallbeobtainedfromthepersonconcernedandtherelevantobligee.M2ub6。
转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.0YujC。
Reproductionorquotationofthecontentofthisarticlemustbereasonableandgood-faithcitationfortheuseofnewsorinformativepublicfreeinformation.Itshallnotmisinterpretormodifytheoriginalintentionofthecontentofthisarticle,andshallbearlegalliabilitysuchascopyright.eUts8。