相关运算、卷积运算与Toeplitz矩阵的关系

设序列 x [ n ] x[n] x[n] y [ n ] y[n] y[n]的长度分别为 N N N M M M,则两者的相关及卷积运算可以分别表示为:
{ R x y [ m ] = ∑ n = − ∞ ∞ x [ n ] y [ n + m ] R y x [ m ] = ∑ n = − ∞ ∞ y [ n ] x [ n + m ] (1) \begin{cases} R_{xy}[m]=\sum_{n=-\infty}^{\infty}{x[n]y[n+m]}\\ R_{yx}[m]=\sum_{n=-\infty}^{\infty}{y[n]x[n+m]} \tag{1} \end{cases} {Rxy[m]=n=x[n]y[n+m]Ryx[m]=n=y[n]x[n+m](1)
{ C x y [ m ] = ∑ n = − ∞ ∞ x [ n ] y [ m − n ] C y x [ m ] = ∑ n = − ∞ ∞ y [ n ] x [ m − n ] (2) \begin{cases} C_{xy}[m]=\sum_{n=-\infty}^{\infty}{x[n]y[m-n]}\\ C_{yx}[m]=\sum_{n=-\infty}^{\infty}{y[n]x[m-n]} \tag{2} \end{cases} {Cxy[m]=n=x[n]y[mn]Cyx[m]=n=y[n]x[mn](2)
其中 R x y ≠ R y x R_{xy} \neq R_{yx} Rxy=Ryx C x y = C y x C_{xy}=C_{yx} Cxy=Cyx,且 R x y [ m ] = ∑ n = − ∞ ∞ x [ n ] y [ n + m ] = ∑ n = − ∞ ∞ x [ n ] y [ m − ( − n ) ] = x [ n ] ∗ y [ − n ] R_{xy}[m]=\sum_{n=-\infty}^{\infty}{x[n]y[n+m]}=\sum_{n=-\infty}^{\infty}{x[n]y[m-(-n)]}=x[n]*y[-n] Rxy[m]=n=x[n]y[n+m]=n=x[n]y[m(n)]=x[n]y[n]。以下通过简单的例子说明(1)(2)的计算方法:设 x [ n ] = [ 1 , 2 ] x[n]=[1,2] x[n]=[1,2] y [ n ] = [ 4 , 5 , 6 ] y[n]=[4,5,6] y[n]=[4,5,6],则 R x y [ m ] R_{xy}[m] Rxy[m]的计算步骤如下:
(1)将 x [ n ] x[n] x[n] y [ n + m ] y[n+m] y[n+m]表示出来,其中 x [ n ] x[n] x[n]恒为原始序列, y [ n + m ] y[n+m] y[n+m]表示对 y [ n ] y[n] y[n]序列线性左移( m > 0 m>0 m>0)或右移( m < 0 m < 0 m<0) m m m位;
(2)将 x [ n ] x[n] x[n] y [ n + m ] y[n+m] y[n+m]各个位数对齐(因长度不一致导致的两个序列不对齐的情况,对应数位等效于与0对齐),形成竖式;
(3)对应位置处的数相乘,并把所有相乘结果进行累加。
对于本文例子,具体操作示意如下:
KaTeX parse error: Expected 'EOF', got '&' at position 20: …gin{array} &̲ 6 & 0\\ 1 &…
上面每个竖式分别对应 m = 2 , 1 , 0 , − 1 m=2,1,0,-1 m=2,1,0,1的情况,所以本例中 R x y = [ 6 , 17 , 14 , 8 ] R_{xy}=[6,17,14,8] Rxy=[6,17,14,8],由此可见长度为 N N N M M M的两个序列的自相关结果长度为 N + M − 1 N+M-1 N+M1

C x y [ m ] C_{xy}[m] Cxy[m]的计算步骤与上述步骤相似,只是在所有运算之前需要对其中一个序列进行反转,所以其具体实现步骤可以简单描述为:
(1)将 x [ n ] x[n] x[n] y [ m − n ] y[m-n] y[mn]表示出来,其中 x [ n ] x[n] x[n]恒为原始序列, y [ m − n ] y[m-n] y[mn]表示先对原始序列进行反转得到 y [ − n ] y[-n] y[n],然后再将 y [ − n ] y[-n] y[n]序列线性左移( m > 0 m>0 m>0)或右移( m < 0 m < 0 m<0) m m m位,在本例中反转后的 y [ − n ] = [ 6 , 5 , 4 ] y[-n]=[6,5,4] y[n]=[6,5,4]
(2)将 x [ n ] x[n] x[n] y [ m − n ] y[m-n] y[mn]各个位数对齐,(因长度不一致导致的两个序列不对齐的情况,对应数位等效于与0对齐)形成竖式;
(3)对应位置处的数相乘,并把所有相乘结果进行累加。
对于本文例子,具体操作示意如下:
KaTeX parse error: Expected 'EOF', got '&' at position 20: …gin{array} &̲ 4 & 0 \\ 1 …
上面每个竖式分别对应 m = − 1 , 0 , 1 , 2 m=-1,0,1,2 m=1,0,1,2的情况,所以本例中 C x y = [ 12 , 16 , 13 , 4 ] C_{xy}=[12,16,13,4] Cxy=[12,16,13,4],由此可见长度为 N N N M M M的两个序列的线性卷积长度为 N + M − 1 N+M-1 N+M1
上面的(3)(4)两个式子可以分别表示为矩阵形式:
$$
\vec{R}_{xy}=
\begin{bmatrix}
6 \
17\
14\
8\
\end{bmatrix}

=
\begin{bmatrix}
6 & 0 \
5 & 6 \
4 & 5 \
0 & 4 \
\end{bmatrix}
\begin{bmatrix}
1\
2\
\end{bmatrix}

=\boldsymbol{T} \vec{x}
$$

$$
\vec{C}_{xy}=
\begin{bmatrix}
4 \
13\
16\
12\
\end{bmatrix}

=
\begin{bmatrix}
4 & 0 \
5 & 4 \
6 & 5 \
0 & 6 \
\end{bmatrix}
\begin{bmatrix}
1\
2\
\end{bmatrix}

=\boldsymbol{T} \vec{x}
KaTeX parse error: Can't use function '$' in math mode at position 15: 从上面的式子可以看出,矩阵$̲\boldsymbol{T}$…
\vec{R}{xy}=
\begin{bmatrix}
y_M & 0 & 0 & \cdots & 0 \
y
{M-1} & y_M & 0 & \cdots & 0 \
y_{M-2} & y_{M-1} & y_{M} & \ddots & \vdots \
\vdots & \ddots & \ddots & \cdots & \vdots \
y_1 & y_2 & \ddots & y_{M-1} & y_M \
0 & y_1 & \cdots & y_{M-2} & y_{M-1} \
\vdots & \ddots & \cdots & \ddots & \vdots \
0 & 0 & \cdots & 0 & y_1
\end{bmatrix}
\begin{bmatrix}
x_1\
\vdots\
x_N\
\end{bmatrix}
\tag{5}
$$

C ⃗ x y = [ y 1 0 0 ⋯ 0 y 2 y 1 0 ⋯ 0 y 3 y 2 y 1 ⋱ ⋮ ⋮ ⋱ ⋱ ⋯ ⋮ y M y M − 1 ⋱ y 2 y 1 0 y M ⋯ y 3 y 2 ⋮ ⋱ ⋯ ⋱ ⋮ 0 0 ⋯ 0 y M ] [ x 1 ⋮ x N ] (6) \vec{C}_{xy}= \begin{bmatrix} y_1 & 0 & 0 & \cdots & 0 \\ y_2 & y_1 & 0 & \cdots & 0 \\ y_3 & y_2 & y_1 & \ddots & \vdots \\ \vdots & \ddots & \ddots & \cdots & \vdots \\ y_M & y_{M-1} & \ddots & y_2 & y_1 \\ 0 & y_M & \cdots & y_3 & y_2 \\ \vdots & \ddots & \cdots & \ddots & \vdots \\ 0 & 0 & \cdots & 0 & y_M \end{bmatrix} \begin{bmatrix} x_1\\ \vdots\\ x_N\\ \end{bmatrix} \tag{6} C xy= y1y2y3yM000y1y2yM1yM000y1y2y3000y1y2yM x1xN (6)

从上面的表达式可以看出,两个序列的相关运算和线性卷积运算对应的Toeplitz矩阵的形式一样,但是序列元素在矩阵中的位置不一样,且此时Toeplitz矩阵是一个 ( N + M − 1 ) × N (N+M-1) \times N (N+M1)×N的矩阵。采用矩阵形式表示容易进行后续分析与计算,因此在相关运算和线性卷积运算中,Toeplitz矩阵很常见,它的相关性质可以参考《托普利兹矩阵》。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值