实验二快速傅里叶变换FFT及其应用.docx

上传人:b****2 文档编号:1627865 上传时间:2023-05-01 格式:DOCX 页数:21 大小:304.48KB
下载 相关 举报
实验二快速傅里叶变换FFT及其应用.docx_第1页
第1页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第2页
第2页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第3页
第3页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第4页
第4页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第5页
第5页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第6页
第6页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第7页
第7页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第8页
第8页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第9页
第9页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第10页
第10页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第11页
第11页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第12页
第12页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第13页
第13页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第14页
第14页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第15页
第15页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第16页
第16页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第17页
第17页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第18页
第18页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第19页
第19页 / 共21页
实验二快速傅里叶变换FFT及其应用.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验二快速傅里叶变换FFT及其应用.docx

《实验二快速傅里叶变换FFT及其应用.docx》由会员分享,可在线阅读,更多相关《实验二快速傅里叶变换FFT及其应用.docx(21页珍藏版)》请在冰点文库上搜索。

实验二快速傅里叶变换FFT及其应用.docx

实验二快速傅里叶变换FFT及其应用

实验二-快速傅里叶变换(FFT)及其应用

《数字信号处理》课程

(2010-2011学年第1学期)成绩:

 

实验二快速傅里叶变换(FFT)及其应用

 

学生姓名:

闫春遐

所在院系:

电子信息工程学院自动化系

年级专业:

2008级自动化系

学号:

00824049

指导教师:

王亮

完成日期:

2010年9月27日

实验二快速傅里叶变换(FFT)及其应用

一、实验目的

(1)在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉MATLAB中的有关函数。

(2)应用FFT对典型信号进行频谱分析。

(3)了解应用FFT进行信号频谱分析过程可能出现的问题,以便在实际中正确应用FFT。

(4)应用FFT实现序列的线性卷积和相关。

二、实验内容

实验中用到的信号序列:

a)高斯序列

b)衰减正弦序列

c)三角波序列

d)反三角波序列

上机实验内容:

(1)观察高斯序列的时域和幅频特性,固定信号

中参数

,改变

的值,使

分别等于2、4、8,观察他们的时域和幅频特性,了解当

取不同值时,对信号的时域和幅频特性的影响;固定

,改变

,使

分别等于8、13、

随着q值的增大,时域信号幅值变化缓慢,频域信号频谱泄露程度减小。

随着p的增大,时域信号幅值不变,会在时间轴移位。

(2)观察衰减正弦序列

的时域和幅频特性,

,检查普峰出现的位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变

,使

分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和普峰出现的位置,有无混叠和泄漏现象?

说明产生现象的原因。

解答:

>>n=0:

1:

15;

>>xn=exp(-0.1*n).*sin(2*pi*0.0625*n);

>>subplot(1,2,1);stem(n,xn);xlabel('t/T');ylabel('x(n)');

>>xk1=fft(xn);xk1=abs(xk1);

>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');

>>xn=exp(-0.1*n).*sin(2*pi*0.4375*n);

>>subplot(1,2,1);stem(n,xn);xlabel('t/T');ylabel('x(n)');

>>xk1=fft(xn);xk1=abs(xk1);

>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');

>>xn=exp(-0.1*n).*sin(2*pi*0.5625*n);

>>subplot(1,2,1);stem(n,xn);xlabel('t/T');ylabel('x(n)');

>>xk1=fft(xn);xk1=abs(xk1);

>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');

(3)观察三角波和反三角波的时域和幅频特性,用

点FFT分析信号序列

的幅频特性,观察两者的序列形状和频谱曲线有什么异同?

绘出两序列及其幅频特性曲线。

末尾补零,用

点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?

两种情况下的FFT频谱还有相同之处吗?

这些变化说明了什么?

解答:

>>forn=0:

1:

3

xcn(n+1)=n;

end;

>>forn=4:

1:

7

xcn(n+1)=8-n;

end;

>>xcn

xcn=

01234321

>>n=0:

1:

7;

>>subplot(1,2,1);stem(n,xcn);xlabel('t/T');ylabel('x(n)');

>>xk1=fft(xcn);xk1=abs(xk1);

>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');

>>forn=0:

1:

3

xdn(n+1)=4-n;

end;

>>forn=4:

1:

7

xdn(n+1)=n-4;

end;

>>xdn

