实验二 应用FFT对信号进行频谱分析.docx
- 文档编号:3007735
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:17
- 大小:283.10KB
实验二 应用FFT对信号进行频谱分析.docx
《实验二 应用FFT对信号进行频谱分析.docx》由会员分享,可在线阅读,更多相关《实验二 应用FFT对信号进行频谱分析.docx(17页珍藏版)》请在冰豆网上搜索。
实验二应用FFT对信号进行频谱分析
实验二应用FFT对信号进行频谱分析
姓名:
刘竟伦
班级:
11电子A
学号:
1115105037
日期
2014年3月15日
指导老师
戴在平
华侨大学信息科学与工程学院电子工程系
一、实验目的
(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。
(2)熟悉FFT算法原理和FFT子程序的应用。
(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
二、实验原理与方法
(1)复习DFT的定义、性质和用DFT作谱分析的有关内容。
(2)复习FFT算法原理与编程思想,并对照DIT-FFT运算流图和程序框图,读懂本实验提供的FFT子程序。
(3)编制信号产生子程序,产生以下典型信号供谱分析用:
应当注意,如果给出的是连续信号xa(t),则首先要根据其最高频率确定采样速率fs以及由频率选择采样点数N,然后对其进行软件采样(即计算择要以能分辨开其中的三个频率对应的谱线为准则。
对周期序列,最好截取周期的整数倍进行分析,否则有可能产生较大的分析误差。
请实验者根据DFT的隐含周期性思考这个问题。
(4)编写主程序。
三、上机实验内容及实验结果图
(1)对2中所给出的信号逐个进行谱分析。
下面给出针对各信号的FFT变换区间N以及对连续信号x6(t)的采样频率fs。
x1(n),x2(n),x3(n),x4(n),x5(n),:
N=8,16
x6(t):
fs=64(hz),N=16,32,64
x1(n)=R4(n)
对应x1(n)的matlab源程序代码:
n=[0:
7];
x=[11110000]
f1=fft(x,8)
f2=fft(x,16)
subplot(2,2,1)
stem(n,x);
axis([0802])
xlabel('n')
ylabel('xl(n)')
title('xl的波形')
subplot(2,2,4)
k=[0:
15]
stem(k,abs(f2));
axis([01605])
xlabel('k')
ylabel('|xl(k)|')
title('xl(n)的16点fft')
subplot(2,2,3)
k=[0:
7]
stem(k,abs(f1));
axis([01005])
xlabel('k')
ylabel('|xl(k)|')
title('xl(n)的8点fft')
得到如下波形图:
2.
对应x2(n)的matlab源程序代码:
n=[0:
7];
x=[12344321]
f1=fft(x,8)
f2=fft(x,16)
subplot(2,2,1)
stem(n,x);
axis([0804])
xlabel('n')
ylabel('x2(n)')
title('x2的波形')
subplot(2,2,4)
k=[0:
15]
stem(k,abs(f2));
axis([016020])
xlabel('k')
ylabel('|x2(k)|')
title('x2(n)的16点fft')
subplot(2,2,3)
k=[0:
7]
stem(k,abs(f1));
axis([010020])
xlabel('k')
ylabel('|x2(k)|')
title('x2(n)的8点fft')
3.
对应x3(n)的matlab源程序代码:
n=[0:
7];
x=[43211234]
f1=fft(x,8)
f2=fft(x,16)
subplot(2,2,1)
stem(n,x);
axis([0804])
xlabel('n')
ylabel('x3(n)')
title('x3的波形')
subplot(2,2,4)
k=[0:
15]
stem(k,abs(f2));
axis([016020])
xlabel('k')
ylabel('|x3(k)|')
title('x3的16点fft')
subplot(2,2,3)
k=[0:
7]
stem(k,abs(f1));
axis([08020])
xlabel('k')
ylabel('|x3(k)|')
title('x3(n)的8点fft')
4.x4(n)=cos(pi/4*n)
对应x4(n)的matlab源程序代码:
n=[0:
7];
x=cos(0.25*pi*n)
f1=fft(x,8)
subplot(2,2,1)
stem(n,x);
axis([08-44])
xlabel('n')
ylabel('x4(n)')
title('x4的波形')
n=[0:
15]
x=cos(0.25*pi*n)
f2=fft(x,16)
subplot(2,2,2)
stem(n,x);
axis([016-44])
ylabel('x4(n)')
title('x4的波形')
subplot(2,2,4)
k=[0:
15]
stem(k,abs(f2));
axis([016020])
xlabel('k')
ylabel('|x4(k)|')
title('x4(n)的16点fft')
subplot(2,2,3)
k=[0:
7]
stem(k,abs(f1));
axis([08020])
xlabel('k')
ylabel('|x4(k)')
title('x4(n)的8点fft')
X5(n)=sin(pi/8*n)
对应x5(n)的matlab源程序代码:
clear
n=[0:
7]
x=sin((pi*n)/8)
f1=fft(x,8)
subplot(2,2,1)
stem(n,x);
axis([08-44])
xlabel('n')
ylabel('x5(n)')
title('x5的波形图')
x=sin(0.125*pi*n)
f2=fft(x,16)
subplot(2,2,2)
stem(n,x);
axis([016-44])
xlabel('n')
ylabel('x5(n)')
title('x5的波形图')
subplot(2,2,4)
k=[0:
15]
stem(k,abs(f2));
axis([016020])
xlabel('k')
ylabel('|x5(k)|')
title('x5的16点fft')
subplot(2,2,3)
k=[0:
7]
stem(k,abs(f1));
axis([08020])
xlabel('k')
ylabel('|x5(k)|')
title('x5的8点fft')
X6(t)=cos(pi*8*n)+sin(pi*16*t)+cos(20*pi*t)
对应x6(n)的matlab源程序代码:
Ts=1/16;
n=0:
15;
Xa=cos(8*n*Ts*pi)+cos(16*n*Ts*pi)+cos(20*n*Ts*pi);
f1=fft(Xa,16);
subplot(3,2,1);
stem(n,Xa);
axis([015-23]);
xlabel('n');
ylabel('x6(n)')
title('x6(n)N=16')%ÏÔʾx6£¨n£©
N=16;
k=0:
15
subplot(3,2,2);
stem(k,abs(f1));
axis([016015])
xlabel('k')
ylabel('|x6(k)|')
title('x6(n)N=16的16点fft');
n=0:
31;
Xb=cos(8*n*Ts*pi)+cos(16*n*Ts*pi)+cos(20*n*Ts*pi);
f2=fft(Xb,32);
subplot(3,2,3);
stem(n,Xb);
axis([032-23]);
xlabel('n');
ylabel('x6(n)')
title('x6(n)N=32')%ÏÔʾx6£¨n£©
N=32;
k=0:
31;
subplot(3,2,4);
stem(k,abs(f2));
axis([032020])
xlabel('k')
ylabel('|x6(k)|')
title('x6(n)N=32的32点fft');
n=0:
63;
Xc=cos(8*n*Ts*pi)+cos(16*n*Ts*pi)+cos(20*n*Ts*pi);
f3=fft(Xc,64);
subplot(3,2,5);
stem(n,Xc);
axis([064-23]);
xlabel('n');
ylabel('x6(n)')
title('x6(n)N=16')%ÏÔʾx6£¨n£©
N=64;
k=0:
63;
subplot(3,2,6);
stem(k,abs(f3));
axis([064040])
xlabel('k')
ylabel('|x6(k)|')
title('x6(n)N=64的64点fft');
(2)令x7(n)=x4(n)+x5(n),用FFT计算8点和16点离散傅里叶变换,
X(k)=DFT[x(n)]
n=[0:
7];
x=cos(0.25*pi*n)+sin(0.125*pi*n)
f1=fft(x,8)
subplot(2,2,1)
stem(n,x);
axis([08-44])
xlabel('n')
ylabel('x7(n)')
title('x7的波形图')
n=[0:
15]
x=cos(0.25*pi*n)+sin(0.125*pi*n)
f2=fft(x,16)
subplot(2,2,2)
stem(n,x);
axis([016-44])
xlabel('n')
ylabel('x7(n)')
title('x7的波形图')
subplot(2,2,4)
k=[0:
15]
stem(k,abs(f2));
axis([016020])
xlabel('k')
ylabel('|x7(k)|')
title('x7(n)的16点fft')
subplot(2,2,3)
k=[0:
7]
stem(k,abs(f1));
axis([08020])
xlabel('k')
ylabel('|x7(k)|')
title('x7(n)的8点fft')
(3)令x8(n)=x4(n)+jx5(n),重复
(2)。
对应x8(n)的matlab源程序代码:
n=[0:
15];
x=cos(0.25*pi*n)+j*sin(0.125*pi*n)
f1=fft(x,16)
subplot(2,2,2)
stem(n,abs(f1));
axis([016010])
xlabel('k')
ylabel('|x8(k)|')
title('x8(n)的16点fft
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二 应用FFT对信号进行频谱分析 实验 应用 FFT 信号 进行 频谱 分析