实验三FFT及其应用Word格式.docx
《实验三FFT及其应用Word格式.docx》由会员分享,可在线阅读,更多相关《实验三FFT及其应用Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的方法。
有两种方法:
(1)重叠相加法。
将长序列分成与短序列相仿的片段,分别用FFT对它们作线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。
(2)
重叠保留法。
这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。
三、实验内容
四、上机实验内容
(1)观察高斯序列的时域和幅频特性,固定信号Xa(n)中参数p=8,改变q的值使q分别等于2、4、8,观察他们的时域和幅频特性,了解当q取不同值时,对信号序列的时域和幅频特性的影响;
固定q=8,改变p,使p分别等于8、13、14,观察参数p变化对信号序列的时域和幅频特性的影响,注意p等于多少时会发生明显的泄漏现象,混叠是否也随之出现?
记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。
CODE:
Clear
i=1:
15;
p=8;
q=2;
subplot(3,2,1);
x(i)=exp((-(i-p).^2)/q);
stem(x);
xlabel('
n'
);
title('
p=8,q=2TimeDomain'
subplot(3,2,2);
G=fft(x);
plot(abs(G(1:
15)));
k'
title('
p=8,q=2FrequencyDomain'
q=4;
subplot(3,2,3);
p=8,q=4TimeDomain'
subplot(3,2,4);
p=8,q=4FrequencyDomain'
q=8;
subplot(3,2,5);
p=8,q=8TimeDomain'
subplot(3,2,6);
p=8,q=8FrequencyDomain'
THERESULTISSHOWNBELOW:
Figure1.1
实验分析:
对比三组图,当保持p不变,随着q值的增大,时域信号幅值变化缓慢时域幅度对应变大,快速变化区域曲线变陡,低频分量变多,频域信号频谱泄露程度减小。
保持参数q=8不变,
clear
p=13;
p=13,q=8TimeDomain'
p=13,q=8FrequencyDomain'
p=14;
p=14,q=8TimeDomain'
p=14,q=8FrequencyDomain'
Figure1.2
当保持q=8不变,随着p的增大,时域信号幅值不变,但会在时间轴对应右移。
即p决定了波形位置,
实验中当q=8,p=13时,x(n)被截断,出现了明显的泄漏,边缘幅度与x1(k)不同,因而带有混叠现象。
(2)观察衰减正弦序列xb(n)的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠和泄漏现象?
说明产生现象的原因。
CORECODE:
clear;
figure(3);
a=0.1;
i=1:
16;
n=i-1;
f=0.0625;
x=exp(-a*n).*sin(2*pi*f*n);
stem(n,x);
ylabel('
f=0.0625时域'
Xk=fft(x);
plot(n,abs(Xk));
f=0.0625幅频特性曲线'
Figure2
由以上实验所得的图形可知,当a=0.1,f=0.0625时吗,频谱主瓣较宽,呈现主瓣中间较为平缓,两侧较高的想象,采样频率f太小,导致谱峰出现的位置不正确。
当a=0.1,f分别等于0.4375,0.5625时,随着采样频率f的增大,频谱主瓣越来越窄,频谱中间较大,两侧较小,谱峰出现在w=7和9附近,混叠和泄漏现象相对减轻。
且当f=0.5625时产生混叠现象,因为其f>
0.5,不满足奈奎斯特采样定理。
(3)观察三角波和反三角波序列的时域和幅频特性,用N=8点FFT分析信号序列xc(n)和xd(n)的幅频特性,观察两者的序列形状和频谱曲线有什么异同?
绘出两序列及其幅频特性曲线。
8;
figure(4);
fori=1:
4
xc(i)=n(i);
end
fori=5:
8
xc(i)=8-n(i);
subplot(2,2,1);
stem(n,xc);
triangularwavetimedomain'
subplot(2,2,2);
Xkc=fft(xc,8);
plot(n,abs(Xkc));
amplitude-frequencycharacteristic'
%----------------------------------------------------
32;
figure(5);
fori=9:
32
xc(i)=0;
三角波补零时域'
Xkc=fft(xc,32);
补零幅频特性'
Figure3.1
Figure3.2
变化为,反三角波的低频分量增多,对信号末尾补零加长整数个周期可以对原信号达到细化频谱的作用。
(4)一个连续信号含两个频率分量,经采样得
x(n)=sin[2π*0.125n]+cos[2π*(0.125+Δf)n]
n=0,1……,N-1
已知N=16,Δf分别为1/16和1/64,观察其频谱;
当N=128时,Δf不变,其结果有何不同,为什么?
N=16;
f=1/16;
for
n=1:
N
x(n)=sin(2*pi*0.125*(n-1))+cos(2*pi*(0.125+f)*(n-1));
End
n=0:
G=fft(x,16);
plot(n(1:
16),abs(G(1:
16)));
Figure4.1
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
(5)用FFT分别实现xa(n)(p=8,q=2)和
xb(n)(a=0.1,f=0.0625)的16点循环卷积和线性卷积。
figure(8);
p=8;
q=2;
xa=exp(-((i-1)-p).^2/q);
xb=exp(-a*n).*sin(2*pi*f*n);
subplot(1,2,1);
Xka1=fft(xa,16);
Xkb1=fft(xb,16);
Xk1=Xka1.*Xkb1;
x1=ifft(Xk1,16);
stem(n,x1);
16点循环卷积'
subplot(1,2,2);
m=0:
31;
Xka2=fft(xa,32);
Xkb2=fft(xb,32);
Xk2=Xka2.*Xkb2;
x2=ifft(Xk2,32);
stem(m,x2);
线性卷积'
Figure5
(6)产生一512点的随机序列xe(n),并用xc(n)和xe(n)作线性卷积,观察卷积前后xe(n)频谱的变化。
要求将xe(n)分成8段,分别采用重叠相加法和重叠保留法。
xe=rand(1,512);
n1=0:
1:
3;
xc1=n1;
n2=4:
7;
xc2=8-n2;
xc=[xc1,xc2];
yn=zeros(1,519);
forj=0:
7
xj=xe(64*j+1:
64*(j+1));
xak=fft(xj,71);
xck=fft(xc,71);
yn1=ifft(xak.*xck);
temp=zeros(1,519);
temp(64*j+1:
64*j+71)=yn1;
yn=yn+temp;
end;
518;
figure
(1)
subplot(2,1,1);
plot(n,yn);
y(n)'
subplot(2,1,2);
plot(n,abs(fft(yn)));
Y(k)'
axis([0,600,0,300]);
k=1:
xe1=k-k;
xe_1=[xe1,xe];
yn_1=zeros(1,519);
xj_1=xe_1(64*j+1:
64*j+71);
xak_1=fft(xj_1);
xck_1=fft(xc,71);
yn1_1=ifft(xak_1.*xck_1);
temp_1=zeros(1,519);
temp_1(64*j+1:
64*j+64)=yn1_1(8:
71);
yn_1=yn_1+temp_1;
figure
(2)
plot(n,yn_1);
plot(n,abs(fft(yn_1)));
Figure6.1
Figure6.2
(7)用FFT分别计算xa(n)(p=8,q=2)和
xb(n)(a=0.1,f=0.0625)的16点循环相关和线性相关,问一共有多少种结果,它们之间有何共同点。
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);
Amplitude'
线性相关'
xak=fft(xan);
xbk=fft(xbn);
stem(n,rm);
循环相关'
Figure7
(8)用FFT分别计算xa(n)(p=8,q=2)和
xb(n)(a=0.1,f=0.0625)的自相关函数。
k=length(xan);
xak=fft(xan,2*k);
rm=real(ifft(conj(xak).*xak));
rm=[rm(k+2:
2*k)rm(1:
stem(m,rm);
m'
Figure8
五、思考题
(1)实验中的信号序列xc(n)和xd(n),在单位圆上的Z变换频谱|Xc(jω)|和|Xd(jω)|会相同吗?
如果不同,你能说出哪一个低频分量更多一些吗?
为什么?
答:
______________________________________________________________________________________________________________________________________________________________
_______________________________________________________________________________
(2)对一个有限长序列进行DFT等价于将该序列周期延拓后进行DFS展开,因为DFS也只是取其中一个周期来计算,所以FFT在一定条件下也可以用以分析周期信号序列。
如果实正弦信号sin(2πfn),f=0.1用16点FFT来做DFS运算,得到的频谱时信号本身的真实谱吗?