首页 百科知识 离散序列的基本运算

离散序列的基本运算

时间:2023-10-10 百科知识 版权反馈
【摘要】:与离散序列加法有所不同,这里参加运算的两个序列向量必须具有相同的维数。离散序列反折是指离散序列的两个向量以零时刻的取值为基准点,以纵轴为对称轴反折,在MATLAB中提供了fliplr函数可以对时间序列进行反折操作。数字信号处理应用的一个常见例子是从被噪音“污染”的信号中移除噪声。假定信号s[n]被噪声d[n]所污染,得到一个含有噪声的信号我们的目的是对x[n]进行运算,产生一个合理逼近s[n]的信号y[n] 。

2.3 离散序列的基本运算

数字信号处理的目的,是从一个或多个给定的离散信号中,产生一个具有我们所需性质的信号。处理算法由加法、标量乘法、时间反转、延时和乘法等基本运算组合而成。我们通过简单的实验来说明这些运算的应用。

1.序列加法

两个离散序列相加是指两个序列中相同序号n的序列值逐项对应相加,构成一个新的序列:x(n)= x1(n)+x2(n)。

这样就有如下两种情况。

情况1 参加运算的两个序列具有相同的维数。

例2.7 求x(n)= δ(n-2)+δ(n-4)(0<n<10)。

img98

img99

运行结果如图2-7所示。

img100

图2-7 相同维数的序列加法

情况2 参加运算的两个序列具有不同的维数。

例2.8 已知

x1(n)= u(n+2)(-4<n<6), x2(n)= u(n-4)(-5<n<8),求x(n)= x1(n)+x2(n)。

要求上述两个序列之和,必须对长度较短的序列补零,同时保持位置一一对应。程序如下:

img101

img102

运行结果如图2-8所示。

img103

图2-8 不同维数的序列加法

2.序列移位

可按下式将一个离散信号序列进行移位,形成新的序列:

x1(n)= x(n-m),

当m>0时,原序列x(n)向右移动m位,形成的新序列称为x(n)的延时序列;当m<0时,原序列x(n)向左移动m位,形成的新序列称为x(n)的超前序列。

例2.9 求

x1(n)= u(n+5) (-10<n<10),

x2(n)= u(n-5) (-10<n<10),

并比较它们与u(n)的关系。

程序如下:

img104

运行结果如图2-9所示。

img105

图2-9 序列移位

3.序列乘法

与离散序列加法有所不同,这里参加运算的两个序列向量必须具有相同的维数。如果相乘的两个向量长度不相同,则可以通过对较短序列中无定义的点赋值为零进行零追加(补零)操作使得两者的长度相同,为此先要编写一个函数,如:

img106

例2.10 用上面的程序求离散序列f1(k)=(-2,-2, 0, 1, 2),f2(k)=(1, 1, 1)相乘的波形。

img107

运行结果如图2-10所示。

img108

图2-10 两个离散序列之积

4.序列反折

离散序列反折是指离散序列的两个向量以零时刻的取值为基准点,以纵轴为对称轴反折,在MATLAB中提供了fliplr函数可以对时间序列进行反折操作。

例2.11 已知一个信号

x(n)= e-0.5n (-4<n<4),

求它的反折序列x(-n)。

程序如下:

img109

运行结果如图2-11所示。

img110

图2-11 序列反折

5.信号平滑

数字信号处理应用的一个常见例子是从被噪音“污染”的信号中移除噪声。假定信号s[n]被噪声d[n]所污染,得到一个含有噪声的信号

x[n]= s[n]+d[n] ,

我们的目的是对x[n]进行运算,产生一个合理逼近s[n]的信号y[n] 。通常对样本在时刻n附近的抽样值求平均值,从而产生输出信号,这是一种简单而有效的方法。

例2.12 采用三点滑动求平均的算法

y[n]=(x[n-1]+x[n]+x[n+1])/3

实现上述目的。

img111

img112

图2-12 通过滑动平均的信号平滑

6.复杂信号的产生

更复杂的信号可通过对简单信号进行较为复杂的运算来产生。例如,振幅调制信号可用低频调制信号xL = cos(wLn)来调制高频信号xH[n]= cos(wHn),得到的信号为

y[n]= A(1+m* xL[n])xH[n]= A(1+m* cos(wLn))cos(wHn)其中m称为调制指数,用来确保1+m* xL[n]在可能的n的情况下都是整数。

例2.13 下面的程序可以用来产生一个振幅调制信号。

img113

img114

运行结果如图2-13所示。

img115

图2-13 振幅调制信号

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