xdn=

43210123

>>n=0:

1:

7;

>>subplot(1,2,1);stem(n,xdn);xlabel('t/T');ylabel('x(n)');

>>xk1=fft(xdn);xk1=abs(xk1);

>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');

>>xcn=[xcn,zeros(1,24)];

>>n=0:

1:

31;

>>subplot(1,2,1);stem(n,xcn);xlabel('t/T');ylabel('x(n)');

>>xk1=fft(xcn);xk1=abs(xk1);

>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');

>>xdn=[xdn,zeros(1,24)];

>>n=0:

1:

31;

>>subplot(1,2,1);stem(n,xdn);xlabel('t/T');ylabel('x(n)');

>>xk1=fft(xdn);xk1=abs(xk1);

>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');

时,

的幅频特性相同,在

末尾补零,用

点FFT分析这两个信号的幅频特性时,它们还有相同之处,即当

取4的整数倍时对应幅值相等。

分析:

点FFT分析信号的幅频特性:

点FFT分析信号的幅频特性:

由上两式可知,当k2=4k1时,两个信号的对应频率幅值相等,即对信号末尾补零加长整数个周期可以对原信号达到细化频谱的作用。

(4)一个连续时间信号含两个频率分量,经采样得

已知

分别为1/16和1/64,观察其频谱;当

时,

不变,其结果有何不同,为什么?

解答:

>>n=0:

1:

15;

>>x1n=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/16)*n);

>>xk1=fft(x1n);xk1=abs(xk1);

>>subplot(1,2,1);stem(n,xk1);xlabel('k');ylabel('X(k)');legend('f=1/16');

>>x2n=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/64)*n);

>>xk2=fft(x2n);xk2=abs(xk2);

>>subplot(1,2,2);stem(n,xk2);xlabel('k');ylabel('X(k)');legend('f=1/64');

>>n=0:

1:

127;

>>x1n=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/16)*n);

>>xk1=fft(x1n);xk1=abs(xk1);

>>stem(n,xk1);xlabel('k');ylabel('X(k)');legend('f=1/16');

>>x2n=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/64)*n);

>>xk2=fft(x2n);xk2=abs(xk2);

>>stem(n,xk2);xlabel('k');ylabel('X(k)');legend('f=1/64');

分析:

由于离散傅里叶变换的选频性质:

不等于整数时,则信号频谱会发生泄漏。

(5)用FFT分别计算

)和

)的16点循环卷积和线性卷积。

解答:

>>n=0:

1:

15;

>>xan=exp(-(n-8).^2/2);

>>xbn=exp(-0.1*n).*sin(2*pi*0.0625*n);

>>subplot(4,1,1);stem(n,xan);xlabel('n');ylabel('xa(n)');

>>subplot(4,1,2);stem(n,xbn);xlabel('n');ylabel('xb(n)');

>>xak=fft(xan);xbk=fft(xbn);x1k=xak.*xbk;

>>x1n=ifft(x1k);

>>subplot(4,1,3);stem(n,x1n);xlabel('n');ylabel('x1(n)');legend('循环卷积');

>>x2n=conv(xan,xbn);

>>m=0:

1:

length(x2n)-1;

>>subplot(4,1,4);stem(m,x2n);xlabel('n');ylabel('x2(n)');legend('线性卷积');

(6)产生一512点的随机序列

,并用

做线性卷积,观察卷积前后

频谱的变化。

要求将

分成8段,分别采用重叠相加法和重叠保留法。

解答:

在编辑调试窗中编写程序:

functionyy=xeni(N2,xen,i)

forn=N2*i:

1:

N2*(i+1)-1

xeni(n-N2*i+1)=xen(n+1);

end

yy=xeni;

将上述文件存盘,文件名为xeni.m。

functionyy=xenni(N1,N2,xen,i)

forn=N2*i:

1:

N1+N2*(i+1)-2

xeni(n-N2*i+1)=xen(n+1);

end

yy=xeni;

将上述文件存盘,文件名为xenni.m。

functiont=shiftmm(a,n)

m=length(n);

fori=1:

1:

a;

forj=m+i-1:

-1:

1

n(j+1)=n(j);

end;

end;

fori=1:

1:

a

n(i)=0;

end;

t=n;

将上述文件存盘,文件名为shiftmm.m。

退回到指令窗:

