视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
快速傅里叶变换及其应用实验文档及程序
2025-09-29 16:38:41 责编:小OO
文档
              试验二    快速傅里叶变换及其应用

                   

一、试验目的

(1).在理论学习的基础上。加深对FFT的理解,熟悉matlab中的有关函数。

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

(3).了解应用FFT进行信号频谱分析过程中可能出现的问题。

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

二、实验内容

 1.观察高斯序列的时域和幅频特性,固定信号xa(n)中参数p=8,改变q的值使q分别等于2、4、8,观察他们的时域和幅频特性,了解当q取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p分别等于8、13、14,观察参数p变化对信号序列的时域和幅频特性的影响,注意p等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。

(1)固定p=8,使q=2和4的时域和频域图

n=0:15

x=exp((16*n-n.^2-)./2)

subplot(2,2,1);

plot(n,x,'-o')

title('时域特性');

xlabel('n');

ylabel('y(n)')

y=abs(fft(x))

subplot(2,2,2);

stem(n,y,'-o')

xlabel('k');

ylabel('y(k)')

title('幅频特性');

x=exp((16*n-n.^2-)./4)

subplot(2,2,3);

plot(n,x,'-o')

title('时域特性');

xlabel('n');

ylabel('y(n)')

y=abs(fft(x))

subplot(2,2,4);

stem(n,y,'-o'); 

xlabel('k');

ylabel('y(k)')

title('幅频特性');

使q=8的时域和频域图

n=0:15

x=exp((16*n-n.^2-)./8)

plot(n,x,'-o')

title('时域特性');

xlabel('n');

ylabel('y(n)')

y=abs(fft(x))

stem(n,y,'-o')

xlabel('k');

ylabel('y(k)')

title('幅频特性');

(2)固定q=8,使q=8和13的时域和频域图

n=0:15

x=exp((16*n-n.^2-)./8)

subplot(2,2,1);

plot(n,x,'-o')

title('时域特性');

xlabel('n');

ylabel('y(n)')

y=abs(fft(x))

subplot(2,2,2);

stem(n,y,'-o')

xlabel('k');

ylabel('y(k)')

title('幅频特性');

x=exp((26*n-n.^2-169)./8)

subplot(2,2,3);

plot(n,x,'-o')

title('时域特性');

xlabel('n');

ylabel('y(n)')

y=abs(fft(x))

subplot(2,2,4);

stem(n,y,'-o')

xlabel('k');

ylabel('y(k)')

title('幅频特性');

使p=14的时域和频域图

x=exp((28*n-n.^2-196)./8)

plot(n,x,'-o')

title('时域特性');

xlabel('n');

ylabel('y(n)')

y=abs(fft(x))

stem(n,y,'-o')

xlabel('k');

ylabel('y(k)')

title('幅频特性');

实验结果分析:

由图形可知,当固定p,q取不同值时,随着q的增大,其相对应的时域幅值会增大,而且容易看出,它们的时域图关于n=8对称。

随着q值的增大,q分别等于2、4、8时,同一个n点所对应的幅度逐渐减小,幅度等于或近似等于零的点逐渐增多,这是由于q值的增大,导致时域中的幅值略微增大,但通过DFT变换之后将这种变化放大,使得其在幅频特性中q的影响变大了。时域的乘积对应频域的卷积,所以,加窗后的频谱实际是原信号频谱与矩形窗函数频谱的卷积,卷积的结果使频谱延伸到了主瓣以外,且一直延伸到无穷。

可知:其p值固定不变时,q值越小越容易发生泄漏现象,反之,q值越大,越接近其真实图形。当p=13时,x(n)被截断,出现了明显的泄漏,边缘幅度与x1(k)不同,因而带有混叠现象。

2观察衰减正弦序列xb(n)的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠和泄露现象?说明产生现象的原因。

f=0.0625的程序

n=0:15;

a=0.1;

f=0.0625;

x=exp(-a*n).*sin(2*pi*f*n);

plot(n,x,'-o')

title('时域特性');

xlabel('n');

ylabel('y(n)')

y=abs(fft(x))

stem(n,y,'-o')

xlabel('k');

ylabel('y(k)')

