云南师范大学DSP数字信号处理实验报告5.docx

上传人:b****8 文档编号:9770334 上传时间:2023-05-21 格式:DOCX 页数:14 大小:89.73KB
下载 相关 举报
云南师范大学DSP数字信号处理实验报告5.docx_第1页
第1页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第2页
第2页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第3页
第3页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第4页
第4页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第5页
第5页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第6页
第6页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第7页
第7页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第8页
第8页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第9页
第9页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第10页
第10页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第11页
第11页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第12页
第12页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第13页
第13页 / 共14页
云南师范大学DSP数字信号处理实验报告5.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

云南师范大学DSP数字信号处理实验报告5.docx

《云南师范大学DSP数字信号处理实验报告5.docx》由会员分享,可在线阅读,更多相关《云南师范大学DSP数字信号处理实验报告5.docx(14页珍藏版)》请在冰点文库上搜索。

云南师范大学DSP数字信号处理实验报告5.docx

云南师范大学DSP数字信号处理实验报告5

 

本科学生实验报告

 

学号114090395姓名李华福

学院物电学院专业、班级11电子

实验课程名称数字信号处理(实验)

教师及职称李宏宁

开课学期第三至第四学年下学期

填报时间2014年4月9日

 

云南师范大学教务处编印

实验序号

05

实验名称

利用DFT分析模拟信号频谱

实验时间

2014年4月9

实验室

云南师范大学同析3栋数字信号处理实验室

一.实验预习

1.实验目的

应用离散傅里叶变换DFT分析模拟信号x(t)的频谱,深刻理解利用DFT分析模拟信号频谱的原理、分析过程中出现的现象及解决方法。

2.实验原理、实验流程或装置示意图

连续周期信号相对于离散周期信号,连续非周期信号相对于离散非周期信号,都可以通过时域抽样定理建立相互关系。

因此,在离散信号的DFT分析方法基础上,增加时域抽样的步骤,就可以实现连续信号的DFT分析。

利用DFT计算连续周期信号

的频谱

分析步骤为:

(1)确定周期信号的基本周期T0;

(2)计算一个周期内的抽样点数N。

若周期信号的最高次谐频为p次谐波pw0,则频谱中有2p+1根谱线;若周期信号的频谱无限宽,则认为集中信号90%以上(或根据工程允许而定)能量的前(p+1)次谐波为近似的频谱范围,其余谐波忽略不计。

取N>=2p+1;

(3)对连续周期信号以抽样间隔T=T0/N进行抽样,得到x[k];

(4)利用FFT函数对x[k]作N点FFT运算,得到X[m];

(5)最后求得连续周期信号的频谱为X(nw0)=X[m]/N。

利用DFT计算连续非周期信号x(t)的频谱

分析步骤为:

(1)根据时域抽样定理,确定时域抽样间隔T,得到离散序列x[k];

(2)确定信号截短的长度M及窗函数的类型,得到有限长M点

离散序列xM[k]=x[k]w[k];

(3)确定频域抽样点数N,要求N>=M;

(4)利用FFT函数进行N点FFT计算得到N点的X[m];

(5)由X[m]可得连续信号频谱X(jw)样点的近似值。

3.实验设备及材料

一台带matlab软件的计算机。

4.实验方法步骤及注意事项

实验方法步骤:

(1)打开MATLAB软件

(2)根据题目要求编写程序

(3)运行程序

(4)分析实验结果

(5)关闭计算机

注意事项:

(1)对于实验电脑要爱惜,遵守实验的规则。

(2)程序运行前要检查程序是否正确。

⏹在使用matlab编程时,应该养成良好的编写习惯,新建一个flies编写。

⏹一些快捷键的使用,能提高编程效率。

⏹Help能查询到不懂使用的函数使用方法,比如这个用到的fft和fftshift等函数。

如下界面:

二、实验内容

【例1.5.1】

已知周期信号x(t)=cos(10*pi*t)+2sin(18*pi*t),计算其频谱。

解:

信号基频

0=2*pirad/s,周期T=1;最高次谐频为9*

0=18*pirad/s,所以N≥(2*9+1=19),程序如下:

%example1_5_1……

clc,clear,closeall

T0=1;

N=19;

T=T0/N;

t=0:

T:

T0;

x=cos(2*pi*5*t)+2*sin(2*pi*9*t);

Xm=fft(x,N);

f=(-(N-1)/2:

(N-1)/2)/N/T;

stem(f,abs(fftshift(Xm)));

xlabel('f(Hz)');

ylabel('f(Magnitube)');

title('幅度谱');

【例1.5.2】

利用DFT近似分析连续信号x(t)=exp(-t)*u(t)的幅度谱并理论值比较。

fsam=50;

Tp=6;

N=512;

T=1/fsam;

t=0:

T:

Tp;

x=exp(-1*t);

X=T*fft(x,N);

subplot(2,1,1);

plot(t,x);

xlabel('t');

title('时域波形');

w=(-N/2:

N/2-1)*(2*pi/N)*fsam;

y=1./(j*w+1);

subplot(2,1,2);

plot(w,abs(fftshift(X)),w,abs(y),'r-.');

title('幅度谱');

xlabel('w');

legend('理论值','计算值',0);

axis([-10,10,0,1.4])

1.利用FFT分析信号

的频谱。

(1)确定DFT计算的各参数(抽样间隔,截短长度,频谱分辨率等);

