以下内容在卷积核代表距离扩展目标冲激响应(Target Impulse Response,TIR),卷积核长度Q为目标占据的距离单元数量,发射波在传输过程中信道影响仅仅使用导向矢量建模
目录
1. 系统参数定义
在开始之前,明确系统中的各个参数及其尺寸:
- 发射阵元数(Transmitter Antennas): N T N_T NT
- 接收阵元数(Receiver Antennas): N R N_R NR
- 发射信号长度: L L L(每个发射阵元发送长度为 L L L 的信号)
- 卷积核长度: Q Q Q
- 发射信号矩阵:
S
∈
C
L
×
N
T
S \in \mathbb{C}^{L \times N_T}
S∈CL×NT
- 每列 S [ : , i ] S[:,i] S[:,i] 表示第 i i i 个发射阵元的信号,长度为 L L L。
- 卷积核向量: t = [ t 0 , t 1 , … , t Q − 1 ] T ∈ C Q × 1 t = [t_0, t_1, \ldots, t_{Q-1}]^T \in \mathbb{C}^{Q \times 1} t=[t0,t1,…,tQ−1]T∈CQ×1
- 发射导向矢量(Transmitter Steering Vector): a T ∈ C N T × 1 \mathbf{a}_T \in \mathbb{C}^{N_T \times 1} aT∈CNT×1
- 接收导向矢量(Receiver Steering Vector): a R ∈ C N R × 1 \mathbf{a}_R \in \mathbb{C}^{N_R \times 1} aR∈CNR×1
- 信道矩阵:
H
=
a
R
a
T
H
∈
C
N
R
×
N
T
H = \mathbf{a}_R \mathbf{a}_T^H \in \mathbb{C}^{N_R \times N_T}
H=aRaTH∈CNR×NT
- 其中, a T H \mathbf{a}_T^H aTH 表示 a T \mathbf{a}_T aT 的共轭转置。
2. 信号建模
2.1 发射信号矩阵 S S S
发射信号矩阵 S S S 是一个 L × N T L \times N_T L×NT 的复数矩阵,每列代表一个发射天线的信号:
S = ( s 1 , 1 s 1 , 2 ⋯ s 1 , N T s 2 , 1 s 2 , 2 ⋯ s 2 , N T ⋮ ⋮ ⋱ ⋮ s L , 1 s L , 2 ⋯ s L , N T ) ∈ C L × N T S = \begin{pmatrix} s_{1,1} & s_{1,2} & \cdots & s_{1,N_T} \\ s_{2,1} & s_{2,2} & \cdots & s_{2,N_T} \\ \vdots & \vdots & \ddots & \vdots \\ s_{L,1} & s_{L,2} & \cdots & s_{L,N_T} \end{pmatrix} \in \mathbb{C}^{L \times N_T} S= s1,1s2,1⋮sL,1s1,2s2,2⋮sL,2⋯⋯⋱⋯s1,NTs2,NT⋮sL,NT ∈CL×NT
2.2 信道矩阵 H H H
信道矩阵 H H H 描述了发射和接收天线之间的信道增益。假设信道由发射导向矢量 a T \mathbf{a}_T aT 和接收导向矢量 a R \mathbf{a}_R aR 的外积构成:
H = a R a T H = ( a R , 1 a R , 2 ⋮ a R , N R ) ( a T , 1 ‾ a T , 2 ‾ ⋯ a T , N T ‾ ) = ( a R , 1 a T , 1 ‾ a R , 1 a T , 2 ‾ ⋯ a R , 1 a T , N T ‾ a R , 2 a T , 1 ‾ a R , 2 a T , 2 ‾ ⋯ a R , 2 a T , N T ‾ ⋮ ⋮ ⋱ ⋮ a R , N R a T , 1 ‾ a R , N R a T , 2 ‾ ⋯ a R , N R a T , N T ‾ ) ∈ C N R × N T H = \mathbf{a}_R \mathbf{a}_T^H = \begin{pmatrix} a_{R,1} \\ a_{R,2} \\ \vdots \\ a_{R,N_R} \end{pmatrix} \begin{pmatrix} \overline{a_{T,1}} & \overline{a_{T,2}} & \cdots & \overline{a_{T,N_T}} \end{pmatrix} = \begin{pmatrix} a_{R,1} \overline{a_{T,1}} & a_{R,1} \overline{a_{T,2}} & \cdots & a_{R,1} \overline{a_{T,N_T}} \\ a_{R,2} \overline{a_{T,1}} & a_{R,2} \overline{a_{T,2}} & \cdots & a_{R,2} \overline{a_{T,N_T}} \\ \vdots & \vdots & \ddots & \vdots \\ a_{R,N_R} \overline{a_{T,1}} & a_{R,N_R} \overline{a_{T,2}} & \cdots & a_{R,N_R} \overline{a_{T,N_T}} \end{pmatrix} \in \mathbb{C}^{N_R \times N_T} H=aRaTH= aR,1aR,2⋮aR,NR (aT,1aT,2⋯aT,NT)= aR,1aT,1aR,2aT,1⋮aR,NRaT,1aR,1aT,2aR,2aT,2⋮aR,NRaT,2⋯⋯⋱⋯aR,1aT,NTaR,2aT,NT⋮aR,NRaT,NT ∈CNR×NT
3. 卷积操作的矩阵表示
为了将卷积操作表示为矩阵乘法,我们需要构建一个卷积矩阵 T T T。
3.1 单发射阵元的卷积
首先,考虑单发射阵元(即 N T = 1 N_T = 1 NT=1)的情况。信号向量 s ∈ C L × 1 s \in \mathbb{C}^{L \times 1} s∈CL×1 与卷积核 t ∈ C Q × 1 t \in \mathbb{C}^{Q \times 1} t∈CQ×1 的卷积 y = t ∗ s y = t * s y=t∗s 可以表示为矩阵乘法:
y = T s y = T s y=Ts
其中, T T T 是一个 ( L + Q − 1 ) × L (L + Q - 1) \times L (L+Q−1)×L 的下三角 Toeplitz 矩阵,具体形式为:
T = ( t 0 0 0 ⋯ 0 t 1 t 0 0 ⋯ 0 0 t 1 t 0 ⋯ 0 ⋮ ⋮ ⋮ ⋱ ⋮ 0 0 0 ⋯ t 0 ) ∈ C ( L + Q − 1 ) × L T = \begin{pmatrix} t_0 & 0 & 0 & \cdots & 0 \\ t_1 & t_0 & 0 & \cdots & 0 \\ 0 & t_1 & t_0 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & t_0 \end{pmatrix} \in \mathbb{C}^{(L + Q - 1) \times L} T= t0t10⋮00t0t1⋮000t0⋮0⋯⋯⋯⋱⋯000⋮t0 ∈C(L+Q−1)×L
性质:
- 因果卷积:每个输出时刻仅依赖于当前及之前的输入时刻。
- 下三角结构:确保输出 y ( l ) y(l) y(l) 不依赖于未来的输入信号。
3.2 多发射阵元的卷积
对于 N T > 1 N_T > 1 NT>1 的情况,信号矩阵 S ∈ C L × N T S \in \mathbb{C}^{L \times N_T} S∈CL×NT 的每一列 S [ : , i ] S[:,i] S[:,i] 需要与相同的卷积核 t t t 进行卷积。为了将这种操作表示为矩阵乘法,我们采用以下方法:
-
构建卷积矩阵 T T T:
如上所述,构建一个 ( L + Q − 1 ) × L (L + Q - 1) \times L (L+Q−1)×L 的下三角 Toeplitz 卷积矩阵 T T T。
-
利用 Kronecker 积扩展卷积矩阵:
为了同时处理所有 N T N_T NT 个发射阵元的卷积操作,使用 Kronecker 积(Kronecker Product)扩展 T T T:
T = I N T ⊗ T ∈ C ( L + Q − 1 ) N T × L N T \mathbf{T} = I_{N_T} \otimes T \in \mathbb{C}^{(L + Q - 1)N_T \times LN_T} T=INT⊗T∈C(L+Q−1)NT×LNT
其中, I N T I_{N_T} INT 是 N T × N T N_T \times N_T NT×NT 的单位矩阵, ⊗ \otimes ⊗ 表示 Kronecker 积。
-
展开信号矩阵 S S S:
将 S S S 展开为一个 L N T × 1 LN_T \times 1 LNT×1 的向量(按列堆叠):
vec ( S ) = ( s 1 , 1 s 2 , 1 ⋮ s L , 1 s 1 , 2 s 2 , 2 ⋮ s L , 2 ⋮ s 1 , N T s 2 , N T ⋮ s L , N T ) ∈ C L N T × 1 \text{vec}(S) = \begin{pmatrix} s_{1,1} \\ s_{2,1} \\ \vdots \\ s_{L,1} \\ s_{1,2} \\ s_{2,2} \\ \vdots \\ s_{L,2} \\ \vdots \\ s_{1,N_T} \\ s_{2,N_T} \\ \vdots \\ s_{L,N_T} \end{pmatrix} \in \mathbb{C}^{LN_T \times 1} vec(S)= s1,1s2,1⋮sL,1s1,2s2,2⋮sL,2⋮s1,NTs2,NT⋮sL,NT ∈CLNT×1
-
执行卷积操作:
卷积操作可以表示为:
Y conv = T ⋅ vec ( S ) ∈ C ( L + Q − 1 ) N T × 1 Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) \in \mathbb{C}^{(L + Q - 1)N_T \times 1} Yconv=T⋅vec(S)∈C(L+Q−1)NT×1
这相当于对每个发射阵元的信号进行独立的卷积操作,并将结果叠加在一起。
4. 信道作用的矩阵表示
4.1 扩展信道矩阵 H ext H_{\text{ext}} Hext
为了将信道作用于整个卷积后的信号向量 Y conv Y_{\text{conv}} Yconv,我们需要扩展信道矩阵 H H H 以匹配 Y conv Y_{\text{conv}} Yconv 的结构。使用 Kronecker 积扩展 H H H:
H ext = H ⊗ I L + Q − 1 ∈ C ( L + Q − 1 ) N R × ( L + Q − 1 ) N T H_{\text{ext}} = H \otimes I_{L + Q - 1} \in \mathbb{C}^{(L + Q - 1)N_R \times (L + Q - 1)N_T} Hext=H⊗IL+Q−1∈C(L+Q−1)NR×(L+Q−1)NT
其中, I L + Q − 1 I_{L + Q - 1} IL+Q−1 是 ( L + Q − 1 ) × ( L + Q − 1 ) (L + Q - 1) \times (L + Q - 1) (L+Q−1)×(L+Q−1) 的单位矩阵。
4.2 计算接收信号 Y recv Y_{\text{recv}} Yrecv
接收信号向量 Y recv Y_{\text{recv}} Yrecv 可以表示为:
Y recv = H ext ⋅ Y conv ∈ C ( L + Q − 1 ) N R × 1 Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} \in \mathbb{C}^{(L + Q - 1)N_R \times 1} Yrecv=Hext⋅Yconv∈C(L+Q−1)NR×1
5. 接收信号 Y ( l ) Y(l) Y(l) 的表达式
为了具体表示接收信号的每个元素 y ( l , j ) y(l,j) y(l,j),我们将展开上述矩阵乘法。
5.1 系统模型展开
结合前述表达式,接收信号 Y recv Y_{\text{recv}} Yrecv 可以展开为:
Y recv = H ext ⋅ Y conv = ( H ⊗ I L + Q − 1 ) ⋅ ( I N T ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes I_{L + Q - 1}) \cdot (I_{N_T} \otimes T) \cdot \text{vec}(S) Yrecv=Hext⋅Yconv=(H⊗IL+Q−1)⋅(INT⊗T)⋅vec(S)
根据 Kronecker 积的性质:
( A ⊗ B ) ( C ⊗ D ) = ( A C ) ⊗ ( B D ) (A \otimes B)(C \otimes D) = (AC) \otimes (BD) (A⊗B)(C⊗D)=(AC)⊗(BD)
因此:
Y recv = ( H ⊗ T ) ⋅ vec ( S ) ∈ C ( L + Q − 1 ) N R × 1 Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) \in \mathbb{C}^{(L + Q - 1)N_R \times 1} Yrecv=(H⊗T)⋅vec(S)∈C(L+Q−1)NR×1
5.2 元素级别的 y ( l , j ) y(l,j) y(l,j) 表达式
对于每个时间索引 l l l( l = 1 , 2 , … , L + Q − 1 l = 1, 2, \ldots, L + Q - 1 l=1,2,…,L+Q−1)和每个接收天线 j j j( j = 1 , 2 , … , N R j = 1, 2, \ldots, N_R j=1,2,…,NR),接收信号 y ( l , j ) y(l,j) y(l,j) 的表达式为:
y ( l , j ) = ∑ i = 1 N T ∑ k = 0 Q − 1 t k ⋅ s ( l − k , i ) ⋅ H j i y(l,j) = \sum_{i=1}^{N_T} \sum_{k=0}^{Q-1} t_k \cdot s(l - k, i) \cdot H_{ji} y(l,j)=i=1∑NTk=0∑Q−1tk⋅s(l−k,i)⋅Hji
其中:
- t k t_k tk 是卷积核的第 k k k 个元素。
- s ( l − k , i ) s(l - k, i) s(l−k,i) 是第 i i i 个发射天线在时间 l − k l - k l−k 时刻的信号。如果 l − k < 1 l - k < 1 l−k<1 或 l − k > L l - k > L l−k>L,则 s ( l − k , i ) = 0 s(l - k, i) = 0 s(l−k,i)=0(因为信号在这些时刻为零)。
- H j i H_{ji} Hji 是信道矩阵 H H H 中第 j j j 个接收天线与第 i i i 个发射天线之间的信道增益。
推导过程:
-
卷积操作:
Y conv = T ⋅ vec ( S ) Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) Yconv=T⋅vec(S)
表示对每个发射天线的信号进行卷积,并将结果叠加在一起。
-
信道作用:
Y recv = H ext ⋅ Y conv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=Hext⋅Yconv=(H⊗T)⋅vec(S)
这里, H ext = H ⊗ I L + Q − 1 H_{\text{ext}} = H \otimes I_{L + Q - 1} Hext=H⊗IL+Q−1 和 T = I N T ⊗ T \mathbf{T} = I_{N_T} \otimes T T=INT⊗T,结合 Kronecker 积的性质得到 Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)。
-
元素展开:
通过上述乘法,可以得到每个接收天线在每个时间索引的接收信号 y ( l , j ) y(l,j) y(l,j) 具体表达式。
6. 具体示例
为了更直观地理解上述推导,我们通过一个具体的数值示例来说明。
7. 总结与建议
7.1 关键步骤总结
-
信号建模:
- 发射信号矩阵 S S S 表示多个发射天线发送的信号。
-
卷积操作:
- 使用下三角卷积矩阵 T T T 对每个发射天线的信号进行卷积,通过 Kronecker 积构造整体卷积矩阵 T \mathbf{T} T。
-
信道作用:
- 信道矩阵 H H H 描述了发射和接收天线之间的信道增益,通过导向矢量的外积构成。
-
接收信号计算:
- 将卷积后的信号 Y conv = T ⋅ vec ( S ) Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) Yconv=T⋅vec(S) 通过扩展后的信道矩阵 H ext = H ⊗ I L + Q − 1 H_{\text{ext}} = H \otimes I_{L + Q - 1} Hext=H⊗IL+Q−1 进行空间上的叠加和转换,得到接收信号向量 Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)。
-
接收信号表达式:
- 每个接收信号 y ( l , j ) y(l,j) y(l,j) 是所有发射天线在相应延迟 k k k 时刻的信号经过卷积核 t k t_k tk 加权后,通过信道 H j i H_{ji} Hji 叠加得到的。
7.2 优势
-
线性代数工具的应用:
矩阵化的表示方法允许利用高效的线性代数工具和算法进行计算和优化。
-
并行处理:
矩阵运算天然适合并行计算架构,提升计算效率,特别适用于大规模系统。
-
系统分析:
便于进行系统性能分析,如频率响应、稳定性等。
7.3 扩展讨论
7.3.1 不同卷积核的情况
如果不同发射天线使用不同的卷积核 t i t_i ti,则需要为每个发射天线构建独立的卷积矩阵 T i T_i Ti,并相应地调整整体卷积矩阵 T \mathbf{T} T 的构造方法。这可能涉及以下步骤:
- 为每个发射天线 i i i 构建独立的卷积矩阵 T i T_i Ti。
- 形成一个块对角矩阵,将所有 T i T_i Ti 置于对角线上,其他位置为零。
- 使用 Kronecker 积扩展,以适应整个系统的卷积操作。
7.3.2 接收端多天线(MIMO-MIMO)
在接收端也存在多个天线时,信道矩阵 H H H 会更加复杂。通常需要表示为多个发射-接收天线对的信道增益矩阵。这需要在扩展信道矩阵时结合发射和接收导向矢量的外积,形成一个更高维度的系统矩阵。
7.3.3 快速卷积算法
对于大规模系统,直接构建和操作大型卷积矩阵可能带来较高的计算复杂度。可以考虑以下方法:
-
频域卷积:
利用快速傅里叶变换(FFT)将卷积操作转移到频域进行,加速计算。
-
稀疏矩阵乘法:
利用卷积矩阵的稀疏性,减少不必要的计算。
-
迭代算法:
采用迭代方法近似求解,降低计算复杂度。
7.4 建议
-
明确卷积方向:
在建模初期,明确卷积操作的方向(因果或非因果),并据此选择合适的卷积矩阵形式(上三角或下三角)。
-
保持一致性:
在理论推导和具体示例中,始终使用相同的矩阵形式,以避免不必要的混淆。
-
文档说明:
在论文或项目文档中,清晰说明卷积矩阵的构造方法和信号排列方式,便于他人理解和复现。
8. 结论
通过从信号建模开始的详细推导,我们展示了如何在 MIMO 系统中将发射信号通过下三角卷积矩阵 T \mathbf{T} T 和扩展后的信道矩阵 H ext = H ⊗ I L + Q − 1 H_{\text{ext}} = H \otimes I_{L + Q - 1} Hext=H⊗IL+Q−1 进行处理,并最终得到接收信号向量 Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)。这一过程涉及矩阵乘法的巧妙运用,确保了信号处理的高效性和准确性。
关于您的疑问
问题:H_ext * Y_conv = (H \otimes T) vec(S) 吗?
回答:在本系统模型中,接收信号向量 Y recv Y_{\text{recv}} Yrecv 是通过以下步骤得到的:
-
卷积操作:
Y conv = T ⋅ vec ( S ) ∈ C ( L + Q − 1 ) N T × 1 Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) \in \mathbb{C}^{(L + Q - 1)N_T \times 1} Yconv=T⋅vec(S)∈C(L+Q−1)NT×1
-
信道作用:
Y recv = H ext ⋅ Y conv = ( H ⊗ I L + Q − 1 ) ⋅ Y conv ∈ C ( L + Q − 1 ) N R × 1 Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes I_{L + Q - 1}) \cdot Y_{\text{conv}} \in \mathbb{C}^{(L + Q - 1)N_R \times 1} Yrecv=Hext⋅Yconv=(H⊗IL+Q−1)⋅Yconv∈C(L+Q−1)NR×1
然而,利用 Kronecker 积的性质,可以将整个操作表示为:
Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)
因此, H ext ⋅ Y conv = ( H ⊗ T ) ⋅ vec ( S ) H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes T) \cdot \text{vec}(S) Hext⋅Yconv=(H⊗T)⋅vec(S) 是正确的关系。
解释:
-
H ext = H ⊗ I L + Q − 1 H_{\text{ext}} = H \otimes I_{L + Q - 1} Hext=H⊗IL+Q−1
这表示在每个时间索引 l l l 上,信道矩阵 H H H 被应用于对应的卷积结果。
-
T = I N T ⊗ T \mathbf{T} = I_{N_T} \otimes T T=INT⊗T
这表示对每个发射天线的信号独立地应用卷积矩阵 T T T。
-
组合操作:
利用 Kronecker 积的分配律:
( H ⊗ I L + Q − 1 ) ( I N T ⊗ T ) = ( H ⋅ I N T ) ⊗ ( I L + Q − 1 ⋅ T ) = H ⊗ T (H \otimes I_{L + Q - 1})(I_{N_T} \otimes T) = (H \cdot I_{N_T}) \otimes (I_{L + Q - 1} \cdot T) = H \otimes T (H⊗IL+Q−1)(INT⊗T)=(H⋅INT)⊗(IL+Q−1⋅T)=H⊗T
因此:
Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)
注意: ( H ⊗ T ) ≠ ( T ⊗ H ) (H \otimes T) \neq (T \otimes H) (H⊗T)=(T⊗H) 一般情况下,除非 H H H 和 T T T 都是方阵且大小相同。因此, H ext ⋅ Y conv = ( H ⊗ T ) ⋅ vec ( S ) H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes T) \cdot \text{vec}(S) Hext⋅Yconv=(H⊗T)⋅vec(S) 是正确的,而 ( H ⊗ T ) ⋅ vec ( S ) (H \otimes T) \cdot \text{vec}(S) (H⊗T)⋅vec(S) 与 ( T ⊗ H ) ⋅ vec ( S ) (T \otimes H) \cdot \text{vec}(S) (T⊗H)⋅vec(S) 不相等。
9. 完整示例回顾
通过上述具体示例,我们验证了整个系统模型的正确性,并理解了各个矩阵乘法步骤的实际含义。关键点包括:
- 卷积操作:每个发射天线的信号通过卷积矩阵 T T T 进行滤波,模拟信道的多径效应或其他线性滤波效应。
- 信道作用:信道矩阵 H H H 将卷积后的信号通过 Kronecker 积作用于接收天线上,实现信号的空间叠加和转换。
- 接收信号向量 Y recv Y_{\text{recv}} Yrecv:包含了所有发射信号经过卷积和信道作用后的叠加效果,尺寸为 ( L + Q − 1 ) N R × 1 (L + Q - 1)N_R \times 1 (L+Q−1)NR×1。
10. 最终结论
综上所述,在 MIMO 系统中,通过以下步骤将发射信号经过卷积和信道作用后得到接收信号:
- 构建卷积矩阵 T T T(下三角形式)并扩展为 T = I N T ⊗ T \mathbf{T} = I_{N_T} \otimes T T=INT⊗T。
- 展开发射信号矩阵 S S S 为向量 vec ( S ) \text{vec}(S) vec(S)。
- 执行卷积操作得到 Y conv = T ⋅ vec ( S ) Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) Yconv=T⋅vec(S)。
- 构建扩展信道矩阵 H ext = H ⊗ I L + Q − 1 H_{\text{ext}} = H \otimes I_{L + Q - 1} Hext=H⊗IL+Q−1。
- 计算接收信号向量 Y recv = H ext ⋅ Y conv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=Hext⋅Yconv=(H⊗T)⋅vec(S)。
关键点:
- H ext ⋅ Y conv = ( H ⊗ T ) ⋅ vec ( S ) H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes T) \cdot \text{vec}(S) Hext⋅Yconv=(H⊗T)⋅vec(S) 是正确的关系。
- Kronecker 积的顺序很重要, H ⊗ T H \otimes T H⊗T 与 T ⊗ H T \otimes H T⊗H 不同,需根据系统建模正确选择。
- 保持一致性:确保理论推导和具体示例中使用相同的矩阵形式和操作顺序。
如果您有任何进一步的问题或需要更详细的说明,请随时告知!
目录
1. 系统参数定义
在开始之前,明确系统中的各个参数及其尺寸:
- 发射阵元数(Transmitter Antennas): N T N_T NT
- 接收阵元数(Receiver Antennas): N R N_R NR
- 发射信号长度: L L L(每个发射阵元发送长度为 L L L 的信号)
- 卷积核长度: Q Q Q
- 发射信号矩阵:
S
∈
C
L
×
N
T
S \in \mathbb{C}^{L \times N_T}
S∈CL×NT
- 每列 S [ : , i ] S[:,i] S[:,i] 表示第 i i i 个发射阵元的信号,长度为 L L L。
- 卷积核向量: t = [ t 0 , t 1 , … , t Q − 1 ] T ∈ C Q × 1 t = [t_0, t_1, \ldots, t_{Q-1}]^T \in \mathbb{C}^{Q \times 1} t=[t0,t1,…,tQ−1]T∈CQ×1
- 发射导向矢量(Transmitter Steering Vector): a T ∈ C N T × 1 \mathbf{a}_T \in \mathbb{C}^{N_T \times 1} aT∈CNT×1
- 接收导向矢量(Receiver Steering Vector): a R ∈ C N R × 1 \mathbf{a}_R \in \mathbb{C}^{N_R \times 1} aR∈CNR×1
- 信道矩阵:
H
=
a
R
a
T
H
∈
C
N
R
×
N
T
H = \mathbf{a}_R \mathbf{a}_T^H \in \mathbb{C}^{N_R \times N_T}
H=aRaTH∈CNR×NT
- 其中, a T H \mathbf{a}_T^H aTH 表示 a T \mathbf{a}_T aT 的共轭转置。
2. 信号建模
2.1 发射信号矩阵 S S S
发射信号矩阵 S S S 是一个 L × N T L \times N_T L×NT 的复数矩阵,每列代表一个发射天线的信号:
S = ( s 1 , 1 s 1 , 2 ⋯ s 1 , N T s 2 , 1 s 2 , 2 ⋯ s 2 , N T ⋮ ⋮ ⋱ ⋮ s L , 1 s L , 2 ⋯ s L , N T ) ∈ C L × N T S = \begin{pmatrix} s_{1,1} & s_{1,2} & \cdots & s_{1,N_T} \\ s_{2,1} & s_{2,2} & \cdots & s_{2,N_T} \\ \vdots & \vdots & \ddots & \vdots \\ s_{L,1} & s_{L,2} & \cdots & s_{L,N_T} \end{pmatrix} \in \mathbb{C}^{L \times N_T} S= s1,1s2,1⋮sL,1s1,2s2,2⋮sL,2⋯⋯⋱⋯s1,NTs2,NT⋮sL,NT ∈CL×NT
2.2 信道矩阵 H H H
信道矩阵 H H H 描述了发射和接收天线之间的信道增益。假设信道由发射导向矢量 a T \mathbf{a}_T aT 和接收导向矢量 a R \mathbf{a}_R aR 的外积构成:
H = a R a T H = ( a R , 1 a R , 2 ⋮ a R , N R ) ( a T , 1 ‾ a T , 2 ‾ ⋯ a T , N T ‾ ) = ( a R , 1 a T , 1 ‾ a R , 1 a T , 2 ‾ ⋯ a R , 1 a T , N T ‾ a R , 2 a T , 1 ‾ a R , 2 a T , 2 ‾ ⋯ a R , 2 a T , N T ‾ ⋮ ⋮ ⋱ ⋮ a R , N R a T , 1 ‾ a R , N R a T , 2 ‾ ⋯ a R , N R a T , N T ‾ ) ∈ C N R × N T H = \mathbf{a}_R \mathbf{a}_T^H = \begin{pmatrix} a_{R,1} \\ a_{R,2} \\ \vdots \\ a_{R,N_R} \end{pmatrix} \begin{pmatrix} \overline{a_{T,1}} & \overline{a_{T,2}} & \cdots & \overline{a_{T,N_T}} \end{pmatrix} = \begin{pmatrix} a_{R,1} \overline{a_{T,1}} & a_{R,1} \overline{a_{T,2}} & \cdots & a_{R,1} \overline{a_{T,N_T}} \\ a_{R,2} \overline{a_{T,1}} & a_{R,2} \overline{a_{T,2}} & \cdots & a_{R,2} \overline{a_{T,N_T}} \\ \vdots & \vdots & \ddots & \vdots \\ a_{R,N_R} \overline{a_{T,1}} & a_{R,N_R} \overline{a_{T,2}} & \cdots & a_{R,N_R} \overline{a_{T,N_T}} \end{pmatrix} \in \mathbb{C}^{N_R \times N_T} H=aRaTH= aR,1aR,2⋮aR,NR (aT,1aT,2⋯aT,NT)= aR,1aT,1aR,2aT,1⋮aR,NRaT,1aR,1aT,2aR,2aT,2⋮aR,NRaT,2⋯⋯⋱⋯aR,1aT,NTaR,2aT,NT⋮aR,NRaT,NT ∈CNR×NT
3. 卷积操作的矩阵表示
为了将卷积操作表示为矩阵乘法,我们需要构建一个卷积矩阵 T T T。
3.1 单发射阵元的卷积
首先,考虑单发射阵元(即 N T = 1 N_T = 1 NT=1)的情况。信号向量 s ∈ C L × 1 s \in \mathbb{C}^{L \times 1} s∈CL×1 与卷积核 t ∈ C Q × 1 t \in \mathbb{C}^{Q \times 1} t∈CQ×1 的卷积 y = t ∗ s y = t * s y=t∗s 可以表示为矩阵乘法:
y = T s y = T s y=Ts
其中, T T T 是一个 ( L + Q − 1 ) × L (L + Q - 1) \times L (L+Q−1)×L 的下三角 Toeplitz 矩阵,具体形式为:
T = ( t 0 0 0 ⋯ 0 t 1 t 0 0 ⋯ 0 0 t 1 t 0 ⋯ 0 ⋮ ⋮ ⋮ ⋱ ⋮ 0 0 0 ⋯ t 0 ) ∈ C ( L + Q − 1 ) × L T = \begin{pmatrix} t_0 & 0 & 0 & \cdots & 0 \\ t_1 & t_0 & 0 & \cdots & 0 \\ 0 & t_1 & t_0 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & t_0 \end{pmatrix} \in \mathbb{C}^{(L + Q - 1) \times L} T= t0t10⋮00t0t1⋮000t0⋮0⋯⋯⋯⋱⋯000⋮t0 ∈C(L+Q−1)×L
性质:
- 因果卷积:每个输出时刻仅依赖于当前及之前的输入时刻。
- 下三角结构:确保输出 y ( l ) y(l) y(l) 不依赖于未来的输入信号。
3.2 多发射阵元的卷积
对于 N T > 1 N_T > 1 NT>1 的情况,信号矩阵 S ∈ C L × N T S \in \mathbb{C}^{L \times N_T} S∈CL×NT 的每一列 S [ : , i ] S[:,i] S[:,i] 需要与相同的卷积核 t t t 进行卷积。为了将这种操作表示为矩阵乘法,我们采用以下方法:
-
构建卷积矩阵 T T T:
如上所述,构建一个 ( L + Q − 1 ) × L (L + Q - 1) \times L (L+Q−1)×L 的下三角 Toeplitz 卷积矩阵 T T T。
-
利用 Kronecker 积扩展卷积矩阵:
为了同时处理所有 N T N_T NT 个发射阵元的卷积操作,使用 Kronecker 积(Kronecker Product)扩展 T T T:
T = I N T ⊗ T ∈ C ( L + Q − 1 ) N T × L N T \mathbf{T} = I_{N_T} \otimes T \in \mathbb{C}^{(L + Q - 1)N_T \times LN_T} T=INT⊗T∈C(L+Q−1)NT×LNT
其中, I N T I_{N_T} INT 是 N T × N T N_T \times N_T NT×NT 的单位矩阵, ⊗ \otimes ⊗ 表示 Kronecker 积。
-
展开信号矩阵 S S S:
将 S S S 展开为一个 L N T × 1 LN_T \times 1 LNT×1 的向量(按列堆叠):
vec ( S ) = ( s 1 , 1 s 2 , 1 ⋮ s L , 1 s 1 , 2 s 2 , 2 ⋮ s L , 2 ⋮ s 1 , N T s 2 , N T ⋮ s L , N T ) ∈ C L N T × 1 \text{vec}(S) = \begin{pmatrix} s_{1,1} \\ s_{2,1} \\ \vdots \\ s_{L,1} \\ s_{1,2} \\ s_{2,2} \\ \vdots \\ s_{L,2} \\ \vdots \\ s_{1,N_T} \\ s_{2,N_T} \\ \vdots \\ s_{L,N_T} \end{pmatrix} \in \mathbb{C}^{LN_T \times 1} vec(S)= s1,1s2,1⋮sL,1s1,2s2,2⋮sL,2⋮s1,NTs2,NT⋮sL,NT ∈CLNT×1
-
执行卷积操作:
卷积操作可以表示为:
Y conv = T ⋅ vec ( S ) ∈ C ( L + Q − 1 ) N T × 1 Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) \in \mathbb{C}^{(L + Q - 1)N_T \times 1} Yconv=T⋅vec(S)∈C(L+Q−1)NT×1
这相当于对每个发射阵元的信号进行独立的卷积操作,并将结果叠加在一起。
4. 信道作用的矩阵表示
4.1 扩展信道矩阵 H ext H_{\text{ext}} Hext
为了将信道作用于整个卷积后的信号向量 Y conv Y_{\text{conv}} Yconv,我们需要扩展信道矩阵 H H H 以匹配 Y conv Y_{\text{conv}} Yconv 的结构。使用 Kronecker 积扩展 H H H:
H ext = H ⊗ I L + Q − 1 ∈ C ( L + Q − 1 ) N R × ( L + Q − 1 ) N T H_{\text{ext}} = H \otimes I_{L + Q - 1} \in \mathbb{C}^{(L + Q - 1)N_R \times (L + Q - 1)N_T} Hext=H⊗IL+Q−1∈C(L+Q−1)NR×(L+Q−1)NT
其中, I L + Q − 1 I_{L + Q - 1} IL+Q−1 是 ( L + Q − 1 ) × ( L + Q − 1 ) (L + Q - 1) \times (L + Q - 1) (L+Q−1)×(L+Q−1) 的单位矩阵。
4.2 计算接收信号 Y recv Y_{\text{recv}} Yrecv
接收信号向量 Y recv Y_{\text{recv}} Yrecv 可以表示为:
Y recv = H ext ⋅ Y conv ∈ C ( L + Q − 1 ) N R × 1 Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} \in \mathbb{C}^{(L + Q - 1)N_R \times 1} Yrecv=Hext⋅Yconv∈C(L+Q−1)NR×1
5. 接收信号 Y ( l ) Y(l) Y(l) 的表达式
为了具体表示接收信号的每个元素 y ( l , j ) y(l,j) y(l,j),我们将展开上述矩阵乘法。
5.1 系统模型展开
结合前述表达式,接收信号 Y recv Y_{\text{recv}} Yrecv 可以展开为:
Y recv = H ext ⋅ Y conv = ( H ⊗ I L + Q − 1 ) ⋅ ( I N T ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes I_{L + Q - 1}) \cdot (I_{N_T} \otimes T) \cdot \text{vec}(S) Yrecv=Hext⋅Yconv=(H⊗IL+Q−1)⋅(INT⊗T)⋅vec(S)
根据 Kronecker 积的性质:
( A ⊗ B ) ( C ⊗ D ) = ( A C ) ⊗ ( B D ) (A \otimes B)(C \otimes D) = (AC) \otimes (BD) (A⊗B)(C⊗D)=(AC)⊗(BD)
因此:
Y recv = ( H ⊗ T ) ⋅ vec ( S ) ∈ C ( L + Q − 1 ) N R × 1 Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) \in \mathbb{C}^{(L + Q - 1)N_R \times 1} Yrecv=(H⊗T)⋅vec(S)∈C(L+Q−1)NR×1
5.2 元素级别的 y ( l , j ) y(l,j) y(l,j) 表达式
对于每个时间索引 l l l( l = 1 , 2 , … , L + Q − 1 l = 1, 2, \ldots, L + Q - 1 l=1,2,…,L+Q−1)和每个接收天线 j j j( j = 1 , 2 , … , N R j = 1, 2, \ldots, N_R j=1,2,…,NR),接收信号 y ( l , j ) y(l,j) y(l,j) 的表达式为:
y ( l , j ) = ∑ i = 1 N T ∑ k = 0 Q − 1 t k ⋅ s ( l − k , i ) ⋅ H j i y(l,j) = \sum_{i=1}^{N_T} \sum_{k=0}^{Q-1} t_k \cdot s(l - k, i) \cdot H_{ji} y(l,j)=i=1∑NTk=0∑Q−1tk⋅s(l−k,i)⋅Hji
其中:
- t k t_k tk 是卷积核的第 k k k 个元素。
- s ( l − k , i ) s(l - k, i) s(l−k,i) 是第 i i i 个发射天线在时间 l − k l - k l−k 时刻的信号。如果 l − k < 1 l - k < 1 l−k<1 或 l − k > L l - k > L l−k>L,则 s ( l − k , i ) = 0 s(l - k, i) = 0 s(l−k,i)=0(因为信号在这些时刻为零)。
- H j i H_{ji} Hji 是信道矩阵 H H H 中第 j j j 个接收天线与第 i i i 个发射天线之间的信道增益。
推导过程:
-
卷积操作:
Y conv = T ⋅ vec ( S ) Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) Yconv=T⋅vec(S)
表示对每个发射天线的信号进行卷积,并将结果叠加在一起。
-
信道作用:
Y recv = H ext ⋅ Y conv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=Hext⋅Yconv=(H⊗T)⋅vec(S)
这里, H ext = H ⊗ I L + Q − 1 H_{\text{ext}} = H \otimes I_{L + Q - 1} Hext=H⊗IL+Q−1 和 T = I N T ⊗ T \mathbf{T} = I_{N_T} \otimes T T=INT⊗T,结合 Kronecker 积的性质得到 Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)。
-
元素展开:
通过上述乘法,可以得到每个接收天线在每个时间索引的接收信号 y ( l , j ) y(l,j) y(l,j) 具体表达式。
6. 具体示例
为了更直观地理解上述推导,我们通过一个具体的数值示例来说明。
略【有必要参考另一篇文章】
6.1 参数设定
-
发射阵元数: N T = 2 N_T = 2 NT=2
-
接收阵元数: N R = 2 N_R = 2 NR=2
-
信号长度: L = 3 L = 3 L=3
-
卷积核长度: Q = 2 Q = 2 Q=2
-
卷积核: t = ( t 0 t 1 ) t = \begin{pmatrix} t_0 \\ t_1 \end{pmatrix} t=(t0t1)
-
发射信号矩阵:
S = ( 1 2 3 4 5 6 ) ∈ C 3 × 2 S = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix} \in \mathbb{C}^{3 \times 2} S= 135246 ∈C3×2
-
发射导向矢量: a T = ( 1 1 ) ∈ C 2 × 1 \mathbf{a}_T = \begin{pmatrix} 1 \\ 1 \end{pmatrix} \in \mathbb{C}^{2 \times 1} aT=(11)∈C2×1
-
接收导向矢量: a R = ( 1 1 ) ∈ C 2 × 1 \mathbf{a}_R = \begin{pmatrix} 1 \\ 1 \end{pmatrix} \in \mathbb{C}^{2 \times 1} aR=(11)∈C2×1
-
信道矩阵:
H = a R a T H = ( 1 1 ) ( 1 1 ) = ( 1 1 1 1 ) ∈ C 2 × 2 H = \mathbf{a}_R \mathbf{a}_T^H = \begin{pmatrix} 1 \\ 1 \end{pmatrix} \begin{pmatrix} 1 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} \in \mathbb{C}^{2 \times 2} H=aRaTH=(11)(11)=(1111)∈C2×2
6.2 构建卷积矩阵 T T T 和 T \mathbf{T} T
-
卷积矩阵 T T T(下三角形式):
T = ( t 0 0 0 t 1 t 0 0 0 t 1 t 0 0 0 t 1 ) ∈ C 4 × 3 T = \begin{pmatrix} t_0 & 0 & 0 \\ t_1 & t_0 & 0 \\ 0 & t_1 & t_0 \\ 0 & 0 & t_1 \\ \end{pmatrix} \in \mathbb{C}^{4 \times 3} T= t0t1000t0t1000t0t1 ∈C4×3
-
扩展卷积矩阵 T \mathbf{T} T:
T = I 2 ⊗ T = ( T 0 0 T ) = ( t 0 0 0 0 0 0 t 1 t 0 0 0 0 0 0 t 1 t 0 0 0 0 0 0 t 1 0 0 0 0 0 0 t 0 0 0 0 0 0 t 1 t 0 0 0 0 0 0 t 1 t 0 0 0 0 0 0 t 1 ) ∈ C 8 × 6 \mathbf{T} = I_{2} \otimes T = \begin{pmatrix} T & 0 \\ 0 & T \end{pmatrix} = \begin{pmatrix} t_0 & 0 & 0 & 0 & 0 & 0 \\ t_1 & t_0 & 0 & 0 & 0 & 0 \\ 0 & t_1 & t_0 & 0 & 0 & 0 \\ 0 & 0 & t_1 & 0 & 0 & 0 \\ 0 & 0 & 0 & t_0 & 0 & 0 \\ 0 & 0 & 0 & t_1 & t_0 & 0 \\ 0 & 0 & 0 & 0 & t_1 & t_0 \\ 0 & 0 & 0 & 0 & 0 & t_1 \\ \end{pmatrix} \in \mathbb{C}^{8 \times 6} T=I2⊗T=(T00T)= t0t10000000t0t10000000t0t100000000t0t10000000t0t10000000t0t1 ∈C8×6
6.3 展开信号矩阵 S S S
将 S S S 展开为向量(按列堆叠):
vec ( S ) = ( 1 3 5 2 4 6 ) ∈ C 6 × 1 \text{vec}(S) = \begin{pmatrix} 1 \\ 3 \\ 5 \\ 2 \\ 4 \\ 6 \end{pmatrix} \in \mathbb{C}^{6 \times 1} vec(S)= 135246 ∈C6×1
6.4 执行卷积操作 Y conv = T ⋅ vec ( S ) Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) Yconv=T⋅vec(S)
计算 Y conv Y_{\text{conv}} Yconv:
Y conv = T ⋅ vec ( S ) = ( t 0 ⋅ 1 + 0 ⋅ 3 + 0 ⋅ 5 + 0 ⋅ 2 + 0 ⋅ 4 + 0 ⋅ 6 t 1 ⋅ 1 + t 0 ⋅ 3 + 0 ⋅ 5 + 0 ⋅ 2 + 0 ⋅ 4 + 0 ⋅ 6 0 ⋅ 1 + t 1 ⋅ 3 + t 0 ⋅ 5 + 0 ⋅ 2 + 0 ⋅ 4 + 0 ⋅ 6 0 ⋅ 1 + 0 ⋅ 3 + t 1 ⋅ 5 + 0 ⋅ 2 + 0 ⋅ 4 + 0 ⋅ 6 0 ⋅ 1 + 0 ⋅ 3 + 0 ⋅ 5 + t 0 ⋅ 2 + 0 ⋅ 4 + 0 ⋅ 6 0 ⋅ 1 + 0 ⋅ 3 + 0 ⋅ 5 + t 1 ⋅ 2 + t 0 ⋅ 4 + 0 ⋅ 6 0 ⋅ 1 + 0 ⋅ 3 + 0 ⋅ 5 + 0 ⋅ 2 + t 1 ⋅ 4 + t 0 ⋅ 6 0 ⋅ 1 + 0 ⋅ 3 + 0 ⋅ 5 + 0 ⋅ 2 + 0 ⋅ 4 + t 1 ⋅ 6 ) = ( t 0 t 1 + 3 t 0 3 t 1 + 5 t 0 5 t 1 2 t 0 2 t 1 + 4 t 0 4 t 1 + 6 t 0 6 t 1 ) ∈ C 8 × 1 Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) = \begin{pmatrix} t_0 \cdot 1 + 0 \cdot 3 + 0 \cdot 5 + 0 \cdot 2 + 0 \cdot 4 + 0 \cdot 6 \\ t_1 \cdot 1 + t_0 \cdot 3 + 0 \cdot 5 + 0 \cdot 2 + 0 \cdot 4 + 0 \cdot 6 \\ 0 \cdot 1 + t_1 \cdot 3 + t_0 \cdot 5 + 0 \cdot 2 + 0 \cdot 4 + 0 \cdot 6 \\ 0 \cdot 1 + 0 \cdot 3 + t_1 \cdot 5 + 0 \cdot 2 + 0 \cdot 4 + 0 \cdot 6 \\ 0 \cdot 1 + 0 \cdot 3 + 0 \cdot 5 + t_0 \cdot 2 + 0 \cdot 4 + 0 \cdot 6 \\ 0 \cdot 1 + 0 \cdot 3 + 0 \cdot 5 + t_1 \cdot 2 + t_0 \cdot 4 + 0 \cdot 6 \\ 0 \cdot 1 + 0 \cdot 3 + 0 \cdot 5 + 0 \cdot 2 + t_1 \cdot 4 + t_0 \cdot 6 \\ 0 \cdot 1 + 0 \cdot 3 + 0 \cdot 5 + 0 \cdot 2 + 0 \cdot 4 + t_1 \cdot 6 \\ \end{pmatrix} = \begin{pmatrix} t_0 \\ t_1 + 3 t_0 \\ 3 t_1 + 5 t_0 \\ 5 t_1 \\ 2 t_0 \\ 2 t_1 + 4 t_0 \\ 4 t_1 + 6 t_0 \\ 6 t_1 \\ \end{pmatrix} \in \mathbb{C}^{8 \times 1} Yconv=T⋅vec(S)= t0⋅1+0⋅3+0⋅5+0⋅2+0⋅4+0⋅6t1⋅1+t0⋅3+0⋅5+0⋅2+0⋅4+0⋅60⋅1+t1⋅3+t0⋅5+0⋅2+0⋅4+0⋅60⋅1+0⋅3+t1⋅5+0⋅2+0⋅4+0⋅60⋅1+0⋅3+0⋅5+t0⋅2+0⋅4+0⋅60⋅1+0⋅3+0⋅5+t1⋅2+t0⋅4+0⋅60⋅1+0⋅3+0⋅5+0⋅2+t1⋅4+t0⋅60⋅1+0⋅3+0⋅5+0⋅2+0⋅4+t1⋅6 = t0t1+3t03t1+5t05t12t02t1+4t04t1+6t06t1 ∈C8×1
6.5 构建扩展信道矩阵 H ext H_{\text{ext}} Hext 并计算接收信号 Y recv Y_{\text{recv}} Yrecv
-
扩展信道矩阵 H ext H_{\text{ext}} Hext:
H ext = H ⊗ I 4 = ( H 0 0 0 0 H 0 0 0 0 H 0 0 0 0 H ) = ( 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 ) ∈ C 8 × 8 H_{\text{ext}} = H \otimes I_{4} = \begin{pmatrix} H & 0 & 0 & 0 \\ 0 & H & 0 & 0 \\ 0 & 0 & H & 0 \\ 0 & 0 & 0 & H \\ \end{pmatrix} = \begin{pmatrix} 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 \\ \end{pmatrix} \in \mathbb{C}^{8 \times 8} Hext=H⊗I4= H0000H0000H0000H = 1100000011000000001100000011000000001100000011000000001100000011 ∈C8×8
-
计算接收信号 Y recv Y_{\text{recv}} Yrecv:
Y recv = H ext ⋅ Y conv = ( 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 ) ( t 0 t 1 + 3 t 0 3 t 1 + 5 t 0 5 t 1 2 t 0 2 t 1 + 4 t 0 4 t 1 + 6 t 0 6 t 1 ) = ( t 0 + ( t 1 + 3 t 0 ) t 0 + ( t 1 + 3 t 0 ) ( 3 t 1 + 5 t 0 ) + 5 t 1 ( 3 t 1 + 5 t 0 ) + 5 t 1 2 t 0 + ( 2 t 1 + 4 t 0 ) 2 t 0 + ( 2 t 1 + 4 t 0 ) ( 4 t 1 + 6 t 0 ) + 6 t 1 ( 4 t 1 + 6 t 0 ) + 6 t 1 ) = ( 4 t 0 + t 1 4 t 0 + t 1 8 t 1 + 5 t 0 8 t 1 + 5 t 0 6 t 0 + 2 t 1 6 t 0 + 2 t 1 12 t 1 + 6 t 0 12 t 1 + 6 t 0 ) ∈ C 8 × 1 Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} = \begin{pmatrix} 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 \\ \end{pmatrix} \begin{pmatrix} t_0 \\ t_1 + 3 t_0 \\ 3 t_1 + 5 t_0 \\ 5 t_1 \\ 2 t_0 \\ 2 t_1 + 4 t_0 \\ 4 t_1 + 6 t_0 \\ 6 t_1 \\ \end{pmatrix} = \begin{pmatrix} t_0 + (t_1 + 3 t_0) \\ t_0 + (t_1 + 3 t_0) \\ (3 t_1 + 5 t_0) + 5 t_1 \\ (3 t_1 + 5 t_0) + 5 t_1 \\ 2 t_0 + (2 t_1 + 4 t_0) \\ 2 t_0 + (2 t_1 + 4 t_0) \\ (4 t_1 + 6 t_0) + 6 t_1 \\ (4 t_1 + 6 t_0) + 6 t_1 \\ \end{pmatrix} = \begin{pmatrix} 4 t_0 + t_1 \\ 4 t_0 + t_1 \\ 8 t_1 + 5 t_0 \\ 8 t_1 + 5 t_0 \\ 6 t_0 + 2 t_1 \\ 6 t_0 + 2 t_1 \\ 12 t_1 + 6 t_0 \\ 12 t_1 + 6 t_0 \\ \end{pmatrix} \in \mathbb{C}^{8 \times 1} Yrecv=Hext⋅Yconv= 1100000011000000001100000011000000001100000011000000001100000011 t0t1+3t03t1+5t05t12t02t1+4t04t1+6t06t1 = t0+(t1+3t0)t0+(t1+3t0)(3t1+5t0)+5t1(3t1+5t0)+5t12t0+(2t1+4t0)2t0+(2t1+4t0)(4t1+6t0)+6t1(4t1+6t0)+6t1 = 4t0+t14t0+t18t1+5t08t1+5t06t0+2t16t0+2t112t1+6t012t1+6t0 ∈C8×1
6.6 接收信号 y ( l , j ) y(l,j) y(l,j) 的具体表达式
结合上述计算,对于每个接收天线 j j j 和每个时间索引 l l l,接收信号 y ( l , j ) y(l,j) y(l,j) 的表达式为:
y ( l , j ) = ∑ i = 1 N T ∑ k = 0 Q − 1 t k ⋅ s ( l − k , i ) ⋅ H j i y(l,j) = \sum_{i=1}^{N_T} \sum_{k=0}^{Q-1} t_k \cdot s(l - k, i) \cdot H_{ji} y(l,j)=i=1∑NTk=0∑Q−1tk⋅s(l−k,i)⋅Hji
在本示例中,由于 H = ( 1 1 1 1 ) H = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} H=(1111),即所有 H j i = 1 H_{ji} = 1 Hji=1,接收信号简化为:
y ( l , j ) = ∑ i = 1 2 ∑ k = 0 1 t k ⋅ s ( l − k , i ) y(l,j) = \sum_{i=1}^{2} \sum_{k=0}^{1} t_k \cdot s(l - k, i) y(l,j)=i=1∑2k=0∑1tk⋅s(l−k,i)
具体计算:
-
接收天线 1 ( j = 1 j = 1 j=1):
y ( 1 , 1 ) = t 0 ⋅ s ( 1 , 1 ) + t 1 ⋅ s ( 1 , 1 ) = t 0 ⋅ 1 + t 1 ⋅ 1 = t 0 + t 1 y ( 2 , 1 ) = t 0 ⋅ s ( 2 , 1 ) + t 1 ⋅ s ( 1 , 1 ) = t 0 ⋅ 3 + t 1 ⋅ 1 = 3 t 0 + t 1 y ( 3 , 1 ) = t 0 ⋅ s ( 3 , 1 ) + t 1 ⋅ s ( 2 , 1 ) = t 0 ⋅ 5 + t 1 ⋅ 3 = 5 t 0 + 3 t 1 y ( 4 , 1 ) = t 0 ⋅ s ( 4 , 1 ) + t 1 ⋅ s ( 3 , 1 ) = 0 + t 1 ⋅ 5 = 5 t 1 \begin{aligned} y(1,1) &= t_0 \cdot s(1,1) + t_1 \cdot s(1,1) = t_0 \cdot 1 + t_1 \cdot 1 = t_0 + t_1 \\ y(2,1) &= t_0 \cdot s(2,1) + t_1 \cdot s(1,1) = t_0 \cdot 3 + t_1 \cdot 1 = 3 t_0 + t_1 \\ y(3,1) &= t_0 \cdot s(3,1) + t_1 \cdot s(2,1) = t_0 \cdot 5 + t_1 \cdot 3 = 5 t_0 + 3 t_1 \\ y(4,1) &= t_0 \cdot s(4,1) + t_1 \cdot s(3,1) = 0 + t_1 \cdot 5 = 5 t_1 \\ \end{aligned} y(1,1)y(2,1)y(3,1)y(4,1)=t0⋅s(1,1)+t1⋅s(1,1)=t0⋅1+t1⋅1=t0+t1=t0⋅s(2,1)+t1⋅s(1,1)=t0⋅3+t1⋅1=3t0+t1=t0⋅s(3,1)+t1⋅s(2,1)=t0⋅5+t1⋅3=5t0+3t1=t0⋅s(4,1)+t1⋅s(3,1)=0+t1⋅5=5t1
-
接收天线 2 ( j = 2 j = 2 j=2):
由于 H 2 i = 1 H_{2i} = 1 H2i=1( i = 1 , 2 i = 1,2 i=1,2),计算方式与接收天线 1 相同:
y ( 1 , 2 ) = t 0 + t 1 y ( 2 , 2 ) = 3 t 0 + t 1 y ( 3 , 2 ) = 5 t 0 + 3 t 1 y ( 4 , 2 ) = 5 t 1 \begin{aligned} y(1,2) &= t_0 + t_1 \\ y(2,2) &= 3 t_0 + t_1 \\ y(3,2) &= 5 t_0 + 3 t_1 \\ y(4,2) &= 5 t_1 \\ \end{aligned} y(1,2)y(2,2)y(3,2)y(4,2)=t0+t1=3t0+t1=5t0+3t1=5t1
总结:
y ( 1 , 1 ) = t 0 + t 1 y ( 2 , 1 ) = 3 t 0 + t 1 y ( 3 , 1 ) = 5 t 0 + 3 t 1 y ( 4 , 1 ) = 5 t 1 y ( 1 , 2 ) = t 0 + t 1 y ( 2 , 2 ) = 3 t 0 + t 1 y ( 3 , 2 ) = 5 t 0 + 3 t 1 y ( 4 , 2 ) = 5 t 1 \begin{aligned} y(1,1) &= t_0 + t_1 \\ y(2,1) &= 3 t_0 + t_1 \\ y(3,1) &= 5 t_0 + 3 t_1 \\ y(4,1) &= 5 t_1 \\ y(1,2) &= t_0 + t_1 \\ y(2,2) &= 3 t_0 + t_1 \\ y(3,2) &= 5 t_0 + 3 t_1 \\ y(4,2) &= 5 t_1 \\ \end{aligned} y(1,1)y(2,1)y(3,1)y(4,1)y(1,2)y(2,2)y(3,2)y(4,2)=t0+t1=3t0+t1=5t0+3t1=5t1=t0+t1=3t0+t1=5t0+3t1=5t1
7. 总结
7.1 关键步骤总结
-
信号建模:
- 发射信号矩阵 S S S 表示多个发射天线发送的信号。
-
卷积操作:
- 使用下三角卷积矩阵 T T T 对每个发射天线的信号进行卷积,通过 Kronecker 积构造整体卷积矩阵 T \mathbf{T} T。
-
信道作用:
- 信道矩阵 H H H 描述了发射和接收天线之间的信道增益,通过导向矢量的外积构成。
-
接收信号计算:
- 将卷积后的信号 Y conv = T ⋅ vec ( S ) Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) Yconv=T⋅vec(S) 通过扩展后的信道矩阵 H ext = H ⊗ I L + Q − 1 H_{\text{ext}} = H \otimes I_{L + Q - 1} Hext=H⊗IL+Q−1 进行空间上的叠加和转换,得到接收信号向量 Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)。
-
接收信号表达式:
- 每个接收信号 y ( l , j ) y(l,j) y(l,j) 是所有发射天线在相应延迟 k k k 时刻的信号经过卷积核 t k t_k tk 加权后,通过信道 H j i H_{ji} Hji 叠加得到的。
7.2 优势
-
线性代数工具的应用:
矩阵化的表示方法允许利用高效的线性代数工具和算法进行计算和优化。
-
并行处理:
矩阵运算天然适合并行计算架构,提升计算效率,特别适用于大规模系统。
-
系统分析:
便于进行系统性能分析,如频率响应、稳定性等。
7.3 扩展讨论
7.3.1 不同卷积核的情况
如果不同发射天线使用不同的卷积核 t i t_i ti,则需要为每个发射天线构建独立的卷积矩阵 T i T_i Ti,并相应地调整整体卷积矩阵 T \mathbf{T} T 的构造方法。这可能涉及以下步骤:
- 为每个发射天线 i i i 构建独立的卷积矩阵 T i T_i Ti。
- 形成一个块对角矩阵,将所有 T i T_i Ti 置于对角线上,其他位置为零。
- 使用 Kronecker 积扩展,以适应整个系统的卷积操作。
7.3.2 快速卷积算法
对于大规模系统,直接构建和操作大型卷积矩阵可能带来较高的计算复杂度。可以考虑以下方法:
-
频域卷积:
利用快速傅里叶变换(FFT)将卷积操作转移到频域进行,加速计算。
-
稀疏矩阵乘法:
利用卷积矩阵的稀疏性,减少不必要的计算。
-
迭代算法:
采用迭代方法近似求解,降低计算复杂度。
8. 结论
通过从信号建模开始的详细推导,我们展示了如何在 MIMO 系统中将发射信号通过下三角卷积矩阵 T \mathbf{T} T 和扩展后的信道矩阵 H ext = H ⊗ I L + Q − 1 H_{\text{ext}} = H \otimes I_{L + Q - 1} Hext=H⊗IL+Q−1 进行处理,并最终得到接收信号向量 Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)。这一过程涉及矩阵乘法的巧妙运用,确保了信号处理的高效性和准确性。
问题:H_ext * Y_conv = (H \otimes T) vec(S) 吗?
回答:在本系统模型中,接收信号向量 Y recv Y_{\text{recv}} Yrecv 是通过以下步骤得到的:
-
卷积操作:
Y conv = T ⋅ vec ( S ) ∈ C ( L + Q − 1 ) N T × 1 Y_{\text{conv}} = \mathbf{T} \cdot \text{vec}(S) \in \mathbb{C}^{(L + Q - 1)N_T \times 1} Yconv=T⋅vec(S)∈C(L+Q−1)NT×1
-
信道作用:
Y recv = H ext ⋅ Y conv = ( H ⊗ I L + Q − 1 ) ⋅ Y conv ∈ C ( L + Q − 1 ) N R × 1 Y_{\text{recv}} = H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes I_{L + Q - 1}) \cdot Y_{\text{conv}} \in \mathbb{C}^{(L + Q - 1)N_R \times 1} Yrecv=Hext⋅Yconv=(H⊗IL+Q−1)⋅Yconv∈C(L+Q−1)NR×1
然而,利用 Kronecker 积的性质,可以将整个操作表示为:
Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)
因此, H ext ⋅ Y conv = ( H ⊗ T ) ⋅ vec ( S ) H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes T) \cdot \text{vec}(S) Hext⋅Yconv=(H⊗T)⋅vec(S) 是正确的关系。
解释:
-
H ext = H ⊗ I L + Q − 1 H_{\text{ext}} = H \otimes I_{L + Q - 1} Hext=H⊗IL+Q−1
这表示在每个时间索引 l l l 上,信道矩阵 H H H 被应用于对应的卷积结果。
-
T = I N T ⊗ T \mathbf{T} = I_{N_T} \otimes T T=INT⊗T
这表示对每个发射天线的信号独立地应用卷积矩阵 T T T。
-
组合操作:
利用 Kronecker 积的分配律:
( H ⊗ I L + Q − 1 ) ( I N T ⊗ T ) = ( H ⋅ I N T ) ⊗ ( I L + Q − 1 ⋅ T ) = H ⊗ T (H \otimes I_{L + Q - 1})(I_{N_T} \otimes T) = (H \cdot I_{N_T}) \otimes (I_{L + Q - 1} \cdot T) = H \otimes T (H⊗IL+Q−1)(INT⊗T)=(H⋅INT)⊗(IL+Q−1⋅T)=H⊗T
因此:
Y recv = ( H ⊗ T ) ⋅ vec ( S ) Y_{\text{recv}} = (H \otimes T) \cdot \text{vec}(S) Yrecv=(H⊗T)⋅vec(S)
注意: ( H ⊗ T ) ≠ ( T ⊗ H ) (H \otimes T) \neq (T \otimes H) (H⊗T)=(T⊗H) 一般情况下,除非 H H H 和 T T T 都是方阵且大小相同。因此, H ext ⋅ Y conv = ( H ⊗ T ) ⋅ vec ( S ) H_{\text{ext}} \cdot Y_{\text{conv}} = (H \otimes T) \cdot \text{vec}(S) Hext⋅Yconv=(H⊗T)⋅vec(S) 是正确的,而 ( H ⊗ T ) ⋅ vec ( S ) (H \otimes T) \cdot \text{vec}(S) (H⊗T)⋅vec(S) 与 ( T ⊗ H ) ⋅ vec ( S ) (T \otimes H) \cdot \text{vec}(S) (T⊗H)⋅vec(S) 不相等。