数字信号处理实验讲义2015-9-6 下载本文

实验一 信号(模拟、数字)的输入输出实验

(常见离散信号产生和实现)

一、实验目的

1.加深对常用离散信号的理解;

2.掌握matlab中一些基本函数的建立方法。

二、实验原理

1.单位抽样序列

?(n)??

?1?0n?0n?0

在MATLAB中可以利用zeros()函数实现。

x?zeros(1,N);

x(1)?1;如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:

?1n?k ?(n?k)??

0n?0?2.单位阶跃序列

n?0?1 u(n)??

0n?0?在MATLAB中可以利用ones()函数实现。

x=ones(1,N)

3.正弦序列

x(n)?Asin(2?fn/Fs??)

在MATLAB中,

n=0:N-1;

x=A*sin(2*pi*f*n/Fs+phi)

1

4.复指数序列

x(n)?r?ej?n

在MATLAB中,

n=0:N-1;

x=r*exp(j*w*n) 5.指数序列

x(n)?an

在MATLAB中,

n=0:N-1;

x=a.^n

三、实验内容实现和图形生成

1.五种基本函数的生成 程序如下: (1)单位抽样序列 方法一:

% 单位抽样序列和延时的单位抽样序列 n=0:10;

x1=[1 zeros(1,10)];x2=[zeros(1,5) 1 zeros(1,5)]; subplot(1,2,1);

stem(n,x1);xlabel ('时间序列n');ylabel('振幅');title('单位抽样序列x1'); subplot(1,2,2);

stem(n,x2); xlabel('时间序列n');ylabel('振幅');title('延时了5的单位抽样序列');

2

方法二:

先在matlab中定义单位抽样序列: function [x,n]=dwxl(n1,n2,n0) n=[n1:n2]; x=(n==n0);

或:function [x,n]=impseq(n1,n2,n0) n=[n1:n2]; x=[(n-n0)==0]; 在运行命令: [x,n]=dwxl(-5,5,3)

stem(n,x);xlabel('n');title('单位抽样序列x'); 或:[x,n]=impseq(-5,5,3)

stem(n,x);xlabel('n');title('单位抽样序列x'); (2)单位阶跃序列 方法一: n=0:10; u=[ones(1,11)];

stem(n,u);xlabel ('时间序列n');ylabel('振幅');title('单位阶跃序列'); 所得的图形如下所示:

3