序列自相关矩阵的计算和分析
这几天在搞DSP的时候遇到的一些问题,稍微整理了一下
在下文中,你将会看到:平稳过程到底有什么意义、随机信号处理是如何与固定信号分析联系起来的、自相关函数的定义、自相关矩阵的意义和计算
平稳过程
平稳过程是现代数字信号处理的一个大问题
它的定义是: 统计特性不随时间推移而改变的随机过程
在严格的定义中,它需要随机过程的各阶矩都保持一个稳定的值,称之为严平稳过程。这很难满足
所以在显示生活中,我们通常只关注这个随机过程的一阶矩或者二阶矩是不是保持平均。这就是我们之后要处理的过程,称之为宽平稳过程。
举个例子 :
我们想要测量一个恒压电源的电压
第一组测量 我们测得五个值:{10.3、10.2、10.1、9.7、9.6}
第二组测量 这次测得六个值:{9.9、10.1、10.2、9.6、10.2、10.1}
。。。
这样 在经历多组测量之后,我们将每一组的测量结果分别平均,发现每一组的平均值都在10左右摆动,根据平稳的定义,我们其实是需要,不管我们进行多少组测量、每一组的样本有多少个值,最终我们所得的均值都是10的,这才是一个满足一阶矩平稳的宽平稳过程,在实际中,由于样本数量的限制,我们得到的均值通常是渐进无偏估计,也就是说,在每一组样本个数接近无限的时候才会使得其均值为10,所以如果每一组都在10左右摆动,我们就将其认为是一个平稳过程了。
而另一组同学想要测量一个上升信号的电压
第一组测量得到:{1.1、2.3、2.8、4.0}
第二组测量得到:{5.1、4.3、4.9、6.1}
。。。
在这个测量中,我们发现在不同的组均值不一样了,这就不是一个一阶平稳过程,但是幸运的是,每一组数据的方差又大概保持在一个稳定的值,所以这是一个二阶平稳过程
平稳过程有什么好处呢,很多信号相关的书籍会告诉你这样一句话:如果一个过程满足平稳过程,就可以用它的时间平均来代替其统计平均
这句话是这样理解的,比如在之前一个例子,我们想要知道该恒压电源的电压到底是多少,我们就可以通过测量一组数据,然后平均来估算得出。这种估算方式有一个也许很多人都会认为是自然而然的,但是它其实是建立在一个“该信号一阶平稳”的前提下进行的。
自相关矩阵
在了解了宽平稳过程之后,我们来了解下自相关矩阵的概念
自相关矩阵定义是这样的:
assume
所以,如果我们想要求取一个序列的自相关矩阵,首先遇到的问题是需要知道这个序列的概率分布。但是这其实是一个矛盾的问题:正是因为我们不知道这个序列概率分布系数,我们才会想要去通过估计求解的啊
x=[x1x2x3...xn]
the autocorrelation Mat is defined as
E(x∗xH)=⎡⎣⎢⎢⎢⎢E(x(0)∗x∗(0))E(x(1)∗x∗(0))...E(x(n)∗x∗(0))E(x(0)∗x∗(1))E(x(1)∗x∗(1))E(x(n)∗x∗(1)).........E(x(0)∗x∗(n))E(x(1)∗x∗(n))...E(x(n)∗x∗(n))⎤⎦⎥⎥⎥⎥
回想在概率与数理统计中学到的概念,如果我们想要估计一个量的期望(一阶矩)其实是可以通过大量的样本平均得到的。这个估计方法是有一个前提的:你每次我们所采样的样本都是从同一个概率空间中得到的。也就是说,每次我们进行采样的样本,都服从同一个概率分布。回想之前所提到的 平稳过程,它其实可以理解为在时间维度上始终保持同一个概率分布(严格平稳)或者满足某概率分布参数恒定(宽平稳)。又回到了之前那句话:时间平均来代替其统计平均。那么,该样本时间序列上的期望在平稳的条件下也可以等于其概率上的期望。
举个例子:
我们得到了有一个信号的时间序列x=[12345]
现在,我想让算一下它的自相关矩阵,自然的,我们首先想到的就是按照它的定义来求,也就是计算E(x∗xH),问题这时候就出现了:E(x∗xH)是求x∗xH的期望啊,可是我们并不知道信号的概率分布,只知道它的一个个子序列,该如何求得期望呢。这时候,我们就假定这是一个平稳过程,然后就可以使用时间平均来进行一个“估计”了。
例如,比如当我们想要估计E(x(0)∗x∗(r))这个元素的时候,我们其实是可以使用N组相隔r的样本序列乘积的平均得到其期望估计
E(x(0)∗x∗(r))=1n−r∑l=0n−rx(l)x(l+r)
对于信号序列x的E(x(0)x(1)):
E(x(0)∗x∗(1))=14∑l=04x(l)x(l+1)=x(0)∗x(1)+x(1)∗x(2)+x(2)∗x(3)+x(3)∗x(4)4
和固定信号自相关公式的关系:
对比我们的自相关公式:
R(r)=∑l=0N−1x(l)x(l+r)
似乎和我们估计自相关矩阵系数的公式很像,放过来对比一下:
E(x(0)∗x∗(r))=1n−r∑l=0n−rx(l)x(l+r)
实际上,由于样本的数目有限,如果我们将未知的样本全部补0,这个R(r)的上限也可以缩减到n−r
于是,我们可以得到:
E(x(0)∗x∗(r))=1n−rR(r)
所以,自相关矩阵的系数就可以使用自相关公式来求解了
讨论
虽然我们成功求解了信号序列的自相关矩阵,但实际上来说,样本长度为N的时候,我们对于E(x(0)∗x∗(n−1))的估计就是一个非常危险的量了(因为满足计算条件的样本过少)所以说自相关矩阵里面的元素随着下标的增大,其信度是在逐渐降低的。
其原因在于这个估计并不是一个无偏估计:在概率论的课程中我们也可以知道,统计量的期望估计准确性是和样本数量成正比的,只有在样本数量接近于无限的时候,它才接近一个无偏估计。