例2.2
a题
n=-2:10;
[x11,n11]=sigshift(x,n,5);
x=[1:7,6:-1:1];[x11,n11]=sigshift(x,n,5);
[x12,n12]=sigshift(x,n,-4);
[x1,n1]=sigadd(2*x11,n11,-3*x12,n12);
stem(n1,x1);
b题
>> n=-2:10;x=[1:7,6:-1:1];
>> [x11,n11]=sigfold(x,n);
>> [x12,n12]=sigshift(x11,n11,3);
>> [x21,n21]=sigshift(x,n,2);
>> n=-2:10;x=[1:7,6:-1:1];
>> [x21,n21]=sigfold(x,n);
>> [x21,n21]=sigshift(x21,n21,3);
>> [x22,n22]=sigshift(x,n,2);
>> [x22,n22]=sigmult(x,n,x22,n22);
>> [x2,n2]=sigadd(x21,n21,x22,n22);
>> stem(x2,n2);
>> stem(n2,x2);
例2.3
>> n=-10:10;
>> x=exp((-0.1+j*0.3)*n);
>> subplot(2,2,1);
>> stem(n,real(x));
>> subplot(2,2,2);
>> stem(n,imag(x));
>> subplot(2,2,3);
>> stem(n,abs(x));
>> subplot(2,2,4);
>> stem(n,(180/pi)*angle(x));
一些有用的结论
单位取样序列
奇偶序列
任何一个实值序列x,都可以由它的奇部分以及偶部分组成
我们会在学习傅里叶变换的属性时运用这一分解,在matlab中可以通过一个简单的函数将序列分解成奇序列和偶序列,代码如下
function [xe,xo,m]=evenodd(x,n);
if any(imag(x)~=0)
error('x is not a real sequence')
end
m=-fliplr(n);
m1=min([m,n]);m2=max([m,n]);
m=m1:m2;
nm=n(1)-m(1);
n1=1:length(n);
x1=zeros(1,length(m));
x1(n1+nm)=x;
x=x1;
xe=0.5*(x+fliplr(x));
xo=0.5*(x-fliplr(x));
例2.4
>> n=[0:10];
>> x=stepseq(0,0,10)-stepseq(10,0,10);
>> [xe,xo,m]=evenodd(x,n);
>> figure(1);
>> clf
>> subplot(2,2,1);stem(n,x);title('rectangular pulse')
>> subplot(2,2,2);stem(m,xe);
>> subplot(2,2,4);stem(m,xo);