实验十一 离散信号时域分析的MATLAB实现 一、实验目的 1
熟悉MATLAB 编程方法、常用语句和可视化绘图技术; 2
掌握序列时域运算的 MATLAB 编程方法
二、实验原理 在用 MATLAB 表示离散信号并将其可视化时,由于矩阵元素个数是有限的,因此无法表示无限长序列;另外,离散信号无法进行符号运算
在 MATLAB 中,绘制离散序列波形图的专用命令为 stem( )
其格式有: (1)stem(k,f) 在图形窗口中,绘制出样值顶部为空心圆的序列 f(k)波形图
(2)stem(k,f,’fill’) 在图形窗口中,绘制出样值顶部为实心圆的序列 f(k)波形图
下面介绍离散序列的 MATLAB 表示、基本运算(相加、相乘、平移、反转、尺度变换)、卷积和的实现及其图形显示方法
单位序列(k ) 单位序列的定义: 0,00,1)(kkk 下面为绘制(k -k 0)波形图的子程序: fu nction impseq(k1,k2,k0) %单位序列(k-k0),k0 为时移量 k=k1:k2; %k1,k2 为序列的起止序列号 n=length(k); x=zeros(1,n); x(1,k0-k1+1)=1; %在k0 时刻信号赋值为1 stem(k,x,'fill') axis([k1,k2,0,1
1]) title('单位序列d(k-k0)') 输入如下命令,则可获得单位序列(k -3 )的波形图,如图11-1 所示
impseq(-1,5,3) 2
单位阶跃序列(k ) 单位序列的定义: 0,00,1)(kkk 下面为绘制(k -k 0 )波形图的MATLAB 子程序
function stepseq(k1,k2,k0) %单位阶跃序列,k0 为时移量 k=k