实验一 信号(模拟、数字)的输入输出实验
(常见离散信号产生和实现)
一、实验目的
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