数字信号处理 实习大报告 17.docx
- 文档编号:29851450
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:19
- 大小:549.41KB
数字信号处理 实习大报告 17.docx
《数字信号处理 实习大报告 17.docx》由会员分享,可在线阅读,更多相关《数字信号处理 实习大报告 17.docx(19页珍藏版)》请在冰豆网上搜索。
数字信号处理实习大报告17
计算机编程与数字信号处理实习报告
姓名:
王啸天班级:
勘查07-3学号:
2007014325
实习日记
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)));
运行结果:
可见两者的振幅谱完全一致
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号处理 实习大报告 17 数字信号 处理 实习 大报