title('幅频特性')

f=0.4375的程序

n=0:15;

a=0.1;

f=0.4375;

x=exp(-a*n).*sin(2*pi*f*n);

plot(n,x,'-o')

title('时域特性');

xlabel('n');

ylabel('y(n)')

y=abs(fft(x))

stem(n,y,'-o')

xlabel('k');

ylabel('y(k)')

title('幅频特性')

f=0.5625的程序

n=0:15;

a=0.1;

f=0.5625;

x=exp(-a*n).*sin(2*pi*f*n);

plot(n,x,'-o')

title('时域特性');

xlabel('n');

ylabel('y(n)')

y=abs(fft(x))

stem(n,y,'-o')

xlabel('k');

ylabel('y(k)')

title('幅频特性')

实验结果分析:

由以上实验所得的图形可知,当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)的幅频特性,观察两者的序列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。在xc(n)和xd(n)末尾补零,用N=32点FFT分析这两个观察幅频特性发生了什么变化?两种情况下的FFT频谱还有相同之处吗?这些变化说明了什么?         

n2=[0 0 0 0 4 5 6 7];

A=[0 0 0 0 8 8 8 8];

x1=zeros(1,8);

n=n1+n2;

x1(1:4)=n(1:4);

x1(5:8)=A(5:8)-n(5:8);

subplot(2,2,1);

plot(n,x1); 

grid;

set(gca,'xtick',n);

xlabel('n');

ylabel('xc(n)');

title('三角波序列时域');

xk1=abs(fft(x1));

subplot(2,2,2);

stem(n,xk1);

grid;

set(gca,'xtick',n);

xlabel('k');

ylabel('幅度');

title('幅度特性');

B=[4 4 4 4 4 4 4 4];

x2=zeros(1,8);

n=n1+n2;

x2(1:4)=B(1:4)-n(1:4);

x2(5:8)=n(5:8)-B(5:8);

subplot(2,2,3);

plot(n,x2); 

grid;

set(gca,'xtick',n);

xlabel('n');

ylabel('xd(n)');

title('反三角波序列时域');

xk2=abs(fft(x2));

subplot(2,2,4);

stem(n,xk1);

grid;

set(gca,'xtick',n);

xlabel('k');

ylabel('幅度');

title('幅度特性');

实验结果分析:

由实验所得的图形知,的时域序列在n=4时取得最大值,两侧依次减小,且呈现对称趋势,而序列则相反,在n=4时,取得最小值,两侧依次增大,且呈现对称趋势,和的幅频特性曲线基本相同。

n1=[0 1 2 3 0 0 0 0];

n2=[0 0 0 0 4 5 6 7];

A=[0 0 0 0 8 8 8 8];

x1=zeros(1,8);

n=n1+n2;

x1(1:4)=n(1:4);

x1(5:8)=A(5:8)-n(5:8);

subplot(2,2,1);

plot(n,x1); 

grid;

set(gca,'xtick',n);

xlabel('n');

ylabel('xc(n)');

title('三角波序列时域,N=8');

xk1=abs(fft(x1));

subplot(2,2,2);

stem(n,xk1);

grid;

set(gca,'xtick',n);

xlabel('k');

ylabel('幅度');

title('幅度特性');

B=[4 4 4 4 4 4 4 4];

x2=zeros(1,8);

n=n1+n2;

x2(1:4)=B(1:4)-n(1:4);

x2(5:8)=n(5:8)-B(5:8);

subplot(2,2,3);

plot(n,x2); 

grid;

set(gca,'xtick',n);

xlabel('n');

ylabel('xd(n)');

title('反三角波序列时域,N=8');

xk2=abs(fft(x2));

subplot(2,2,4);

stem(n,xk1);

grid;

set(gca,'xtick',n);

xlabel('k');

ylabel('幅度');

title('幅度特性');

n1=[0 1 2 3 0 0 0 0];

实验结果分析:

由实验所得的图形知,N=32点时和的幅频特性都更加密集,使得“栅栏效应”减小,而对于来说变化更加明显,N=32时,认为的再之后补零,从而变动了DFT的点数,人为的改变了对真实频谱采样的点数和位置,相当于搬动了“尖桩栅栏”的位置,从而使得频谱的峰点和谷点暴露出来,频谱线变密。N=32时,和的频谱差别较大,但总体趋势仍然都是中间出现最小,两侧呈现对称趋势。

