文档详情

1.常见离散信号的产生-数字信号处理实验报告.doc

发布:2017-05-27约2.33千字共6页下载文档
文本预览下载声明
计算机与信息工程学院验证性实验报告 专业:通信工程 年级/班级:2011级节 1. 加深对离散信号的理解。 2. 掌握典型离散信号的Matlab产生和显示。 二、实验原理及方法 在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x,表示如下: n=[…,-3,-2,-1,0,1,2,3,…] x=[…,6,3,5,2,1,7,9,…] 一般程序都从0 位置起始,则x= [x(0), x(1), x(2),…]对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。 数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth等函数来实现。 三、实验内容 1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列: ①单位冲击响应序列:δ(n)可用MATLAB 中zeros 函数来实现; ②单位阶跃序列:U(n)可用MATLAB 中ones 函数来实现; ③正弦序列:; ④指数序列: ⑤复指数序列:用exp 函数实现,并给出该复指数序列的实部、虚部、幅值和相位的图形。(其中a=-0.2;b=0.5;K0=4;N=40.) 参考流程图: 四、实验报告要求 1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘出复指数序列的实部、虚部、幅值和相位的图形。 2. 序列信号的实现方法。 3. 在计算机上实现正弦序列。 五、实验程序及结果 %编写一个长度为N的单位冲激响应序列 function [x,n]=impseq1(N) n1=-5; %设置的起始时间点 n2=N+n1-1; %设置的终止时间点 n=n1:n2; x=[zeros(1,-n1),1,zeros(1,n2)]; stem(n,x,r*) title(长度为N的单位冲激响应序列) xlabel(n) 在MATLAB Command Window中输入[x,n]=impseq1(40),结果如下: %编写一个长度为N的单位阶跃序列 function [x,n]=stepseq1(N) n1=-10; %设置的起始时间点 n2=N+n1-1; %设置的终止时间点 n=n1:n2; x=[zeros(1,-n1),ones(1,n2+1)]; plot(n,x,*) hold on plot(n,x,r) title(长度为N的单位阶跃序列) xlabel(n) 在MATLAB Command Window中输入[x,n]=stepseq1(40),结果如下: %编写一个长度为N角频率为w的正弦序列 function [y,n]=wqq_sin(N,w) n1=-5; %设置的起始时间点 n2=N+n1-1; %设置的终止时间点 n=n1:.01:n2; y=sin(w*n); plot(n,y,r) hold on title(长度为N角频率为w的正弦序列) xlabel(n) 在MATLAB Command Window中输入[x,n]=wqq_sin(40,0.2*pi),结果如下: %编写一个长度为N幂底数为a的指数序列 function [y,n]=wqq_zhishu(N,a) n1=-5; %设置的起始时间点 n2=N+n1-1; %设置的终止时间点 n=n1:.01:n2; y=a.^n; plot(n,y,r) title(长度为N幂底数为a的指数序列) xlabel(n) 在MATLAB Command Window中输入[y,n]=wqq_zhishu(10,0.5),结果如下: %编写一个长度为N的复指数序列 function [y,n]=wqq_fuzhishu(a,b,K0,N) n1=-20; %设置的起始时间点 n2=N+n1-1; %设置的终止时间点 n=n1:n2; y=K0.*exp((a+b*j).*n); y1=real(y); %复指数的实部 y2=imag(y); %复指数的虚部 y3=abs(y); %复指数的幅值 y4=angle(y); %复指数的相位 subplot 221 stem(n,y1,*) title(复指数序列) ylabel(实部); grid subplot 222 stem(n,y2,*) title(复指数序列) ylabel(虚部);grid subplot 223 stem(n,y3,*) ylabel(幅值); xlabel(n);grid subplot
显示全部
相似文档