数字信号处理实验1.docx
《数字信号处理实验1.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验1.docx(9页珍藏版)》请在冰豆网上搜索。
数字信号处理实验1
实验一 离散时间信号的时域分析
实验室名称:
计算机基础实验室(信息学院2202)实验时间:
2015年9月17日
姓名:
王凤琼学号:
20131060114专业:
电子信息工程指导教师:
柏正尧
成绩
教师签名:
年月日
一、实验目的
1、了解认识序列信号;
2、利用MATLAB仿真分析序列信号;
3、提高MATLAB编程能力。
4、熟悉MATLAB中产生信号和绘制信号的基本命令。
二、实验内容
1.5序列的产生
Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它。
Q1.2命令clf,axis,title,xlabel和ylabel的作用是什么?
Q1.3修改程序P1.1,产生带有延时11个样本的延迟单位样本序列ud[n]。
运行修改的程序并显示产生的序列。
Q1.6运行程序P1.2,以产生复数值得指数序列。
Q1.7哪个程序参数控制该序列的增长或衰减?
哪个参数控制该序列的振幅?
Q1.17运行程序P1.4,以产生正弦序列并显示它。
Q1.18该序列的频率是多少?
怎样可以改变它?
哪个参数控制该序列的相位?
哪个参数控制该序列的振幅?
该序列的周期是多少?
Q1.23修改上述程序,以产生长度为50、频率为0.08、振幅为2.5、相移90°的一个正弦序列并显示它。
该序列的周期是多少?
1.6序列的简单运算。
Q1.29运行程序P1.5,以产生所有相关的信号。
Q1.32信号x1,x2和x3与信号x之间的关系是什么?
三、实验器材及软件
1.微型计算机1台
2.MATLAB7.0软件
四、实验原理
序列以向量的形式存储,并且所有的信号被限定为因果的和有限长的。
产生长度为N的单位样本序列u=[1zeros(1,N-1)];延时M个样本且长度为N的单位样本序列ud=[zero(1,M)1zeros(1N-M-1)];产生长度为N的单位阶跃序列s=[ones(1,N)];
\基本离散时间系列是指数序列,可用运算符.^和exp产生。
正弦序列在MATLAB中可使用三角运算符cos和sin产生。
数字信号处理引用的一个常见例子是从被加性噪音污染的信号中移除噪音,采用三点滑动平均算法的表达式为y[n]=1/3(x[n-1]+x[n]+x[n+1]).
五、实验步骤
1.仔细看书上的例子,知道单位样本和单位阶跃序列,以及延时单位序列的表达式。
2.运行书上程序p1.1,截图保存。
3.参照延时序列的表达式即可写出延时11个样本的延时单位样本序列。
4.运行书上程序p1.2,截图保存。
5.运行书上程序p1.4,截图保存。
6.知道正弦序列在MATLAB中可使用三角运算符cos和sin表示。
修改程序p1.4,改为长度50,频率为0.08,振幅为2.5,相移为pi/2,的正弦序列。
7.运行书上程序p1.5,截图保存。
六、实验记录(数据、图表、波形、程序等)
Q1.1:
n=-10:
20;
u=[zeros(1,10)1zeros(1,20)];
stem(n,u);
xlabel('时间序号n');ylabel('振幅');
>>title('单位样本序列');
>>axis([-102001.2]);
Q1.3
clf;
n=0:
30;
ud=[zeros(1,11)1zeros(1,19)];
stem(n,ud);
xlabel('时间序列n');ylabel('振幅');
title('单位样本序列');
axis([03001.2]);
Q1.6
clf;
c=-(1/12)+(pi/6)*i;
K=2;
n=0:
40;
x=K*exp(c*n);
subplot(2,1,1);
stem(n,real(x));
xlabel('时间序号n');ylabel('振幅');
title('实部');
subplot(2,1,2);
stem(n,imag(x));
xlabel('时间序号n');ylabel('振幅');
title('虚部');
Q1.17:
n=0:
40;
f=0.1;
phase=0;
A=1.5;
arg=2*pi*f*n-phase;
x=A*cos(arg);
clf;
stem(n,x);
axis([040-22]);
grid;
title('正弦序列');
xlabel('时间序号n');
ylabel('振幅');
axis;
:
Q1.23:
n=0:
49;
f=0.08;
phase=pi/2;
A=2.5;
arg=2*pi*f*n-phase;
x=A*cos(arg);
clf;
stem(n,x);
axis([049-2.52.5]);
grid;
title('正弦序列');
xlabel('时间序号n');
ylabel('振幅');
axis;
Q1.29:
R=51;
d=0.8*(rand(R,1)-0.5); m=0:
R-1;
s=2*m.*(0.9.^m); x=s+d';
subplot(2,1,1);
plot(m,d','r-',m,s,'g--',m,x,'b-.'); xlabel('时间序号n'); ylabel('振幅'); legend('d[n]','s[n]','x[n]');
x1=[0 0 x]; x2=[0 x 0]; x3=[x 0 0]; y=(x1+x2+x3)/3; subplot(2,1,2);
plot(m,y(2:
R+1),'r-',m,s,'g--'); legend('y[n]','s[n]');
xlabel('时间序号n'); ylabel('振幅');
七、实验思考题及解答
Q1.2命令clf,axis,title,xlabel和ylabel的作用是什么?
答:
clf:
清除图形窗的图形;
axis:
确定横纵坐标的值;
title:
输出图像的标题;
xlabel:
输出横坐标的标题;
ylabel:
输出纵坐标的标题。
Q1.7哪个程序参数控制该序列的增长或衰减?
哪个参数控制该序列的振幅?
答:
‘c’参数控制该序列的增长或衰减;‘k’参数控制该序列的振幅。
Q1.18该序列的频率是多少?
怎样可以改变它?
哪个参数控制该序列的相位?
哪个参数控制该序列的振幅?
该序列的周期是多少?
答:
f=0.1Hz;参数phase控制改序列的相位;参数A控制该序列的振幅;T=10。
Q1.32信号x1,x2和x3与信号x之间的关系是什么?
答:
矩阵x1的第三个元素到最后一个元素由x组成;矩阵x2的第二元素到倒数第二个元素由x组成;矩阵x3的第一个元素到倒数第三个元素由x组成。
八、实验结果分析与总结
1、熟悉了MATLAB编程界面,提高编程效率;
2、掌握单位样本和单位阶跃序列的图像;
3、了解熟悉序列的性质和特点;
4、掌握利用MATLAB分析绘制序列信号。
5.通过本次试验更加深刻认识了MATLAB软件,并使用其产生信号和绘制信号的基本命令,更加深刻的理解了数字信号的产生及其概念。
6.对关于MARLAB的一些命令学习后有所遗忘了,应该把上学期的知识再做一个全面的复习。