n=[0:100] x=2“sin(0.05黄pin+pi/4); stem(n, x) xlabel('n');ylabel(x(n)'),title('Sine Sequence), grid 个x(n)=2sin(0.5x口+7/4)的正弦序列波形如图1.13所示。 图1.13正弦序列 值得注意的是正弦序列可能是周期序列,也可能不是周期序列。当/2x为有理分 式时,即 式中,P,q均为整数 该正弦序列为周期序列,且周期为q即sin(a(n+q))= simeon 五、实指数序列 x(n)=a ∞<n<+∞ (1.2-7) 式中,a为实数 例1.5】用 MATLAB编写生成实指数序列0.5的程序如下: %MATLAB PROGRAM 1-6 %Create Real power Sequence n=[o:10] (0.5).^n xlabelc'n'),ylabel(x(n)); title(Real power Sequence); 一个x(n)=0.5的实指数序列波形如图1.14所示。 六、复指数序列
图1.14实指数序列 <n< (1.28) 式(1.2-8)可写为 x(n)=Re(n)+j(n) 式中,实部Re(n)=eosn,虚部L(n)= e sinton 或 n)=|x(n)|∠x(n) (1.2-10 式中,模|x(a)!=e°;幅角∠x(n)=an 【例16〗】用 MATLAB编写生成复指数序列x(n)=e1+D的程序,-10<n< 10, %MATLAB PROGRAM 1-7 %Create Complex power Sequence clf -1010 alpha=-0.1+0.3j x=exp(alpha *n) Image x=a ( 180/pi)* angle(x)s subplot(221) stem(n, Real x); title(Real Part);xlabelc'n')+ stem(n, Image_x)title('@lmaginary Part)Ixlabeld'n')
g subplot(223) stem(n, Mag_x):title( Magnitude),xlabel('n); id subplot(224) stem(n, Phase_x); title( Phase);xlabel('n') grid Rea」Par Imaginary Part 10 M agnItude Phage 100 200 10 5 10 图1.15复指效序列 七、随机序列 MATLAB提供两个产生随机序列的函数: rand(1,n)用于产生[0,1]上均匀分布随机序列长度为n randn(1,n)用于产生均值为0方差为1的高斯随机序列即白噪声序列长度为n 【例17】用 MATLAB编写程序生成长度为10的随机序列。 %MATLAB PROGRAM 1-8 %Create a random Sequence n=[1:10] x=rnd(1,10 subplot(221) stem(n, x)
xlabel('n)vylabeld'x(n)); title ( Random Sequence); zlabelC'n');ylabel(x(n)); title( Random Sequence') rid Random sequenc目 Random sequance 0.G 妄 1 0 国1.16随机序列 八、周期序列 若xa)=x(n+T)则x(n)为周期序列。T为周期 用 MATLAB产生一个信号x(n)的P个周期的周期信号xp(a),用 MATLAB语言 可直楼产生 (n),x(n),…,x(n) 1.3信号的运算 1.31连续时问信号 连续时间信号的运算通常有信号的时移、信号倒置信号加倌号乘信号微分和积分 等。通过信号运算可由基本信号生成各种复杂售号。 信号的时 y(t)=x(t+)(r>0) (1.3-1) 式中,x(t为原信号y()为新信号,yt)信号波形相对于x(t)信号波形向左平移τ 若y(t)=x(t-),则y(t)相对于x(t)向右平移τ 〓、信号倒置(折叠) (t)=x(-t)
y(t)相对于x(t)以纵坐标为对称轴。 三信号时间尺寸改变 y(t)=x(at) (1.3-3) 式中,a为时间尺寸变换系数。 ea>1,y(t)波形在时间域内被“压缩”成l/a;0<a<1,y(t)波形在时间域内被“扩展” 四信号加 y(t)=x1(t)士x2(t) (1.3-4) 五信号微分和积分 y(t)= dx(t) (1.3-5) y(t)= f(r)dr (1,3-6) 1.32离散时间信号 离散时间信号一般可用数的序列表示,和连续时间信号类似,序列也可进行运算。这 里介绍序列的基本运算和它的 MATLAB实现。为了便于以后的应用,这里基本运算以 M一文件函数形式给出 信号加 x(n)=x1(n)+x2(n) 序列加的条件是x1(n)和x2(n)具有相长度,且在相同的采样位置上相加,否则需进 行转换。 用 MATLAB实现信号加的函数 siadh()程序清单如下 function [y, n]=sigadd(xl, nl, x2, n2) Implements y(n)=xl(n)+x2(n) n=min(min(n1,min(n2))max(max(n1),max(n2)) y1=zeros(, length(n)) y2=y1; y1(ind((>=min(n1)8.(n<=mx(n1))==1))=x1; y2(find((n>=min(n2)8(n<=max(n2)==1))=x2; 信号乘 y(n)=x1(n)·x2(n) (],3-8) 序列乘的条件是x1(n)和x2(n)具有相同长度,且在相同的采样位置上相乘否则需 进行转换。 用 MATLAB编写的实现序列乘的函数 siumut()程序清单如下: function Cy, n]=sigmult(x1,n1,x2, n2) %Implements y(n)=xl(n)*x2(n)