(2)比较理论值与计算值,分析误差原因,提出改善误差的措施。

%5_1_1……

clc,clear,closeall

T0=1;

N=19;

T=T0/N;

t=0:

T:

T0;

x=exp(-2*t)

Xm=fft(x,N);

f=(-(N-1)/2:

(N-1)/2)/N/T;

stem(f,abs(fftshift(Xm)));

xlabel('f(Hz)');

ylabel('f(Magnitube)');

title('幅度谱');

%5_1_2……

clc,clear,closeall

fsam=50;

Tp=6;

N=512;

T=1/fsam;

t=0:

T:

Tp;

x=exp(-2*t);

X=T*fft(x,N);

subplot(2,1,1);

plot(t,x);

xlabel('t');

title('时域波形');

w=(-N/2:

N/2-1)*(2*pi/N)*fsam;

y=1./(j*w+1);

subplot(2,1,2);

plot(w,abs(fftshift(X)),w,abs(y),'r-.');

title('幅度谱');

xlabel('W');

legend('理论值','计算值',0);

axis([-10,10,0,1.4]);

2.分析周期信号

频谱时,如果分析长度不为整周期,利用fft函数计算并绘出其频谱,总结对周期信号进行频谱分析时,如何选取信号的分析长度。

%5_2……

clc,clear,closeall

T0=1.5;%周期不为整数时,如1.5时分析

N=19;

T=T0/N;

t=0:

T:

T0;

x=cos(2*pi*5*t)+2*sin(2*pi*9*t);

Xm=fft(x,N);

f=(-(N-1)/2:

(N-1)/2)/N/T;

stem(f,abs(fftshift(Xm)));

xlabel('f(Hz)');

ylabel('f(Magnitube)');

title('幅度谱');

与列1_5_1的图形对比如下:

3.假设一实际测得的一段信号的长度为0.4s,其表达式为x(t)=cos(2pf1t)+0.75cos(2pf2t)其中f1=100Hz,f2=110Hz。

当利用FFT近似分析该信号的频谱时,需要对信号进行时域抽样。

试确定一合适抽样频率fsam,利用DFT分析信号x(t)的频谱。

若在信号截短时使用Hamming窗,由实验确定能够分辨最小谱峰间隔Df和信号长度Tp的关系。

若采用不同参数的Kaiser窗,重新确定能够分辨最小谱峰间隔Df和信号长度Tp的关系。

%5_3……

clc,clear,closeall

fsam=440;

Tp=0.4;

N=55;

T=1/fsam;

t=0:

T:

Tp;

f1=100;f2=110;

x=cos(2*pi*f1*t)+sin(2*pi*f2*t);

Xm=fft(x,N)/N;

f=(-(N-1)/2:

(N-1)/2)/N/T;

subplot(2,1,1);

stem(f,abs(fftshift(Xm)));

xlabel('f(Hz)');

ylabel('magnitude');

title('幅度谱N=440');

fsam=440;

Tp=0.4;

N=55;

T=1/fsam;

t=0:

T:

Tp;

N=Tp/T+1;

f1=100;f2=110;

y=cos(2*pi*f1*t)+0.75*sin(2*pi*f2*t);

w=0.54-0.46*cos(2*pi*t/(N-1));

x=y.*w;

Xm=fft(x,N)/N;

f=(-(N-1)/2:

(N-1)/2)/N/T;

subplot(2,1,2);

stem(f,abs(fftshift(Xm)));

xlabel('f(Hz)');

ylabel('magnitude');

4.产生一个淹没在噪声中的信号x(t),例如由50Hz和120Hz的正弦信号以及一个零均值的随机噪声叠加而成。

确定抽样间隔和信号截短长度,分析信号的频谱,指出50Hz和120Hz的正弦成分对应的谱峰位置,详细写出检测信号的步骤和原理。

%5_4……

clc,clear,closeall

fsam=480;Tp=0.4;

N=55;T=1/fsam;

t=0:

T:

Tp;f1=50;f2=120;

x=cos(2*pi*f1*t)+0.75*sin(2*pi*f2*t);

Xm=fft(x,N)/N;f=(-(N-1)/2:

(N-1)/2)/N/T;

stem(f,abs(fftshift(Xm)));

xlabel('f(Hz)');ylabel('magnitude');

title('幅度谱');

2.对实验现象、实验结果的分析及其结论

通过本次实验,我学会应用离散傅里叶变换(DFT),分析连续信号x[k]的频谱。

深刻理解利用DFT分析模拟信号频谱的原理、分析过程中出现的现象及解决方法。

经验:

学习使用matlab快捷键很重要,能大大提高编程效率。

比如方向键的上键能快速输入上次的内容;ctrl+r键全部注释,ctrl+t键取消全部注释(选中的部分);另外,每次编写之前都写一句:

clc,clear,closeall,清除工作空间及面板,这样不会受上一次的操作影响等,使用matlab的help能查找到不熟悉的函数使用方法。

另外,截图时采用Figure中的Edit->CopyFigure以减少图片所占容量,便于编辑。

还可以通过File->SaveAs…保存不同格式的figure图片,便于其他地方其他格式时使用。

通过利用DFT分析模拟信号频谱更加熟悉了matlab的关于傅里叶变换的一些函数及功能作用。

教师评语及评分:

 

签名:

年月日

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2