实验二  快速傅里叶变换(FFT)及其应用
一、实验目的
(1) 在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉MATLAB中的有关函数。
(2) 应用FFT对典型信号进行频谱分析。
(3) 了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。
(4) 应用FFT实现序列的线性卷积。
二、实验内容
实验中用到的信号序列
a)     高斯序列
b)     衰减正弦序列
c)   三角波序列
d)   反三角波序列
(1) 观察高斯序列的时域和幅频特性,固定信号中参数p=8,改变q的值,使q分别等于2,4,8,观察它们的时域和幅频特性,了解当q取不同值时,对信号序列的时域幅频特性的影响;固定q=8,改变p,使p分别等于8,13,14,观察参数p变化对信号序列的时域及幅频特性的影响,观察p等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。
实验程序:
function gauss(p,q)
n=0:1:15;
N=length(n);
xa=exp(-(n-p).^2/q);
M=10000;
w=2*pi/M*(0:1:M-1);
Xa=zeros(1,M); matlab求傅里叶变换
for k=1:M
Xa(k)=sum(xa*(exp(-j*w(k)*(0:N-1)')));
end
subplot(2,1,1);
stem(n,xa);
xlabel('n'),ylabel('x_a(n)')
subplot(2,1,2);
plot(w,abs(Xa))
xlabel('\omega'),ylabel('幅度谱')
实验结果:
P=8,q=2
P=8,q=4
P=8,q=8
p=13,q=8
p=14,q=8
(3) 观察三角波和反三角波序列的时域和幅频特性,用N=8点FFT分析信号序列的幅频特性,观察两者的序列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。
实验程序:
clear
n=1:4
xc(n)=n-1;
n=5:8
xc(n)=9-n;
n=1:4
xd(n)=5-n;
n=5:8
xd(n)=n-5;
clc
n=0:7
subplot(2,2,1);
stem(n,xc);
xlabel('n');
ylabel('xc(n)');
title('正三角波N=8');
subplot(2,2,2);
hc(1:8)=fft(xc(1:8));
stem(n,abs(hc));
title('幅频特性');
n=0:7
subplot(2,2,3);
stem(n,xd);
xlabel('n');
ylabel('xd(n)');
title('反三角波N=8');
subplot(2,2,4);
hd(1:8)=fft(xd(1:8));
stem(n,abs(hd));
title('幅频特性');
实验结果:
末尾补零,用N=32点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两种情况的FFT频谱还有相同之处吗?这些变化说明了什么?
实验程序:
clear
n=1:4
xcc(n)=n-1;
n=5:8
xcc(n)=9-n;
n=9:32
xcc(n)=0;
n=1:4
xdd(n)=5-n;
n=5:8
xdd(n)=n-5;
n=9:32
xdd(n)=0;
clc
n=0:31
subplot(2,2,1);
stem(n,xcc);
xlabel('n');
ylabel('xc(n)');
title('正三角波N=32');
subplot(2,2,2);
hcc(1:32)=fft(xcc(1:32));
stem(n,abs(hcc));
title('幅频特性');
n=0:31
subplot(2,2,3);
stem(n,xdd);
xlabel('n');
ylabel('xd(n)');
title('反三角波N=32');
subplot(2,2,4);
hdd(1:32)=fft(xdd(1:32));
stem(n,abs(hdd));
title('幅频特性');
实验结果:
(5)用FFT分别实现p=8,q=2)和a=0.1,f=0.0625)的16点循环卷积和线性卷积。
实验程序:
n1=0:1:15;
n2=0:1:30;
p=8;q=2;a=0.1;f=0.0625;
xa=exp(-((n1-p).^2)/q);
xb=exp(-a.*n1).*sin(2*pi*f.*n1);
fa=fft(xa);fb=fft(xb);
circle=fa.*fb;  %圆周卷积
line=conv(xa,xb); %线性卷积
subplot(2,2,1);
stem(n1,xa);ylabel('时域特性');title('高斯序列xa');
subplot(2,2,2);
stem(n1,xb);ylabel('时域特性');title('衰减正弦序列xb');
subplot(2,2,3);
stem(n1,circle);ylabel('幅频特性');title('xa与xb的16点循环卷积'); subplot(2,2,4);
stem(n2,line);ylabel('幅频特性');title(' xa与xb的线性卷积');
实验结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。