实验三:用FFT对信号作频谱分析_实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三:用FFT 对信号作频谱分析实验报告
一、 实验目的与要求
学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。
二、 实验原理
用FFT 对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是2π/N ,因此要求2π/N 小于等于D 。可以根据此式选择FFT 的变换区间N 。误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。
三、 实验步骤及内容(含结果分析)
(1)对以下序列进行FFT 分析:
x 1(n)=R 4(n)
x 2(n)=
x 3(n)=
选择FFT 的变换区间N 为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。
【实验结果如下】:
n+1 0≤n ≤3 8-n 4≤n ≤7 0 其它n 4-n 0≤n ≤3 n-3 4≤n ≤7
0 其它
n
实验结果图形与理论分析相符。(2)对以下周期序列进行谱分析:
x4(n)=cos[(π/4)*n]
x5(n)= cos[(π/4)*n]+ cos[(π/8)*n]
选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。
【实验结果如下】:
(3)对模拟周期信号进行频谱分析:
x6(n)= cos(8πt)+ cos(16πt)+ cos(20πt)
选择采样频率Fs=64Hz,FFT的变换区间N为16、32、64三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。
【实验结果如下】:
四、【附录】(实验中代码)
x1n=[ones(1,4)]; %产生R4(n)序列向量
X1k8=fft(x1n,8); %计算x1n的8点DFT
X1k16=fft(x1n,16); %计算x1n的16点DFT
%以下绘制幅频特性曲线
N=8;
f=2/N*(0:N-1);
figure(1);
subplot(1,2,1);stem(f,abs(X1k8),'.'); %绘制8点DFT的幅频特性图title('(1a) 8点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度'); N=16;
f=2/N*(0:N-1);
subplot(1,2,2);stem(f,abs(X1k16),'.'); %绘制8点DFT的幅频特性图title('(1a) 16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度'); %x2n 和 x3n
M=8;xa=1:(M/2); xb=(M/2):-1:1;
x2n=[xa,xb]; %产生长度为8的三角波序列x2(n)
x3n=[xb,xa];
X2k8=fft(x2n,8);
X2k16=fft(x2n,16);
X3k8=fft(x3n,8);
X3k16=fft(x3n,16);
figure(2);
N=8;
f=2/N*(0:N-1);
subplot(2,2,1);stem(f,abs(X2k8),'.'); %绘制8点DFT的幅频特性图title('(2a) 8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度'); subplot(2,2,3);stem(f,abs(X3k8),'.'); %绘制8点DFT的幅频特性图title('(3a) 8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度'); N=16;
f=2/N*(0:N-1);
subplot(2,2,2);stem(f,abs(X2k16),'.'); %绘制8点DFT的幅频特性图title('(2a) 16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度'); subplot(2,2,4);stem(f,abs(X3k16),'.'); %绘制8点DFT的幅频特性图title('(3a) 16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度'); %x4n 和 x5n
N=8;n=0:N-1;
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
X4k8=fft(x4n,8);
X4k16=fft(x4n,16);
X5k8=fft(x5n,8);
X5k16=fft(x5n,16);
figure(3);
N=8;
f=2/N*(0:N-1);
subplot(2,2,1);stem(f,abs(X4k8),'.'); %绘制8点DFT的幅频特性图title('(4a) 8点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度'); subplot(2,2,3);stem(f,abs(X5k8),'.'); %绘制8点DFT的幅频特性图title('(5a) 8点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度'); N=16;
f=2/N*(0:N-1);
subplot(2,2,2);stem(f,abs(X4k16),'.'); %绘制8点DFT的幅频特性图title('(4a) 16点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度'); subplot(2,2,4);stem(f,abs(X5k16),'.'); %绘制8点DFT的幅频特性图title('(5a) 16点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');
%x8n
Fs=64; T=1/Fs;
N=16;n=0:N-1; %对于N=16的情况
nT = n*T;
x8n=cos(8*pi*nT)+cos(16*pi*nT)+cos(20*pi*nT)
X8k16=fft(x8n,16);
N=16;
f=2/N*(0:N-1);
figure(4);
subplot(2,2,1);stem(f,abs(X8k16),'.'); %绘制8点DFT的幅频特性图title('(8a) 16点DFT[x_8(n)]');xlabel('ω/π');ylabel('幅度'); N=32;n=0:N-1; %对于N=16的情况
nT = n*T;
x8n=cos(8*pi*nT)+cos(16*pi*nT)+cos(20*pi*nT)
X8k32=fft(x8n,32);