《数字信号处理》上机实习报告16.docx

上传人:b****6 文档编号:12876950 上传时间:2023-06-08 格式:DOCX 页数:19 大小:520.40KB
下载 相关 举报
《数字信号处理》上机实习报告16.docx_第1页
第1页 / 共19页
《数字信号处理》上机实习报告16.docx_第2页
第2页 / 共19页
《数字信号处理》上机实习报告16.docx_第3页
第3页 / 共19页
《数字信号处理》上机实习报告16.docx_第4页
第4页 / 共19页
《数字信号处理》上机实习报告16.docx_第5页
第5页 / 共19页
《数字信号处理》上机实习报告16.docx_第6页
第6页 / 共19页
《数字信号处理》上机实习报告16.docx_第7页
第7页 / 共19页
《数字信号处理》上机实习报告16.docx_第8页
第8页 / 共19页
《数字信号处理》上机实习报告16.docx_第9页
第9页 / 共19页
《数字信号处理》上机实习报告16.docx_第10页
第10页 / 共19页
《数字信号处理》上机实习报告16.docx_第11页
第11页 / 共19页
《数字信号处理》上机实习报告16.docx_第12页
第12页 / 共19页
《数字信号处理》上机实习报告16.docx_第13页
第13页 / 共19页
《数字信号处理》上机实习报告16.docx_第14页
第14页 / 共19页
《数字信号处理》上机实习报告16.docx_第15页
第15页 / 共19页
《数字信号处理》上机实习报告16.docx_第16页
第16页 / 共19页
《数字信号处理》上机实习报告16.docx_第17页
第17页 / 共19页
《数字信号处理》上机实习报告16.docx_第18页
第18页 / 共19页
《数字信号处理》上机实习报告16.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《数字信号处理》上机实习报告16.docx

《《数字信号处理》上机实习报告16.docx》由会员分享,可在线阅读,更多相关《《数字信号处理》上机实习报告16.docx(19页珍藏版)》请在冰点文库上搜索。

《数字信号处理》上机实习报告16.docx

《数字信号处理》上机实习报告16

计算机编程与数字信号处理实习报告

实习日记

1.6月21日,学习matlab的基本程序,能看懂一些简单的程序。

2.6月22日,目标完成实习内容的第一题。

选中GIBBS现象的程序,对其进行分析,写注释。

3.6月23日,开始做第二题,由于是matlab的基础程序,所以比较顺利,完成了第二题的大部分。

4.6月24日,完成第二题的内容。

研究第三题,上午完成了普通褶积和循环褶积的时间域和频率域的计算。

5.6月25日,了解循环褶积的边界效应的意义,编写程序,做相关分析的程序。

确定各种滤波器的编程方法,弄清高中低频问题。

6.6月26日和6月27日是星期六和星期天,没有去机房实习,完成了一维滤波器的程序设计。

7.6月28日,二维滤波器程序也比一维滤波器复杂很多,上午基本上了解了二维滤波器的原理,有了初步的编程思路。

8.6月29日完成一种二维滤波器的编程,并且反变换的得到实信号,说明谱是正确的。

9.6月30日,完成第七题的编程。

第七题和循环褶积那题类似。

10.7月3日,完成了第八题,编写最后的实验报告。

 

实习过程,分析,结果

一、从给定的程序(文件包Friday.rar)中,选择一个源程序做详细标注。

(目的:

熟悉Matlab程序)

程序名:

Gibbs_Phenomena_CFSTzhushi.m

程序思路:

学习matlab基础程序

二、能够利用Matlab熟悉地画图,内容包括:

X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。

(1)在一副图上画出多幅小图;

(2)画出一组二维图形;

(3)画出一组三维图形;(4)画出复数的实部与虚部。

(5)完成对一个源程序进行详细注释。

例1

X、Y坐标轴上的label,每幅图上的title,

(1)在一副图上画出多幅小图;(3)画出一组三维图形;(5)完成对一个源程序进行详细注释。

使用subplot画出两个三维椭球,一个制作三维网格图,一个为表面图。

