序列的尺度变换例题
一、实验目的
(1)进一步了解离散时间序列时域的基本运算。
(2)了解MATLAB语言进行离散序列运算的常用函数,掌握离散序列运算程序的编写方法。 二、实验涉及的MATLAB子函数
1.find
功能:寻非零元素的索引号。
调用格式:
find((n>=min(n1))&(n<=max(n1)));在符合关系运算条件的范围内寻非零元素的索引号。 2.fliplr
功能:对矩阵行元素进行左右翻转。
调用格式:
x1=fliplr(x);将x的行元素进行左右翻转,赋给变量x1。 三、实验原理
离散序列的时域运算包括信号的相加、相乘,信号的时域变换包括信号的移位、反折、倒相及信号的尺度变换等。
在MATLAB中,离散序列的相加、相乘等运算是两个向量之间的运算,因此参加运算的两个序列向量必须具有相同的维数,否则应进行相应的处理。
下面用实例介绍各种离散序列的时域运算和时域变换的性质。 1.序列移位
将一个离散信号序列进行移位,形成新的序列:
  x1(n)=x(n-m)
当m>0时,原序列x(n)向右移m位,形成的新序列称为x(n)的延时序列;当m<0时,原序列x(n)向左移m位,形成的新序列称为x(n)的超前序列。 例3-1  x1(n)=u(n+6)  (-10<n<10)
  x2(n)=u(n-4)  (-10<n<10)
编写一个MATLAB程序,对u(n)序列进行移位,由图3-1比较三个序列之间的关系。
n1=-10;n2=10;
k0=0;k1=-6;k2=4;
n=n1:n2;            %生成离散信号的时间序列
x0=[n>=k0]; %生成离散信号x0(n)
x1=[(n-k1)>=0];%生成离散信号x1(n)
x2=[(n-k2)>=0];%生成离散信号x2(n)
subplot(3,1,1),stem(n,x0,¢filled¢,¢k¢);
axis([n1,n2,1.1*min(x0),1.1*max(x0)]);
ylabel(¢u(n)¢);
subplot(3,1,2),stem(n,x1,¢filled¢,¢k¢);
axis([n1,n2,1.1*min(x1),1.1*max(x1)]);
ylabel(¢u(n+6)¢);
subplot(3,1,3),stem(n,x2,¢filled¢,¢k¢);
axis([n1,n2,1.1*min(x2),1.1*max(x2)]);
ylabel(u¢(n-4)¢);  图3-1 u(n)及其位移序列u(n+6)和u(n-4) 例3-2 已知一正弦信号:
求其移位信号x(n-2)和x(n+2)在-2<n<10区间的序列波形。
解 MATLAB程序如下:
n=-2:10;n0=2;n1=-2;
x=2*sin(2*pi*n/10);        %建立原信号x(n)
x1=2*sin(2*pi*(n-n0)/10); %建立x(n-2)信号
正则化一个五行五列的随机矩阵x2=2*sin(2*pi*(n-n1)/10);%建立x(n+2)信号 subplot(3,1,1),stem(n,x,¢filled¢,¢k¢);
ylabel(¢x(n)¢);
subplot(3,1,2),stem(n,x1,¢filled¢,¢k¢);
ylabel(¢x(n-2)¢);
subplot(3,1,3),stem(n,x2,¢filled¢,¢k¢);
ylabel(¢x(n+2)¢);
结果如图3-2所示。  图3-2 正弦信号x(n)、x(n-2)和x(n+2) 2.序列相加
两个离散序列相加是指两个序列中相同序号n(或同一时刻)的序列值逐项对应相加,构成一个新的序列:
  x(n)=x1(n)+x2(n)
情况1 参加运算的两个序列具有相同的维数。 例3-3 求x(n)=d(n-2)+d(n-4)  (0<n<10)。
解 MATLAB程序如下:
n1=0;n2=10;n01=2;n02=4;        %赋初值
n=n1:n2;
x1=[(n-n01)==0]; %建立d(n-2)序列
x2=[(n-n02)==0]; %建立d(n-4)序列
x3=x1+x2;
subplot(3,1,1);stem(n,x1,¢filled¢);
axis([n1,n2,1.1*min(x1),1.1*max(x1)]);
ylabel(¢d(n-2)¢);
subplot(3,1,2);stem

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。