用FFT对信号做频谱分析报告.docx
- 文档编号:1343550
- 上传时间:2022-10-21
- 格式:DOCX
- 页数:9
- 大小:68.82KB
用FFT对信号做频谱分析报告.docx
《用FFT对信号做频谱分析报告.docx》由会员分享,可在线阅读,更多相关《用FFT对信号做频谱分析报告.docx(9页珍藏版)》请在冰豆网上搜索。
用FFT对信号做频谱分析报告
实验名称
专业、年级
学号
姓名
用FFT对信号做频谱分析
以下容由实验指导教师填写
实验项目完成情况
实验项目成绩
指导教师
时间
2013年11月20日
备注:
按照要求独立完成实验容。
实验五用FFT对信号做频谱分析
一、实验目的
学习用FFT对连续信号和时域离散信号进展谱分析的方法,了解可能出现的分析误差与其原因,以便正确应用FFT。
二、实验原理
用FFT对信号作频分析是学习数字信号处理的重要容,经常需要进展分析的信号是模拟信号的时域离散信号。
对信号进展谱分析的重要问题是频谱分辨率D和分析误差。
频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2π/N,因此要求2π/N小于等于D。
可以根据此式选择FFT的变换区间N。
误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号〔周期信号除外〕是连续谱,只有当N较大时,离散谱的包络才能逼近连续谱,因此N要适当选择大一些。
三、实验容〔包括代码与产生的图形与分析讨论〕
1.对以下序列进展谱分析:
选择FFT的变换区间N为8和16两种情况进展频谱分析。
分别打印其幅频特性曲线,并进展比照、分析和讨论。
functionmstem(Xk)
%mstem(Xk)绘制频域采样序列向量Xk的幅频特性图
M=length(Xk);
k=0:
M-1;wk=2*k/M;%产生M点DFT对应的采样点频率〔关于pi归一化值〕
stem(wk,abs(Xk),'.');boxon;%绘制M点DFT的幅频特性图
xlabel('w/\pi');ylabel('幅度');
axis([0,2,0,1.2*max(abs(Xk))]);
x1n=[ones(1,4)];%产生序列向量x1(n)=R4(n)
X1k8=fft(x1n,8);%计算x1n的8点DFT
X1k16=fft(x1n,16);%计算x1n的16点DFT
%以下绘制幅频特性曲线
subplot(3,2,1);mstem(X1k8);%绘制8点DFT的幅频特性图
title('(1a)8点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X1k8))])
subplot(3,2,2);mstem(X1k16);%绘制16点DFT的幅频特性图
title('(1b)16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X1k16))])
x2n=[12344321zeros(1,50)];%产生序列向量x1(n)=R4(n)
X2k8=fft(x2n,8);%计算x1n的8点DFT
X2k16=fft(x2n,16);%计算x1n的16点DFT
%以下绘制幅频特性曲线
subplot(3,2,3);mstem(X2k8);%绘制8点DFT的幅频特性图
title('(2a)8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X2k8))])
subplot(3,2,4);mstem(X2k16);%绘制16点DFT的幅频特性图
title('(2b)16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X2k16))])
x3n=[43211234zeros(1,50)];%产生序列向量x1(n)=R4(n)
X3k8=fft(x3n,8);%计算x1n的8点DFT
X3k16=fft(x3n,16);%计算x1n的16点DFT
%以下绘制幅频特性曲线
subplot(3,2,5);mstem(X3k8);%绘制8点DFT的幅频特性图
title('(3a)8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X3k8))])
subplot(3,2,6);mstem(X3k16);%绘制16点DFT的幅频特性图
title('(3b)16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X3k16))])
分析:
图〔1a〕和〔1b〕说明x1(n)=R4(n)的8点DFT和16点DFT分别是x1(n)的频谱
函数的8点和16点采样
因为x3(n〕=x2((n+3〕〕8R8〔n〕,所以,x3(n)与x2(n)的8点DFT的模相等,如图〔2a〕和〔2b〕,但是当N=16时,x2(n〕与x3(n〕不满足循环移位关系,模值不相等。
2.对以下周期序列进展频谱分析:
选择FFT的变换区间N为8和16两种情况分别对以上序列进展频谱分析。
分别打印其幅频特性曲线,并进展比照、分析和讨论。
N=8;n=0:
N-1;%FFT的变换区间N=8
x4n=cos(pi*n/4);
X4k8=fft(x4n,8);%计算x4n的8点DFT
N=16;n=0:
N-1;%FFT的变换区间N=16
x4n=cos(pi*n/4);
X4k16=fft(x4n,16);%计算x4n的16点DFT
subplot(2,2,1);mstem(X4k8);%绘制8点DFT的幅频特性图
title('(4a)8点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X4k8))])
subplot(2,2,2);mstem(X4k16);%绘制16点DFT的幅频特性图
title('(4b)16点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X4k16))])
N=8;n=0:
N-1;%FFT的变换区间N=8
x5n=cos(pi*n/4)+cos(pi*n/8);
X5k8=fft(x5n,8);%计算x4n的8点DFT
N=16;n=0:
N-1;%FFT的变换区间N=16
x5n=cos(pi*n/4)+cos(pi*n/8);
X5k16=fft(x5n,16);%计算x4n的16点DFT
subplot(2,2,3);mstem(X5k8);%绘制8点DFT的幅频特性图
title('(5a)8点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X5k8))])
subplot(2,2,4);mstem(X5k16);%绘制16点DFT的幅频特性图
title('(5b)16点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');
axis([0,2,0,1.2*max(abs(X5k16))])
分析:
对于x4(n〕=cos(pi*n/4),周期T=8,N=8和16是周期的整数倍,所以得到正确
π处有1根单一谱线。
如图〔4b〕和〔4b〕所示
对于x5n=cos(pi*n/4)+cos(pi*n/8),周期T=16,但是N=8不是该周期的整数倍,所以8点的dft和16点的dft不一样。
3.对模拟周期信号进展谱分析:
选择采样频率Fs=64Hz,对变换区间N=16,32,64三种情况进展谱分析。
分别打印其幅频特性,并进展分析和讨论。
figure(4)
Fs=64;T=1/Fs;
N=16;n=0:
N-1;%FFT的变换区间N=16
x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)16点采样
X6k16=fft(x6nT);%计算x6nT的16点DFT
X6k16=fftshift(X6k16);%将零频率移到频谱中心
Tp=N*T;F=1/Tp;%频率分辨率F
k=-N/2:
N/2-1;fk=k*F;%产生16点DFT对应的采样点频率〔以零频率为中心〕
subplot(3,1,1);stem(fk,abs(X6k16),'.');boxon%绘制16点DFT的幅频特性图
title('(6a)16点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))])
figure(4)
Fs=64;T=1/Fs;
N=32;n=0:
N-1;%FFT的变换区间N=16
x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)16点采样
X6k16=fft(x6nT);%计算x6nT的16点DFT
X6k16=fftshift(X6k16);%将零频率移到频谱中心
Tp=N*T;F=1/Tp;%频率分辨率F
k=-N/2:
N/2-1;fk=k*F;%产生16点DFT对应的采样点频率〔以零频率为中心〕
subplot(3,1,2);stem(fk,abs(X6k16),'.');boxon%绘制16点DFT的幅频特性图
title('(6a)32点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))])
figure(4)
Fs=64;T=1/Fs;
N=64;n=0:
N-1;%FFT的变换区间N=16
x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)16点采样
X6k16=fft(x6nT);%计算x6nT的16点DFT
X6k16=fftshift(X6k16);%将零频率移到频谱中心
Tp=N*T;F=1/Tp;%频率分辨率F
k=-N/2:
N/2-1;fk=k*F;%产生16点DFT对应的采样点频率〔以零频率为中心〕
subplot(3,1,3);stem(fk,abs(X6k16),'.');boxon%绘制16点DFT的幅频特性图
title('(6a)64点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))])
分析:
对于x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T)可以知道其周期为三局部所对应的w的最小公倍数即40pi所对应的周期即0.5当N=16时观察时间为16/64=0.25不是0.5的整数倍所以频谱不正确;N=32观察时间为32/64=0.5是0.5的整数倍,所以所的频谱正确;
N=64时观察时间为64/64=1为0.5的整数倍,所以所得频谱正确。
五、总结
1.简要回答以下思考题。
〔1〕对于周期序列,如果周期不知道,如何用FFT进展谱分析?
可先截取M点进展DFT,再将截取长度扩大1倍截取,比拟结果,如果二者的差异满足分析误差要求,如此可以近似表示该信号的频谱,如果不满足误差要求就继续将截
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FFT 信号 频谱 分析 报告