x轴范围[-3,3],y轴范围[-16,16],z轴范围[-2,2]

程序名:

tuoqiu.m

对此源程序的注释:

sita=0:

0.1:

2*pi;%设置sita角度的范围

arfa=sita';%确定arfa的范围

X=9*cos(arfa)*cos(sita);%用三角坐标将x表示出来

Y=256*cos(arfa)*sin(sita);%用三角坐标将y表示出来

Z=4*sin(arfa)*ones(size(sita));%用三角坐标将z表示出来

subplot(1,2,1),mesh(X,Y,Z)%画三维椭球网格图使用mesh

title('三维网格图');%注释命令

xlabel('x区间(-3:

3)');%在x轴上添加注释x的坐标

ylabel('y区间(-16:

16)');%在y轴上添加注释y的坐标

zlabel('z区间(-2:

2)');%在z轴上添加注释z的坐标

subplot(1,2,2),surf(X,Y,Z)%在第二个小图上画出椭球的三维曲面图

title('三维曲面图')%注释命令

xlabel('x区间(-3:

3)');%在x轴上添加注释x的坐标

ylabel('y区间(-16:

16)');%在y轴上添加注释y的坐标

zlabel('z区间(-2:

2)');%在z轴上添加注释z的坐标

运行结果:

例2

绘画多条曲线时的legend,对图形进行适当的标注等。

(2)画出一组二维图形;

在一个图内画出一个椭圆和正切,并在图中使用legend做注释

程序名:

tuoyuanhetan.m

运行结果:

例3

(4)画出复数的实部与虚部。

程序名:

xushu.m

运行结果:

三、计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。

程序思路:

线性褶积:

时间域里构造出toeplitz矩阵,我采用矩阵分解的方法,分解成很多个只有一个斜线的元素,最后叠加在一起;在频率域内通过做m+n-1的dft变幻的到。

应用的原理是循环褶积和线形褶积之间的关系。

循环褶积:

时间域内构造出循环的矩阵,同样也是叠加做的。

频率域很简单直接求解就可以了,为了对比,我选择循环次数恰好是m+n-1;

如果编程正确,那麽这两种褶积的四个结果都应该是一样的,运行结果的确是一样的

边界效应:

即只有当循环次数大于n1+n2-1时,循环褶积的结果才和线形褶积一致

则可以取N=6和N=5作比较

相关分析:

构造出hankel矩阵即可。

例1计算离散信号a=【4,5,6】和b=【2,3,4,5】的线性褶积

1.时间域

程序名:

xianxingzjt.m

运行结果

g=

8

22

43

58

49

30

2.频率域

程序名:

xianxingzjf.m

运行结果:

g=

82243584930

例2计算离散信号a和b的循环褶积

a=[4,5,6];b=[2,3,4,5];求N=6的循环褶积

时间域

程序名:

xunhuanzjt.m

运行结果

M=

8

22

43

58

49

30

a=[4,5,6];b=[2,3,4,5];求N=6的循环褶积

频率域

程序名:

xunhuanzjf.m

运行结果

M=

8

22

43

58

49

30

例3.编写一个做相关分析的源程序。

做a=[4,5,6]和b=[2,3,4,5]的相关分析

程序名:

xiangguanfenxi.m

运行结果:

r=

30

20

11

4

0

4

11

20

例4.指出循环褶积计算时所存在的边界效应现象

N=6时结果循环褶积M=

8

22

43

58

49

30

此时线性褶积结果:

g=

8

22

43

58

49

30

可见二者是相等的

若作N=5的循环褶积测结果为

M=

38.0000

22.0000

43.0000

58.0000

49.0000

所以可见褶积的长度不同,导致边界的值先发生改变,即存在边界效应

四、设计一个病态(矩阵)系统,分析其病态程度;找出对应的解决方法(提示:

添加白噪因子)。

程序名:

bingtai.m

程序思路:

病态矩阵就是解不出结果的方程组。

其解决方法是添加白噪因子,就是先同乘以一个矩阵(做DFT变换),然后分解,添加一个很小的量,解出结果,反变换。

