《数字信号处理》上机实习报告.docx
- 文档编号:17923741
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:16
- 大小:492.63KB
《数字信号处理》上机实习报告.docx
《《数字信号处理》上机实习报告.docx》由会员分享,可在线阅读,更多相关《《数字信号处理》上机实习报告.docx(16页珍藏版)》请在冰点文库上搜索。
《数字信号处理》上机实习报告
数字信号处理实习报告
一、从给定的程序(文件包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
运行结果:
三、计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
普通褶积和循环褶积:
源程序见mantilab文件夹“santi1”
运行结果:
边界效应:
两个离散的序列离散x(n)和y(n),他们的长度分别为N1和N2,如果循环褶积的长度N>N1+N2-1,则循环褶积和线性褶积的值相等。
否则,循环褶积和线性褶积的值不相等。
而在循环褶积的系数矩阵中,把第一列离散的序列依次折叠刀第二列,第三列等,这个时候,当循环褶积的N=N1+N2-1时,循环褶积的系数矩阵和线性褶积的系数矩阵不相同,循环褶积系数矩阵边沿是不是零,而线性褶积系数矩阵边沿是零,但是他们运算结果一致,这就是循环褶积在计算过程中的边界效应。
线性相关和循环相关:
源程序见matlab文件夹“santi2”:
运行结果:
四、设计一个病态(矩阵)系统,分析其病态程度;找出对应的解决方法(提示:
添加白噪因子)。
源程序见matlab文件夹“siti”:
运行结果:
这个结果的相差很小,说明病态矩阵经过添加白噪因子之后,已经不在是病态,给其一个很小的扰动,其线性方程的结果变化很小。
病态矩阵是求解方程组时对数据的小扰动很敏感的矩阵。
解线性方程组Ax=b时,若对于系数矩阵A及右端项b的小扰动,方程组的解x与原方程组Ax=b的解差别很大,则称矩阵A为病态矩阵。
方程组的近似解x一般都不可能恰好使剩余r=b-Ax为零,这时x亦可看作小扰动问题Ax=b-r(即)的解,所以当A为病态时,即使剩余r很小,仍可能得到一个与真解相差很大的近似解。
解决这个问题的方法就是给病态矩阵添加一个白噪因子,这样就可以解决其本身的病态问题。
五、设计一个一维滤波处理程序(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
运行结果:
窗函数:
源程序见matlab文件夹“chuang”
运行结果:
六、设计一个二维滤波处理程序(分别做低通、高通等处理)。
程序思路:
二维滤波在地震中就是在时间上滤一遍得到频率,在空间域内在滤一遍得到波数。
选择的谱也要满足对称共轭,经过二维滤波后,再反变换回去时得到的信号一定是没有虚数的,为实信号;
源程序见matlab文件夹“erweilvbo”:
运行结果:
原始信号:
在行方向做高通滤波后的信号图像:
在列方向做低通滤波后的信号图像:
七、验证时间域的循环褶积对应的是频率域的乘积;线性褶积则不然。
由前面的程序(第三大题)可以看出对于循环褶积,不管是在时间域还是在频率域的计算结果都是一样。
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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号处理 数字信号 处理 上机 实习 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)