>>xcn=[01234321];xen=rand(1,512);

>>qqqqq=conv(xcn,xen);

>>stem([0:

1:

518],qqqqq);xlabel('n');ylabel('幅度');

>>N1=length(xcn);N2=length(xen)/8;

>>xcn=[xcnzeros(1,N2-1)];

>>xck=fft(xcn);

>>fori=1:

1:

8

xenii=xeni(N2,xen,i-1);

xenii=[xeniizeros(1,N1-1)];

xeki=fft(xenii);

yki=xck.*xeki;

yni=ifft(yki);

y(i,:

)=yni;

end;

>>fori=0:

1:

7

forj=0:

1:

i*N2-1

ynii(i+1,[0+1:

1:

i*N2-1+1])=0;

end;

forj=i*N2:

1:

N1+(i+1)*N2-2

ynii(i+1,[i*N2+1:

1:

N1+(i+1)*N2-2+1])=y(i+1,:

);

end;

forj=N1+(i+1)*N2-1:

1:

N1+8*N2-2

ynii(i+1,[N1+(i+1)*N2-1+1:

1:

N1+8*N2-2+1])=0;

end;

end;

>>yn=zeros(1,N1+8*N2-1);

>>fori=1:

1:

8

yn=yn+ynii(i,:

);

end;

>>n=0:

1:

N1+8*N2-2;

>>stem(n,yn);xlabel('n');ylabel('幅度');legend('重叠相加法');

>>xen21=shiftmm(N1-1,xen);

>>fori=1:

1:

8

xen2i(i,:

)=xenni(N1,N2,xen21,i-1);

end;

>>fori=1:

1:

8

xek2i=fft(xen2i(i,:

));

yk2i=xck.*xek2i;

yn2i=ifft(yk2i);

y2(i,:

)=yn2i;;

end;

>>y2(:

1:

N1-1)=[;;;;;;;;];

>>n2=0:

1:

8*N2-1;

>>stem(n2,[y2(1,:

)y2(2,:

)y2(3,:

)y2(4,:

)y2(5,:

)y2(6,:

)y2(7,:

)y2(8,:

)]);xlabel('n');ylabel('幅度');legend('重叠保留法');

(7)用FFT分别计算

)和

)的16点循环相关和线性相关,问一共有多少种结果,它们之间有何异同点。

解答:

1)求线性相关

>>n=0:

1:

15;

>>xan=exp(-(n-8).^2/2);

>>xbn=exp(-0.1*n).*sin(2*pi*0.0625*n);

>>k=length(xbn);

>>xan1=[xanzeros(1,k-1)];

>>xbn1=[xbnzeros(1,k-1)];

>>xak=fft(xan1);

>>xbk=fft(xbn1);

>>rm=real(ifft(conj(xak).*xbk));

>>rm1=[rm(k+1:

2*k-1)rm(1:

k)];

>>m=(-k+1):

(k-1);

>>stem(m,rm1);xlabel('n');ylabel('幅度');legend('线性相关');

2)求循环相关

>>n=0:

1:

15;

>>xan=exp(-(n-8).^2/2);

>>xbn=exp(-0.1*n).*sin(2*pi*0.0625*n);

>>k=length(xbn);

>>xak=fft(xan);

>>xbk=fft(xbn);

>>rm=real(ifft(conj(xak).*xbk));

>>stem(n,rm);xlabel('n');ylabel('幅度');legend('循环相关');

(8)用FFT分别计算

)和

)的自相关函数。

解答:

>>n=0:

1:

15;

>>xan=exp(-(n-8).^2/2);

>>k=length(xan);

>>xak=fft(xan,2*k);

>>rm=real(ifft(conj(xak).*xak));

>>rm=[rm(k+2:

2*k)rm(1:

k)];

>>m=(-k+1):

(k-1);

>>stem(m,rm);xlabel('m');ylabel('幅度');

(2)

>>n=0:

1:

15;

>>xbn=exp(-0.1*n).*sin(2*pi*0.0625*n);

>>k=length(xbn);

>>xbk=fft(xbn,2*k);

>>rm=real(ifft(conj(xbk).*xbk));

>>rm=[rm(k+2:

2*k)rm(1:

k)];

>>m=(-k+1):

(k-1);

>>stem(m,rm);xlabel('m');ylabel('幅度');

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2