例解d=[11-3-5-3;-311-3-5;-5-311-3;-3-5-311;];

D的特征值为

-0.0000

12.0000

16.0000

16.0000

对D直接求逆得到:

Warning:

Matrixisclosetosingularorbadlyscaled.

Resultsmaybeinaccurate.RCOND=1.009294e-017.

ans=

1.0e+015*

1.12591.12591.12591.1259

1.12591.12591.12591.1259

1.12591.12591.12591.1259

1.12591.12591.12591.1259

由此可知D为被病态矩阵;试求D*X=B=[1;1;1;1],若直接求逆得到结果为

Warning:

Matrixisclosetosingularorbadlyscaled.

Resultsmaybeinaccurate.RCOND=1.009294e-017.

ans=

1.0e+015*

4.5036

4.5036

4.5036

4.5036

若采用添加白噪音子求解:

程序名:

bingtai.m

运行结果:

x=

100100100100

这个结果较为稳定;是某种意义下的最优解

五、设计一个一维滤波处理程序(1、分别做低通、高通、带通、带阻等理想滤波器进行处理;2、窗函数)。

程序思路:

选取信号,选取滤波器的种类,设置滤波器的谱,计算褶积,反变换。

实信号的谱是对称共轭的,所以选取谱的时候,一定要注意对称共轭,反变换后的信号没有虚数,是实信号;

时窗函数:

理想的频谱是跳跃的,视窗函数就是不让其直接跳跃到1或0,而是用某种函数拟合两个端点。

本题使用的是2N函数

例1对信号x=sin(t.^2+t)分别做低通、高通、带通、带阻等理想滤波器进行处理。

1.1低通滤波

程序名:

ditonglb.m

运行结果

1.2高通滤波

程序名:

gaotonglb.m

运行结果:

1.3带通滤波

程序名:

daitonglb.m

运行结果:

1.4带阻滤波

程序名:

daizulb.m

运行结果:

例2窗函数法

程序名:

shichuanghanshu.m

运行结果:

六、设计一个二维滤波处理程序(分别做低通、高通等处理)。

程序思路:

二维滤波在地震中就是在时间上滤一遍得到频率,在空间域内在滤一遍得到波数。

选择的谱也要满足对称共轭,经过二维滤波后,再反变换回去时得到的信号一定是没有虚数的,为实信号;

例1对信号分别做低通、高通、带通、带阻等理想滤波器进行处理。

1.1二维低通滤波

程序名:

erweiditong.m

运行结果:

1.2二维高通滤波

程序名:

erweigaotong.m

运行结果:

1.3二维带通滤波

程序名:

erweidaitong.m

运行结果:

1.4二维带阻滤波

程序名:

erweidaizu.m

运行结果:

七、验证时间域的循环褶积对应的是频率域的乘积;线性褶积则不然。

由前面的程序(第三大题)可以看出对于循环褶积,不管是在时间域还是在频率域的计算结果都是一样。

a=[4560];

>>b=[2345];

运行结果为

8

22

43

58

49

30

但是对于线性褶积,由于当两个信号非零个数不同时不能进行相乘,所以必须得先补零,然后做谱的乘积,

a=[4560];

>>b=[2345];

>>c=fft(a)

d=fft(b)

e=c.*d

ifft(e)

ans=

57524358

可见两者并不相等

八、请用通俗、易懂的语言说明数字信号处理中的一种性质、一条定理或一个算例(顺便利用Matlab对其进行实现)。

时移性质:

好比一个人在北京,时移相当于他去了上海,谱的相位发生了改变,相当于他的位置发生了变化,但是谱的模并没有改变,相对的是这个人本身并没有发生任何改变,谱的重要信息没有随时移,人的位置虽然改变了,但是人的性质也没有改变。

如:

a=[12345];

b=[23451];%b是a的向左时移一位

subplot(1,2,1);

plot(abs(fft(a)));

subplot(1,2,2);

plot(abs(fft(b)));

运行结果:

可见两者的振幅谱完全一致

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

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

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

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