1、2)序列翻转 设有序列:,在翻转运算中,序列的每个值以n=0为中心进行翻转,需要注意的是翻转过程中序列的样值向量翻转的同时,位置向量翻转并取反。MATLAB中,翻转运算用fliplr函数实现。设序列用样值向量x和位置向量nx表述,翻转后的序列用样值向量y和位置向量ny描述。3)序列的移位移位序列的移位序列可表示为:,其中,时代表序列右移个单位;时代表序列左移个单位。在移位过程中,序列值未发生任何变化,只是位置向量的增减。MATLAB中没有固定函数实现移位运算。设序列用样值向量x和位置向量nx描述移位后的序列用样值向量y和位置向量ny描述。4)序列的线性卷积和线性卷积和运算是离散时间信号的一种重
2、要运算,两个有限长序列的线性卷积可以用conv函数实现。设x(n)和y(n)分别用样值向量x和y表示,线性卷积g(n)用样值向量g表示,则调用方式为,conv函数并未考虑到位置向量,默认所有的序列都从n=0开始。如果把位置向量考虑在内,则需要对位置向量作额外处理。设x(n)和y(n)的位置向量分别是nx:ns1,nf1和ny:ns2,nf2表示,线性卷积的位置向量用ng:ns3,nf3表示。四 实验内容1、上机实验前,认真阅读实验原理,掌握离散时间信号表示和运算的方法;2、掌握离散时间信号表示及运算的MATLAB实现。实例1:产生单位采样序列在MATLAB中,函数zeros(1,N)产生一个N
3、个令的列向量,利用它可以实现在有限的区间上的单位采样序列。按照前面所述的方法,将下列文件输入到Command Window窗口中。n=0:49; %定义横轴坐标x=zeros(1,50); %matlab中数组下标从1开始x(1)=1;stem(n,x); %绘制离散序列数据title(单位采用信号序列)按回车键,将产生如下图所示的序列。实例2:产生单位阶跃序列在MATLAB中,函数ones(1,N)产生一个N个1的行向量,利用它可以实现在有限区间上的单位阶跃序列。按照前面所述方法,将下列指令编辑到“exlstep.m”文件中。x=ones(1,50);单位阶跃信号序列3文件编辑后保存,然后单
4、击DebugRun,运行“exlstep.m”,将产生如下图所示序列。实例3:产生矩形阶跃序列在MATLAB中,函数sign(x)产生在x大于0时其值为1;在等于0时其值为0,在x小于0时其值为-1。利用它可以实现窗长度为N的矩形序列。按照前面所述方法,将下列指令编辑到“exlrectang.m”文件中。N=10;x=sign(sign(N-1-n)+1); stem(n,x);矩形序列文件编辑后保存,然后单击DebugRun,运行“exlrectang.m”,将产生如下图所示序列。实例4:产生正弦和余弦序列将下列指令编辑到“exlsincos.m”文件中。N=50; %采样50个点A=1;
5、%正余弦波的幅值为1f=50; %信号频率为50Hzfs=500; %采样频率为500HzN-1;x=A*sin(2*pi*f*n/fs); %获得采样点的值 y=A*cos(2*pi*f*n/fs);subplot(1,2,1); %子图分割函数,参数一表示列,参数二表示行, %参数三表示绘图序号 正弦序列subplot(1,2,2);stem(n,y);余弦序列文件编辑后保存,然后单击DebugRun,运行“exlsincos.m”,将产生如下图所示序列。实例5:已知两个离散序列,用MATLAB绘出的波形。源程序如下:a1=-3,-2,-1,0,1,2,3;k1=-3:3;a2=-2,-1
6、,0,1,2;k2=-2:2;k=min(k1:k2):max(k1,k2);f1=zeros(1,length(k);f2=zeros(1,length(k);f1(find(k=min(k1)&(k=min(k2)&=max(k2)=1)=a2;f=f1+f2;stem(k,f,filled);运行结果如下图所示。实例6:已知离散序列,利用MATLAB绘出其翻转信号,源程序如下:f1=2*3.k;f=fliplr(f1);k=-fliplr(k1);stem(k,f);实例7: 已知离散信号,利用MATLAB绘出波形,源程序波形如下:a0=-3,-2,-1,0,1,2,3;k0=-3:k1
7、=3;k=k0+k1;f=a0;实例8:已知两个离散序列,,利用MATLAB绘出原信号及其卷积,源程序如下:f1=1,3,3,3;k1=0:f2=1,2,3,3,4;k2=0:4;f=conv(f1,f2);subplot(3,1,1);stem(k1,f1);ylabel(f1(k)subplot(3,1,2);stem(k2,f2);f2(k)subplot(3,1,3);stem(0:length(f)-1,f);xlabel(kf(k)五 实验报告要求1、简述实验目的和实验原理;2、编程实现实验内容,要求附上详细的源程序和清晰的截图;3、总结实验中的主要结论。作业一 离散时间信号的表示
8、与运算题1:实现下面序列的相加和相乘题2:实现序列的翻转。题3:实现序列右移3位和左移2位。题4:已知序列 计算它们的线性卷积和。题5:已知两个离散序列,,利用MATLAB绘出原信号及其线性卷积和。a1=-1,2,-3,1,4;k1=-2:a2=2,-3,2,-3;f3=f1+f2;f4=f1.*f2;subplot(2,1,1);stem(k,f3,相加subplot(2,1,2);stem(k,f4,相乘5;f1=1,2,3,4,5,6,7,8;翻转a0=1,2,3,4,5,5,5,5;k0=-2:k2=-2;m1=k0+k1;m2=k0+k2;stem(m1,f,右移stem(m2,f,左移x1=1,1,1,1,1,1;n1=-2:x2=1,1,1,1,1,1,1;n2=-1:n3=min(n1)+min(n2);x=conv(x1,x2);stem(n1,x1);x1(n)卷积stem(n2,x2);x2(n)stem(n3:length(x)-1+n3,x);nx(n)x(n)=x1(n)*x2(n)f(k)=f1(k)*f2(k)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1