1.常见离散信号的产生-数字信号处理实验报告.doc
文本预览下载声明
计算机与信息工程学院验证性实验报告
专业:通信工程 年级/班级: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
显示全部