已知两个信号的协方差矩阵,如何生成这两个信号
這里的方法不僅僅限于兩個信號,可以擴展到任意數量的信號。著這里僅以兩個信號為例,進行說明。
設兩個信號的協方差矩陣為 CCC,這兩個信號分別為x,yx,yx,y。
先直接敘說方法,后面證明該方法
分別生成兩個標準正態分布信號,n1, n2
var(n1)=1,mean(n1)=0var(n2)=1,mean(n2)=0cov(n1,n2)=0var(n1)=1, mean(n1)=0 \\ var(n2)=1, mean(n2)=0 \\ cov(n1, n2)=0var(n1)=1,mean(n1)=0var(n2)=1,mean(n2)=0cov(n1,n2)=0
對協方差矩陣CCC進行cholesky分解
R=cholesky(C)R=cholesky(C)R=cholesky(C)
R為上三角矩陣,則有 R′?R=CR' * R = CR′?R=C
對n1,n2n1,n2n1,n2做變換
[x,y]=[n1,n2]?R[x, y] = [n1, n2] * R[x,y]=[n1,n2]?R
[x,y],[n1,n2][x, y], [n1, n2][x,y],[n1,n2] 分別為行向量, RRR為2x2矩陣。
這樣x,yx,yx,y的協方差矩陣,即為CCC
下面是其簡單證明,令
R=[ab0c]C=[a?aababb?b+c?c]R=\begin{bmatrix} a & b \\ 0 & c \end{bmatrix} \\ C = \begin{bmatrix} a*a & ab \\ ab & b*b+c*c \end{bmatrix} R=[a0?bc?]C=[a?aab?abb?b+c?c?]
則x=a?n1y=b?n1+c?n2x = a*n1 \\ y=b*n1+c*n2 \\ x=a?n1y=b?n1+c?n2
通過計算可以求得
var(x)=a?avar(y)=b?b+c?ccov(x,y)=a?bvar(x) = a*a \\ var(y) = b*b+c*c \\ cov(x, y)=a*b var(x)=a?avar(y)=b?b+c?ccov(x,y)=a?b
總結
以上是生活随笔為你收集整理的已知两个信号的协方差矩阵,如何生成这两个信号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matplotlib中plot的颜色
- 下一篇: kalman滤波的解释