4. 一个连续信号含两个频率分量,经采样得 n=0,1,…N-1,已知N=16,分别为1/16,1/,观察其频谱;当N=128时不变,其结果有何不同,为什么?

n=0:1:15;

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

subplot(2,2,1);

plot(n,x1,'-*');

xlabel('t/T  △f=1/16,N=15');

ylabel('x(n)');

title('时域特性');

xk1=abs(fft(x1));

subplot(2,2,2);

stem(n,xk1)

xlabel('k');

ylabel('X(k)');

title('频域特性');

x2=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/)*n);

subplot(2,2,3);

plot(n,x2,'-*');

xlabel('t/T  △f=1/,N=15');

ylabel('x(n)');

title('时域特性');

xk2=abs(fft(x2));

subplot(2,2,4);

stem(n,xk2)

xlabel('k');

ylabel('X(k)');

title('频域特性');

n=0:1:127;

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

subplot(2,2,1);

plot(n,x1,'-*');

xlabel('t/T  △f=1/16,N=15');

ylabel('x(n)');

title('时域特性');

xk1=abs(fft(x1));

subplot(2,2,2);

stem(n,xk1)

xlabel('k');

ylabel('X(k)');

title('频域特性');

x2=sin(2*pi*0.125*n)+cos(2*pi*(0.125+1/)*n);

subplot(2,2,3);

plot(n,x2,'-*');

xlabel('t/T  △f=1/,N=15');

ylabel('x(n)');

title('时域特性');

xk2=abs(fft(x2));

subplot(2,2,4);

stem(n,xk2)

xlabel('k');

ylabel('X(k)');

title('频域特性');

实验结果分析:

由以上实验所得的实验图形知,N=16时,由x1(jw)和x2(jw)比较可以看出,越小,其每个相同的点所对应的幅度值越小,可以观察到两个明显的谱峰。当N=时,出现了多个谱峰,其中两个谱峰较为明显。当N=128时,由x3(jw)和x4(jw)看出,两序列的FFT频谱只能观测到两个谱峰,截取长度增加,谱线变的非常密集,频谱更接近真实值,泄漏和混叠现象变小,栅栏效应也相应变小,频谱的分辨率随之提高。

5.用FFT分别计算和的16点循环卷积和线性卷积,循环相关和线性相关。

n1=0:1:15;

p1=8;

q1=2;

x=exp(-(n1-p1).^2/q1);

n2=0:1:15;

a=0.1;

f2=0.0625;

y=(exp(-a*n2)).*sin(2*pi*f2*n2);

N=length(x);

n=0:N-1;

n3=0:30;

X=fft(x);

Y=fft(y);

x32=[x zeros(1,16)];

y32=[y zeros(1,16)];

X32=fft(x32);

Y32=fft(y32);

z16=ifft(X.*Y);

z32=ifft(X32.*Y32);

subplot(2,2,1);

plot(n,z16,'-*');

xlabel('n');

ylabel('z(n)');

title('循环卷积结果');

subplot(2,2,2);

plot(n3,z32(1:2*N-1),'-o');

xlabel('n');

ylabel('z(n)');

title('线性卷积结果');

rm16=real(ifft(conj(X).*Y));

rm32_0=real(ifft(conj(X32).*Y32));

rm32=[rm32_0(N+2:2*N) rm32_0(1:N)];

m=n;

subplot(2,2,3);

plot(m,rm16,'--');

xlabel('m');

ylabel('rm');

title('循环相关结果');

m=-(N-1):N-1;

subplot(2,2,4);

plot(m,rm32,'--o');

xlabel('m');

ylabel('rm');title('线性相关结果');

实验结果分析:

由实验所得的图形知,当L>N1+N2-1时,循环卷积不会发生混叠现象,所以在这个条件下,循环卷积是线性卷积的主值,线性卷积可由循环卷积得到。用循环卷积计算线性卷积通常也称为快速卷积。下载本文

显示全文
专题