通信14 数字信号处理 实验指导书讲解.docx
- 文档编号:2911697
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:53
- 大小:973.96KB
通信14 数字信号处理 实验指导书讲解.docx
《通信14 数字信号处理 实验指导书讲解.docx》由会员分享,可在线阅读,更多相关《通信14 数字信号处理 实验指导书讲解.docx(53页珍藏版)》请在冰豆网上搜索。
通信14数字信号处理实验指导书讲解
《数字信号处理》实验指导书
留黎钦编
莆田学院电子信息工程学系
2010年2月
实验1MATLAB基本操作、数组及矩阵运算
实验2常见数字信号的产生与显示
实验3离散序列的卷积和系统差分方程的MATLAB实现
实验4Z变换和系统频域特性的MATLAB实现
实验5基于MATLAB的IIR滤波器设计
实验6基于MATLAB的FIR滤波器设计
前言
《数字信号处理》这门课是各高等院校电子、通信类专业的一门重要的专业基础课。
本实验指导书配合理论教学,设置了相应的基于MATLAB的实验课程以补充理论教学,帮助同学们理解所学的概念和算法。
本实验指导书的前面部分主要安排了验证性实验,使同学们掌握数字信号处理的基本内容和方法,并掌握MATLAB语言在数字信号处理这个专业领域的应用。
后面部分增加了设计性的实验,要求在熟悉理论内容的基础上,通过设计以及编写必要的MATLAB程序,从而能够掌握利用MATLAB来解决复杂的问题,加强对数字信号处理技术的应用。
MATLAB是矩阵实验室(MatrixLaboratory)的简称,它是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
它是学习数字信号处理不可缺少的语言工具。
同学们在实验课前要做好预习,并书写必要的预习报告,实验课堂做好每个实验,对实验结果要做好必要的记录和保存,课后认真完成实验报告。
实验报告要求如下:
1.具体格式参照“信息工程学院实验报告”格式。
2.注意实验报告要求分析组织有条理,截图美观,结论正确。
实验1Matlab基本操作、数组及矩阵运算
实验目的
熟悉Matlab工作环境和基本操作,熟悉Matlab数组及矩阵运算。
实验内容
1.熟悉Matlab工作环境,掌握clc,clear,cd这几个常见命令。
图1MATLAB桌面,具体布局可能因机器和版本的不同而会有轻微变化
2.假设x=3,y=4。
利用MATLAB计算下列表达式:
,
要求:
(1)在命令窗口直接输入,得到运算结果;
(2)编写M文档并在命令窗口执行,然后用工作空间平台查看有哪些变量在当前工作区。
3.一小球从空中下落的位移公式为:
利用MATLAB计算小球在t=5s时的位置,已知:
.
4.通过以下两种方式得到关于exp函数的帮助:
(1)在命令窗口中输入helpexp命令。
(2)运用帮助空间窗口。
5. 计算函数
在
为如下取值时候的函数值,
取4.9,3.2,100,1.5,9.75,2.56,16,4.9,10。
6.确定下列数组的大小,通过whos或工作空间窗口(Theworkspacebrowser)检查你的答案。
注意在本练习中后面的数组可能要用到前面数组的定义。
(1)u=[1020*i10+20]
(2)v=[-1;20;3]
(3)w=[10-9;2-20;123]
(4)x=[u'v]
(5)y(3,3)=-7
(6)z=[zeros(4,1)ones(4,1)zeros(1,4)']
(7)v(4)=x(2,1)
1).w(2,1)的值是多少?
2).x(2,1)的值是多少?
3).y(2,1)的值是多少?
7.c数组的定义如下,写出下面子数组的内容。
c=
1.1000 -3.2000 3.4000 0.6000
0.6000 1.1000 -0.6000 3.1000
1.3000 0.6000 5.5000 0
(1)c(2,:
)
(2)c(:
end) (3) c(1:
2,2:
end) (4)c(6)
(5)c(4:
end)(6)c(1:
2,2:
4)(7)c([14],2)(8)c([22],[33])
8.当赋值语句执行后,下列数组的内容是多少?
(1)a=[123;456;789];
a([31],:
)=a([13],:
);
(2)a=[123;456;789];
a([13],:
)=a([22],:
);
(3)a=[123;456;789];
a=a([22],:
);
9.当数组执行后,下列数组a的内容是多少?
(1)a=eye(3,3);
b=[123];
a(2,:
)=b;
(2)a=eye(3,3);
b=[456];
a(:
3)=b';
(3)a=eye(3,3);
b=[789];
a(3,:
)=b([312]);
(4)a=eye(3,3);
b=[789];
a(3,:
)=b([312]);
10.假设a,b,c和d的定义如下:
分别运行出下列表达式的运算结果,并思考。
(1)a+b
(2)a.*c (3)a*b (4)a*c
(5)a+c (6)a+d (7)a.*d (8)a*d
实验2常见数字信号的产生与显示
1.实验目的
复习MATLAB的使用方法和基本功能;熟悉单位冲激序列、单位阶跃序列、矩形序列和指数序列等常用序列的产生;掌握利用MATLAB画图函数显示信号波形的方法。
2.实例分析
2.1常用离散序列的产生和图形显示
例1.1产生单位冲激序列
在MATLAB中,函数zeros(1,N)产生一个N个零的行向量,利用它可以实现在有限区间上的单位冲激序列。
按照之前学习过的MATLAB编程方法,将下列指令编辑到“exlimp.m”文件中。
%exe1imp.m利用zeros(1,N)产生单位冲激序列
clear;%清除空间变量
clc;%清除屏幕
n=-49:
49;%定义横坐标轴
x=zeros(1,99);%MATLAB中数组下标从1开始
x(50)=1;
closeall;%关闭所有窗口
stem(n,x);%绘制离散序列数据
title('单位冲激序列');
运行“exe1imp.m”文件将产生如图1-1所示的序列。
例1.2产生单位阶跃序列
在MATLAB中,函数ones(1,N)产生一个N个1的行向量,利用它可以实现在有限区间上的单位阶跃序列。
同样,将下列指令编辑到“exe1step.m”文件中。
%exe1step.m利用ones(1,N)产生单位阶跃序列
n=-49:
49;%定义横坐标
x=ones(1,99);%MATLAB中数组下标从1开始
x(1:
49)=0;
closeall;
stem(n,x);%绘制离散序列数据
title('单位阶跃信号序列');
运行“exe1step.m”文件将产生如图1-2所示的序列。
图2-1单位冲激序列
图2-2单位阶跃序列
例1.3产生矩形序列
在MATLAB中,符号函数sign(x)在x大于0时其值为1;在x等于0时其值为0;在x小于0时其值为-1。
利用它可以实现窗长度为N的矩形序列。
将下列指令编辑到“exe1rectang.m”文件中。
%exe1rectang.m利用sign(x)产生矩形序列
N=10;
n=0:
30;%定义横坐标
x=sign(sign(N-1-n)+1);%MATLAB中数组下标从1开始
n=-10:
30;
x=[zeros(1,10),x];
closeall;
stem(n,x);%绘制离散序列数据
title('矩形序列');
运行“exe1rectang.m”文件将产生如图1-3所示的序列。
图2-3矩形序列
例1.4产生实指数序列
在MATLAB中,可以用运算符“.^”,即点乘方实现实指数序列。
将下列指令编辑到“exe1relexp.m”文件中。
%exe1realexp.m利用运算符“.^”产生实指数序列
N=10;
n=0:
N-1;
a=0.5;
b=2;
x=a.^n;
y=b.^n;
closeall;
subplot(1,2,1);
stem(n,x);
subplot(1,2,2);
stem(n,y);
运行“exe1realexp.m”文件将产生如图1-4所示的序列。
图2-4 实指数序列
例1.5产生正弦和余弦序列
,
将下列指令编辑到“exe1sincos.m”文件中。
N=50;
A=1;
f=50;
fs=1000;
n=0:
N-1;
x=A*sin(2*pi*f*n/fs);
y=A*cos(2*pi*f*n/fs);
closeall;
subplot(1,2,1);
stem(n,x);
subplot(1,2,2);
stem(n,y);
运行“exe1sincos.m”文件将产生如图1-5所示的序列。
图2-5 正弦和余弦序列
例1.6产生复指数序列
复指数序列也称为复正弦序列,由余弦序列做实部,正弦序列做虚部构成。
在MATLAB中,函数exp(x)为指数函数,real(x)取x的实部,imag(x)取x的虚部,abs(x)求x的模值,angel(x)求x的幅角。
将下列指令编辑到“exe1exp.m”文件中。
N=50;
n=0:
N-1;
x=exp(j*pi*n/6);
x_real=real(x);
x_imag=imag(x);
x_magnitute=abs(x);
x_phase=angle(x)*180/pi;
subplot(2,2,1);
stem(n,x_real);
xlabel('x-real');
subplot(2,2,2);
stem(n,x_imag);
xlabel('x-imag');
subplot(2,2,3);
stem(n,x_magnitute);
xlabel('x-magnitute');
subplot(2,2,4);
stem(n,x_phase);
xlabel('x-phase');
运行“exe1exp.m”文件将产生如图1-6所示的序列。
图2-6 复指数序列
2.2常用信号的产生和显示
例1.7产生均匀分布的白噪声信号
在MATLAB中,函数rand(x)产生均匀分布的随机数,利用它可以实现在有限区间上的白噪声信号。
将下列指令编辑到“exe1noise.m”文件中。
clear
N=500;
x=rand(1,N);
closeall;
subplot(1,2,1);
plot(x);
gridon;
subplot(1,2,2);
hist(x);
gridon;
运行“exe1noise.m”文件将产生如图1-7所示的图形显示。
图2-7 白噪声信号
例1.8产生信号处理中的sinc(t)函数。
已知
,将下列指令编辑到“exe1sinc.m”文件中。
clear
N=200;
step=4*pi/N;
t=-2*pi:
step:
2*pi;
y=sinc(t);
closeall;
plot(t,y,'LineWidth',2);
axis([-88
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信14 数字信号处理 实验指导书讲解 通信 14 数字信号 处理 实验 指导书 讲解
![提示](https://static.bdocx.com/images/bang_tan.gif)