实验三:用fft对信号作频谱分析实验报告。
一、 实验目的。
学习用fft对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用fft。
二、 实验原理。
用fft对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率d和分析误差。频谱分辨率直接和fft的变换区间n有关,因为fft能够实现的频率分辨率是2π/n,因此要求2π/n小于等于d。
可以根据此式选择fft的变换区间n。误差主要来自于用fft作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当n较大时,离散谱的包络才能逼近连续谱,因此n要适当选择大一些。
三、 实验步骤及内容(含结果分析)
1)对以下序列进行fft分析:
x1(n)=r4(n)
x2(n)=
x3(n)=
选择fft的变换区间n为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。
实验结果如下】:
实验结果图形与理论分析相符。
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为三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。
实验结果如下】:
4、程序**。
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('幅度');
x8nfs=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);
n=32;f=2/n*(0:n-1);
subplot(2,2,2);stem(f,abs(x8k32),'绘制8点dft的幅频特性图。
title('(8a) 32点dft[x_8(n)]'xlabel('ωylabel('幅度');
n=64;n=0:n-1; %对于n=16的情况。
nt = n*t;
x8n=cos(8*pi*nt)+cos(16*pi*nt)+cos(20*pi*nt)
x8k64=fft(x8n,64);
n=64;f=2/n*(0:n-1);
subplot(2,2,3);stem(f,abs(x8k64),'绘制8点dft的幅频特性图。
title('(8a) 64点dft[x_8(n)]'xlabel('ωylabel('幅度');
五、思考题。
用fft对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行谱分析的信号是模拟信号和时域离散信号。对信号进行谱分析的重要问题是频谱分辨率d和分析误差。
频谱分辨率直接和fft的变换区间n有关,因为fft能够实现的频率分辨率是2л/n≤d。可以根据此式选择fft的变换区间n。误差主要来自于用fft作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当n较大时,离散谱的包络才能逼近于连续谱,因此n要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作fft,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行频谱分析时,首先要按照采样定理将其变成时域离散信号。如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的普分析进行。
《数字信号处理》实验二作业
实验二 应用快速傅立叶变换 fft 进行简单频谱分析。实验报告。一 实验目的。1 掌握应用fft进行简单频谱分析的步骤。2 掌握matlab中振幅谱 相位谱 功率谱的计算。3 掌握振幅谱 功率谱 最大值频率点及中间值频率点的求法,初步掌握matlab综合编程。二 实验原理及步骤。1 频谱分析的主要步...
数字信号处理作业
题一 令,其中,u n 是白噪声。1 使用matlab中的有关文件产生均值为0,功率为0.1的均匀分布白u n 求其自相关函数并画出其波形。解 1 产生均值为0,功率为0.1的均匀分布的白u n 的程序如下 答 1 matlab的rand函数可用来产生均值微0.5,方差 即功率 为1 12,在 0,...
数字信号处理作业
数。字。信。号。处。理。题目数字信号处理系统 学院学院。专业班。姓名李晓东 学号 20110321169 济南大学。2013年10月。数字信号处理。数字信号处理是把信号用数字或符号表示的序列,通过计算机或通用信号处理设备,用数字的数值计算方法处理 例如滤波 变换 压缩 增强 估计 识别等 以达到提取...