数字信号《用FFT对信号作频谱分析》实验完整模版.docx

上传人:b****7 文档编号:11168512 上传时间:2023-02-25 格式:DOCX 页数:9 大小:104.11KB
下载 相关 举报
数字信号《用FFT对信号作频谱分析》实验完整模版.docx_第1页
第1页 / 共9页
数字信号《用FFT对信号作频谱分析》实验完整模版.docx_第2页
第2页 / 共9页
数字信号《用FFT对信号作频谱分析》实验完整模版.docx_第3页
第3页 / 共9页
数字信号《用FFT对信号作频谱分析》实验完整模版.docx_第4页
第4页 / 共9页
数字信号《用FFT对信号作频谱分析》实验完整模版.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数字信号《用FFT对信号作频谱分析》实验完整模版.docx

《数字信号《用FFT对信号作频谱分析》实验完整模版.docx》由会员分享,可在线阅读,更多相关《数字信号《用FFT对信号作频谱分析》实验完整模版.docx(9页珍藏版)》请在冰豆网上搜索。

数字信号《用FFT对信号作频谱分析》实验完整模版.docx

数字信号《用FFT对信号作频谱分析》实验完整模版

计算机科学与工程学院

《数字信号处理》实验报告[3]

专业班级

实验时间

2012年5月27日

学生学号

实验地点

学生姓名

指导教师

实验项目

数字信号处理(用FFT对信号作频谱分析)

实验类别

实验学时

实验目的及要求

1)掌握线性卷积的计算机编程方法,利用卷积的方法观察、分析系统响应的时域特性。

2)验证卷积定理。

3)掌握循环卷积的计算机编程方法,并比较与线性卷积的差别。

利用循环卷积的方法观察、分析系统响应的时域特性。

成绩评定表

类别

评分标准

分值

得分

合计

上机表现

按时出勤、遵守纪律

认真完成各项实验内容

30分

报告质量

程序代码规范、功能正确

填写内容完整、体现收获

70分

说明:

 

评阅教师:

日期:

2010年月日

实验内容

一.实验目的

学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析,误差及其原因,以便正确应用FFT。

二.实验内容及步骤

(1)对以下序列进行谱分析。

      

选择FFT的变换区间N为8和16两种情况进行频谱分析。

分别打印其幅频特性曲线。

并进行对比、分析和讨论。

exp301.m:

%========================

clearall;closeall;clc;

%实验内容

(1)

%========================

x1n=[ones(1,4)];   %产生序列向量x1(n)=R4(n)

M=8;xa=1:

(M/2); xb=(M/2):

-1:

1;x2n=[xa,xb];   %产生长度为8的三角波序列x2(n)

x3n=[xb,xa];

X1k8=fft(x1n,8);       %计算x1n的8点DFT

X1k16=fft(x1n,16);     %计算x1n的16点DFT

X2k8=fft(x2n,8);       %计算x1n的8点DFT

X2k16=fft(x2n,16);       %计算x1n的16点DFT

X3k8=fft(x3n,8);       %计算x1n的8点DFT

X3k16=fft(x3n,16);       %计算x1n的16点DFT

%以下绘制幅频特性曲线

subplot(2,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(2,2,3);mstem(X1k16);%绘制16点DFT的幅频特性图

title('(1b)16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X1k16))])

figure

(2)

subplot(2,2,1);mstem(X2k8);%绘制8点DFT的幅频特性图

title('(2a)8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X2k8))])

subplot(2,2,2);mstem(X2k16);%绘制16点DFT的幅频特性图

title('(2b)16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X2k16))])

subplot(2,2,3);mstem(X3k8);%绘制8点DFT的幅频特性图

title('(3a)8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X3k8))])

subplot(2,2,4);mstem(X3k16);%绘制16点DFT的幅频特性图

title('(3b)16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X3k16))])

(2)对以下周期序列进行谱分析。

选择FFT的变换区间N为8和16两种情况分别对以上序列进行频谱分析。

分别打印其幅频特性曲线。

并进行对比、分析和讨论。

exp302.m:

%实验内容

(2)周期序列谱分析

%========================

closeall;clearall;clc;

N=8;n=0:

N-1;       %FFT的变换区间N=8

x4n=cos(pi*n/4);

x5n=cos(pi*n/4)+cos(pi*n/8);

X4k8=fft(x4n);      %计算x4n的8点DFT

X5k8=fft(x5n);      %计算x5n的8点DFT

N=16;n=0:

N-1;      %FFT的变换区间N=16

x4n=cos(pi*n/4);

x5n=cos(pi*n/4)+cos(pi*n/8);

X4k16=fft(x4n);     %计算x4n的16点DFT

X5k16=fft(x5n);     %计算x5n的16点DFT

figure(3)

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,3);mstem(X4k16);%绘制16点DFT的幅频特性图

title('(4b)16点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');

axis([0,2,0,1.2*max(abs(X4k16))])

subplot(2,2,2);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))])

(3)对模拟周期信号进行谱分析

选择采样频率

,变换区间N=16,32,64三种情况进行谱分析。

分别打印其幅频特性,并进行分析和讨论。

exp303.m:

%实验内容(3)模拟周期信号谱分析

%========================

closeall;clearall;clc;

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%绘制8点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))])

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)32点采样

X6k32=fft(x6nT);     %计算x6nT的32点DFT

X6k32=fftshift(X6k32);     %将零频率移到频谱中心

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(X6k32),'.');boxon%绘制8点DFT的幅频特性图

title('(6b)32点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');

axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))])

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)64点采样

X6k64=fft(x6nT);     %计算x6nT的64点DFT

X6k64=fftshift(X6k64);     %将零频率移到频谱中心

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(X6k64),'.');boxon%绘制8点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(X6k64))])

、思考题

(1)对于周期序列,如果周期不知道,如何用FFT进行谱分析?

周期信号的周期预先不知道时,可先截取M点进行DFT,再将截取长度扩大1倍截取,比较结果,如果二者的差别满足分析误差要求,则可以近似表示该信号的频谱,如果不满足误差要求就继续将截取长度加倍,重复比较,直到结果满足要求

(2)如何选择FFT的变换区间?

(包括非周期信号和周期信号)

一、对于非周期信号:

有频谱分辨率F,而频谱分辨率直接和FFT的变换区间有关,因为FFT能够实现的频率分辨率是2π/N...因此有最小的N>2π/F。

就可以根据此式选择FFT的变换区间。

二、对于周期信号,周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。

(3)当N=8时,

的幅频特性会相同吗?

为什么?

N=16呢?

的周期为8,所以N=8和N=16均是其周期的整数倍,得到正确的单一频率正弦波的频谱,仅在0.25π处有1根单一谱线。

如图所示。

的周期为16,所以N=8不是其周期的整数倍,得到的频谱不正确,如图所示。

N=16是其一个周期,得到正确的频谱,仅在0.25π和0.125π处有2根单一谱线,如图所示。

实验总结

通过这次实验,学习了线性卷积的计算机编程方法,利用卷积的方法观察、分析用FFT对信号作频谱分析和计算的方法。

对matlab有了更多的了解。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1