n=min(min(n1), min(n2)): max(max(n1), max(n2)) yl=zeros(l,length (n)); 2=y1 1(find(m>=minn1)8(n<=max(n1))==1))=x1; y2(fnd((>=min(n2))8(n<=max(n2)==1)=x2 三信号移位 (n+n) 序列y(n)相对于序列x(n)左移no个采样周期。 MATLAB编写的实现序列移位函数 sishi()程序清单如下 function [ y,n] ‰ Implements y(m+k)=x 四序列折叠 (n)=x(-n) (13-10) 即序列x(n)每一项对n=0的纵坐标折叠,y(m)和x(n)相对于n=0的纵坐标轴对称。 用 MATLAB编写的序列折叠函数 sixfold()程序清单如下 function [y, n]=sigfold(x, m, n0 IMplements y(n)=x(n) y=flipIr(x) n=-iliplr(n) 五、序列的奇偶性 任何一个序列x(n)都可以分解为偶分量x(n)和奇分量x(n)两部分之和。 x(n)=x(n)+xo(n) (13-11) 偶分量的定义是 x, (n)=x- n) (1.3-12 奇分量的定义是 xn)=-x0(-n) (1.3-13 式(1.3-11)中 x(n)=(x(m)+x(一n)) (1.3-14) x(n)=2(x 1.3-15) 用 MATLAB编写的函数 sigevenodd()用于将序列分解成偶序列和奇序列两部分, 程序清单如下 function [xeven, xodd, m]=sigevenodd (x, n) %Real signal decomposition into even and odd parts 14
if (imag(x)-=o) error(x is not a real sequence); m=flipIr(n), m1=min(Lm,n]); m2=max([m,n]):m=ml: m2 nm=n(1)-m(1;nl=1: length(n); x1=zeros(l,length(m)) xI(n1+nm)=xix=xI xeven=0. 5*(x+fliplr(x)), xodd =0.5 *(x-fipIr(x)); 【例1.8】设单位阶跃序列 j0,-10≤n<0 1,0≤n≤10 将其分解为偶分量和奇分量。 用 MATLAB编写序列分解的程序如下 %MATLAB PROGRAM 1-9 %Create unit Step Sequence n0=0 n=[nl:n2] x=[(n-n0)>=0]; subplot(221) xlabel(' ') ylabel ('x(n)')ititle(Step Sequence); id %Decomposition of the Sequence [xeven, xodd, m]=sigevenodd (x, n); subplot (222) stem(m, xeven) xlabel('m)ylabel('x even(n))title('Even Part)p grid 15
subplot(223) stem(m, xodd) xlabel('m);ylabel('x odd (n)):title(Odd Part): step Sequence Even Part 0.日 0.8 0. 0.6 04 0 0.2 0.2 0 leveeS 10 10 10 odd Part 05 0.5 图1.17阶跃序列的奇何分解 1.4 MATLAB信号生成函数 MATLAB5信号处理工具箱提供一些特殊信号波形生成函数(见附录),这整函数在 信号处理中起了十分重要作用这里仅介绍常用的 SQUARE、 SAWTOOTH、SIN DRC、 RECTPULS和 PULSTRAN。 SQUARE 功能:产生周期为2π幅值为士1的方波信号。 调用格式: x=square(t, duty) 其中,t为时间向量,duty为正幅值部分占周期的百分数 、 SAWTOOTH 功能:产生锯齿波或三角菠 16
调用格式 x=sawtooth(t, width) sawtooth(t)用于产生时间向量为t周期为2x宽度为wdth的三角波。这里 width为 0和1之间的数。 width=0.5时,产生标准正三角波。 【例1.9】(1)产生幅值为士1的周期性方波,周期为2s,脉宽为1s(2)产生幅值为 ±1的周期性方波周期为2s,脉宽为0.2(3)产生幅值为士1的周期锯齿波,周期为2 (4)产生幅值为±1的周期正三角波,周期为2s 用 MATLAB编写信号生成程序如下 %MATLAB PROGRAM 1-10 x=[0:0.01:10]; y= square(pi操x); subplot(221) axis([o,10,-2,2]); title('Square); xlabel('x): ylabel(y); e(pi普x,20) subplot(222) axis([010,-2,2])y title('Square);xlabel(x'),ylabeld'y') x=[0:0.01:10]y y=sawtooth (pi *x) subplot (223) axis([0,10,-2,2]) title(Sawtooth):xlabel('x); ylabel(y) y=sawtoothpi w x, 0. 5); subplot(224) plot(x,y) axi([0,10,-2,2]); title('Sawtooth);xlabel('x);ylabel('y); 生成信号波形如图1.18所示
square quarB 0 10 Sawtooth 8aw仙 10 10 图118周期方波、嚼齿披和三角波 、SNC 功能:生成snc函数波形。 调用格式 y= sine(x) 其中,x为一向量。 函数sinc(x)的周期为2x,并随x的增加而做衰减振荡,且为偶函效在n处的值为 零。调用时应注意此特点 四、DRIc 功能:产生Dilt或sinc周期函数 调用格式 s dirac(x, n) 其中,x为一向量为正整数 dirichlet是周期Snc函数表达式为 1 1 x=2xk,k=0,±1,士2, direc(x)=isin(nx/22 其他 sin(x/2) n为非零整数。当n为奇数时周期为2x;当n为偶数时,周期为4 例1.10】生成snc(x)函数波形和不同n的di(x,n)波形曲线