产生不同种离散信号的基本函数主要有:exp--指数函数; sin/cos--正余弦函数;square--方波函数; sawtooth--锯齿波函数。
一、矩阵函数画图
普通矩阵序列画图如下:
k=[-2:2];
xk=[0,1,1,2,3];
stem(k,xk,'filled');%画茎秆图(序列图),在k的指定位置画x[k]
指数函数画图如下:
a=input('a=');
K=input('K=');
N=input('N=');
k=0:N-1;
y=K*a.^k;
stem(k,y);%以k为横坐标,y为纵坐标,显示离散序列,连线的话时plot函数
xlabel('Time');ylabel('Amplitute');
title(['a=',num2str(a)]);
二、序列的卷积
序列卷积的数学公式:
%卷积函数:conv(x,h),x与h为参与卷积计算的序列
x=[-0.5,0,0.5,1];%输入序列
kx=-1:2;%序列每个点的序号
h=[1,1,1];%输入序列
kh=-2:0;%序列每个点的序号
y=conv(x,h);%求卷积
k_sta= kx(1)+kh(1);%两个序列的第一个点的序号相加,为卷积后序列的第一个点的序号
k_end= kx(end)+kh(end);%两个序列的最后一个点的序号相加,为卷积后序列的最后一个点的序号
k=k_sta:k_end;%卷积后序列的范围
stem(k,y);%序列画图
xlabel('k');ylabel('y');
运行程序后得到的结果:
三、序列的互相关
序列相关的互相关公式:
即,序列x与序列h的互相关函数,为x[-n]与序列h的卷积。
matlab代码如下:
%相关函数,xcorr(x,h),x与h为参与相关计算的序列
x=[-0.5,0,0.5,1];%x序列
kx=0:3;%%序列每个点的序号
h=[1,1,1,1];%h序列
kh=0:3;%%序列每个点的序号
y=xcorr(h,x);%相关函数,Rxh,相关函数x与h位置不可互换
k_sta= kh(1)-kx(end);%x序列x的最大序号的负数,与序列h的第一个序号相加
k_end= kh(end)-kx(1);%x序列x的最小序号的负数,与序列h的最大序号相加
k=k_sta:k_end;
stem(k,y);%序列画图
xlabel('k');ylabel('y');
运行后结果:
因序列x[n]与h[n]的互相关为x[-n]与h[n]的卷积,因此使用matlab编写上述信号的卷积验证结果是否一致。
%x[-n]与h[n]卷积
x=[1,0.5,0,-0.5];%输入序列
kx=-3:0;%序列每个点的序号
h=[1,1,1,1];%输入序列
kh=0:3;%序列每个点的序号
y=conv(x,h);%求卷积
k_sta= kx(1)+kh(1);%两个序列的第一个点的序号相加,为卷积后序列的第一个点的序号
k_end= kx(end)+kh(end);%两个序列的最后一个点的序号相加,为卷积后序列的最后一个点的序号
k=k_sta:k_end;%卷积后序列的范围
stem(k,y);%序列画图
xlabel('k');ylabel('y');
序列x与序列h的互相关函数,为x[-n]与序列h的卷积,验证成功。