TraditionaI Comm笔记【4】:信道估计/Channel Estimation
1. Overview of Channel Estimation
(1). The basic concept of Channel Estimation
“信道估计/Channel Estimation”
,就是从接收数据中将假定的某个信道模型的模型参数估计出来的过程。如果信道是线性的话,那么信道估计就是对系统冲激响应进行估计。需强调的是信道估计是信道对输入信号影响的一种数学表示,而“好”的信道估计则是使得某种估计误差最小化的估计算法。
通过信道估计,接收机可以得到信道的冲激响应,从而为后续的相干解调提供所需的“CSI(Channel State Information,信道状态信息)”
。
简单来说,在所有通信过程中,信号都经过一个介质/信道,当信号通过信道时,信号会发生失真或各种噪声被添加到信号中。要对接收到的信号正确解码而没有太多错误,则需要从接收的信号中删除通道施加的失真和噪声。为此,第一步是找出信号经过的信道的特征,也就是进行信道估计。
信道估计有许多不同的方法,但基本概念是相似的。基本流程如下一样:
- s t e p 1. step\ 1. step 1. 设置一个数学模型,使用信道矩阵将“传输信号”和“接收信号”关联在一起。
- s t e p 2. step\ 2. step 2. 传输参考信号/导频信号,并检测接收到的信号。
- s t e p 3. step\ 3. step 3. 通过比较传输的信号和接收的信号,我们可以找出信道道矩阵的每个元素。
(2). 信道估计的意义
无线环境是复杂多变的,信号在传播过程中会受到各种各样的干扰,到达接收端时,信号的幅度、相位和频率都会发生变化,而信道估计和信道均衡的作用就是尽可能恢复出信号。因此,一个良好的估计和均衡算法对于接收端的性能来说至关重要,决定了信号最终的解出率。
举一个例子,假如发送端发送正弦信号 6 s i n ( 2 t ) 6sin(2t) 6sin(2t),经无线信道传输,由于信道的影响,接收端接收到的信号为 3 s i n ( 2 t + 8 ) 3sin(2t+8) 3sin(2t+8),也就是说信号经过该无线信道传输之后,幅度和相位都发生了变化(幅度衰减一半,相位增加 8 8 8),如果在接收端现在已经通过相应的信道估计算法估计出了该信道的特性(即幅度衰减一半,相位增加 8 8 8),那么接收端在后续接收其它信号的时候就会对接收到的信号进行相应的补偿。若说发送端又发送了一个信号 8 s i n ( 2 t + 2 ) 8sin(2t+2) 8sin(2t+2),经过该信道传输后,接收端接收到的信号为 4 s i n ( 2 t + 10 ) 4sin(2t+10) 4sin(2t+10),那么接收端根据第一次传输估计出的的信道特性,就可以直接把信号补偿为 8 s i n ( 2 t + 2 ) 8sin(2t+2) 8sin(2t+2)(幅度增加一倍,相位减去 8 8 8),即在接收端就可以复原出发送端发送的原信号。所以说信道估计的目的就是在接收端尽可能地还原发送端发送的原信号。
(3). 信道估计的分类
- 从信道估计算法输入数据的类型来分,可以划分为时域和频域两大类方法。频域方法主要针对多载波系统;时域方法适用于所有单载波和多载波系统,其借助于参考信号或发送数据的统计特性,估计衰落信道中各多径分量的衰落系数。
- 从信道估计算法先验信息的角度,则可分为以下三类:
(1)基于参考信号的信道估计估计。基于训练序列和导频序列的估计统称为基于参考信号的估计算法。基于训练序列的信道估计算法适用于突发传输方式的系统。通过发送已知的训练序列,在接收端进行初始的信道估计,当发送有用的信息数据时,利用初始的信道估计结果进行一个判决更新,完成实时的信道估计。基于导频符号的信道估计适用于连续传输的系统,通过在发送的有用数据中插入已知的导频符号,可以得到导频位置的信道估计结果,接着利用导频位置的信道估计结果,通过内插得到有用数据位置的信道估计结果,完成信道估计。总之,基于参考信号的信道估计原理就是在发送数据符号外,还需要发送导频信号,“最小二乘法(LS)”
、“最小均方误差(MMSE)”
等基于训练数据序列的信道估计算法被广泛应用于信道估计。其优点是导频能够提供较好的性能。其缺点是训练数据过长会降低频谱效率。
(2)盲/半盲信道估计算法。从接收信号的结构和统计信息中获取“信道状态信息(CSI)”
或均衡器系数,无需或很少训练序列。其优点是减少了资源的开销。其缺点是性能比基于参考信号的信道估计算法差。- 盲信道估计算法。利用调制信号本身固有的、与具体承载信息比特无关的一些特征,或是采用判决反馈的方法来进行信道估计的方法。
- 半盲信道估计算法。结合盲估计与基于训练序列估计这两种方法优点的信道估计方法。
一般来讲,通过设计训练序列或在数据中周期性地插入导频符号来进行估计的方法比较常用。而盲估计和半盲信道估计算法无需或者需要较短的训练序列,频谱效率高,因此获得了广泛的研究。但是一般盲估计和半盲估计方法的计算复杂度较高,且可能出现相位模糊(基于子空间的方法)、误差传播(如判决反馈类方法)、收敛慢或陷入局部极小等问题,需要较长的观察数据,这在一定程度上限制了它们的实用性。
2. SISO的信道估计
考虑"LTE SISO"
的情况,估计信道属性(信道系数和噪声估计)。由于考虑的是"SISO"
系统,因此参考信号仅嵌入到一个天线端口(端口
0
0
0)中。下图中的垂直线表示频域,这里用
f
1
,
f
2
,
f
3
.
.
.
f
n
f_1,f_2,f_3 ... f_n
f1,f2,f3...fn 索引了每个参考信号,每个参考信号可以是复数(
I
/
Q
I / Q
I/Q数据)。左侧(发送侧)的每个复数(参考信号)被修改(失真)为右侧的每个对应符号(接收的符号)。信道估计是在左侧的复数数组与右侧的复数数组之间找到相关性的过程。

***note:这里采用的方法基于开源srsLTE.
(1). 信道系数的估计
由于是一根天线,因此每个发射参考信号和接收参考信号的系统模型可以表示为如下。
y
(
)
y()
y() 表示接收到的参考信号的数组,
x
(
)
x()
x() 表示发送的参考信号
(
)
()
()的数组,
h
(
)
h()
h() 表示信道系数的数组。
f
1
,
f
2
,
.
.
.
f_1,f_2,...
f1,f2,... 只是整数索引。
y
(
f
1
)
=
h
(
f
1
)
⋅
x
(
f
1
)
y
(
f
2
)
=
h
(
f
2
)
⋅
x
(
f
2
)
y
(
f
3
)
=
h
(
f
3
)
⋅
x
(
f
3
)
y
(
f
4
)
=
h
(
f
4
)
⋅
x
(
f
4
)
y(f_1)=h(f_1)·x(f_1)\\ y(f_2)=h(f_2)·x(f_2)\\ y(f_3)=h(f_3)·x(f_3)\\ y(f_4)=h(f_4)·x(f_4)
y(f1)=h(f1)⋅x(f1)y(f2)=h(f2)⋅x(f2)y(f3)=h(f3)⋅x(f3)y(f4)=h(f4)⋅x(f4)
x
(
)
x()
x() 已知(发送的参考信号),
y
(
)
y()
y() 也已知,因为它是从接收端检测到的。有了这些,就可以很容易地计算出信道系数矩阵,如下所示:

现在我们有了参考信号所在位置的所有信道系数。但是我们需要在所有位置(包括那些没有参考信号的点)处的信道效率。这意味着我们需要在没有参考信号的情况下找出那些位置的信道系数。对此,最常见的方法是对测得的系数数组进行插值。在"srsLTE"
的情况下,它首先进行平均,然后对平均信道系数进行插值。

(2). 噪声估计
从理论上讲,噪声可以通过下面方法计算:

然而,我们需要的是噪声的统计属性,而不是确切的噪声值。我们可以仅使用测得的信道系数和平均信道来估算噪声,如下图所示(实际上,准确的噪声值没有太大意义,因为噪声值会不断变化,使用那些特定的噪声值没有用)。在"srsLTE"
中,作者使用了这种方法。

3. 2 × 2 2×2 2×2 MIMO的信道估计
假设如下图所示的通信系统。 x ( t ) x(t) x(t) 表示发送信号, y ( t ) y(t) y(t) 表示接收信号。当 x ( t ) x(t) x(t) 传输到空中(信道)时,会产生并获得各种噪声,而且可能会相互干扰。因此接收到的信号 y ( t ) y(t) y(t) 与发射信号 x ( t ) x(t) x(t) 不同。

发射信号,接收信号和信道矩阵之间的关系用数学形式建模为:
[
y
1
y
2
]
=
[
h
11
h
12
h
21
h
22
]
[
x
1
x
2
]
+
[
n
1
n
2
]
\begin{bmatrix} y_1\\ y_2 \end{bmatrix}= \begin{bmatrix} h_{11} & h_{12}\\ h_{21} & h_{22} \end{bmatrix} \begin{bmatrix} x_1\\ x_2 \end{bmatrix}+ \begin{bmatrix} n_1\\ n_2 \end{bmatrix}
[y1y2]=[h11h21h12h22][x1x2]+[n1n2]
在上式中,我们已知
x
1
x_1
x1,
x
2
x_2
x2(发射信号)和
y
1
y_1
y1,
y
2
y_2
y2(检测/接收的信号)。我们不知道的是信道矩阵
H
H
H 和噪声
(
n
1
,
n
2
)
(n_1,n_2)
(n1,n2)。
为简单起见,我们假设该信道中没有噪声,这意味着我们可以将 n 1 n_1 n1, n 2 n_2 n2 设置为 0 0 0。(但是,实际信道中总会存在噪声,估计噪声是信道估计中非常重要的一部分。此例中假设没有噪音,只是为了使其简单)。
对信道进行数学建模后,下一步是传输参考信号,并从参考信号中找出信道参数。
假设我们仅通过一个天线发送了幅度为1的参考信号,而另一个发射天线现在处于关闭状态。信号通过空气传播后,接收方的两个天线都会检测到该信号。假设第一个天线接收幅度为 0.8 0.8 0.8 的参考信号,第二个天线接收幅度为 0.2 0.2 0.2 的参考信号。有了这个结果,我们可以得出如下图所示的一列信道矩阵 H H H。

假设我们仅通过第二个天线发送了幅度为 1 1 1 的参考信号,并且第一个天线现在处于关闭状态。信号通过空气传播,接收方的两个天线都会检测到该信号。假设第一个天线接收到幅度为 0.3 0.3 0.3 的参考信号,第二个天线接收到幅度为 0.7 0.7 0.7 的参考信号。有了这个结果,我们可以得出如下所示的另一列信道矩阵 H H H。

上述用于理解信道估计的概念完全没有一点问题。但是,如果完全按照上述方法估计信道,则可能会导致效率低下。上述解释中,应该有一个时刻,仅用于发送参考信号而没有实际数据,只是为了估计信道信息,这意味着由于信道估计过程,数据速率将降低。为了消除这种效率低下的问题,实际的通信系统会同时发送参考信号和数据。
所以现在面临的问题是“如何在传输参考信号和数据的同时实现上述概念”。有不同的方法来实现此操作,并且不同的通信系统将使用一些不同的方法。
以"LTE"
为例,我们使用如下所示的方法。在"LTE"
的
2
×
2
2×2
2×2 "MIMO"
的情况下,每个子帧对每个天线的参考信号有不同的位置。即天线
0
0
0的子帧传输分配给天线
0
0
0 的参考信号,不传输分配给天线
1
1
1 的参考信号的任何信号。天线1的子帧传输分配给天线
1
1
1 的参考信号,不传输分配给天线
0
0
0的参考信号的任何信号。因此,如果在两个接收天线解码分配给天线
0
0
0 的参考信号的资源元素,你可以估计
h
11
h_{11}
h11,
h
12
h_{12}
h12。
因此,如果在两个接收器天线上解码为天线 0 0 0 的参考信号分配的资源元素,则可以估计 h 11 h_{11} h11, h 12 h_{12} h12。(在这里,为了简单起见,仍然假设没有噪音)。如果在两个接收器天线上解码分配给天线 1 1 1参考信号的资源元素,则可以估计 h 21 h_{21} h21, h 22 h_{22} h22。

(1). 信道系数的估计
上面举例的过程是针对"LTE OFDMA"
符号中的频域中的一个特定点估计
H
H
H 矩阵。如果在对符号的其它部分进行解码的过程中照原样应用测量的
H
H
H 值,则解码得到的符号的准确性可能不尽人意,因为上一步中使用的测量数据会包含一定程度的噪声。因此,在实际应用中,对通过上述方法测得的
H
H
H值进行某种后处理,在此后处理过程中,我们可以找出噪声的总体统计属性(例如,噪声的均值,方差和统计分布)。需要注意的是,在此过程中获得的特定噪声值本身并没有太多意义。从参考信号获得的特定值将与用于解码其它数据的噪声值(非参考信号)不同,因为噪声值是随机变化的。但是随机噪声的总体特性是重要的。
系统方程式如下,其中包括噪声项,但不可能直接测量噪声,因为噪声是随机过程。该方程式仅表明检测到的信号
y
y
y 包含噪声分量的某些部分。
[
y
1
y
2
]
=
[
h
11
h
12
h
21
h
22
]
[
x
1
x
2
]
+
[
n
1
n
2
]
\begin{bmatrix} y_1\\ y_2 \end{bmatrix}= \begin{bmatrix} h_{11} & h_{12}\\ h_{21} & h_{22} \end{bmatrix} \begin{bmatrix} x_1\\ x_2 \end{bmatrix}+ \begin{bmatrix} n_1\\ n_2 \end{bmatrix}
[y1y2]=[h11h21h12h22][x1x2]+[n1n2]
当我们测量信道系数时,我们使用了没有噪声项的方程式,如下所示:
[
y
1
y
2
]
=
[
h
11
h
12
h
21
h
22
]
[
x
1
x
2
]
\begin{bmatrix} y_1\\ y_2 \end{bmatrix}= \begin{bmatrix} h_{11} & h_{12}\\ h_{21} & h_{22} \end{bmatrix} \begin{bmatrix} x_1\\ x_2 \end{bmatrix}
[y1y2]=[h11h21h12h22][x1x2]
在"LTE"
的特定应用中,我们在"OFDM"
符号中有多个测量点(多个参考信号)。这些测量点在频域上表示,按照如下方式重写信道矩阵以指示每个信道矩阵的测量点:
H
(
f
)
=
[
h
(
f
)
11
h
(
f
)
12
h
(
f
)
21
h
(
f
)
22
]
H(f)= \begin{bmatrix} h(f)_{11} & h(f)_{12}\\ h(f)_{21} & h(f)_{22} \end{bmatrix}
H(f)=[h(f)11h(f)21h(f)12h(f)22]
现在,假设已经测量了整个
O
F
D
M
OFDM
OFDM符号上的
H
H
H矩阵,那么将拥有多个
H
H
H矩阵,如下所示,每个矩阵都以一个特定的频率指示
H
H
H矩阵。
H
(
f
0
)
=
[
h
(
f
0
)
11
h
(
f
0
)
12
h
(
f
0
)
21
h
(
f
0
)
22
]
H
(
f
1
)
=
[
h
(
f
1
)
11
h
(
f
1
)
12
h
(
f
1
)
21
h
(
f
1
)
22
]
⋅
⋅
⋅
H
(
f
n
−
1
)
=
[
h
(
f
n
−
1
)
11
h
(
f
n
−
1
)
12
h
(
f
n
−
1
)
21
h
(
f
n
−
1
)
22
]
H(f_0)= \begin{bmatrix} h(f_0)_{11} & h(f_0)_{12}\\ h(f_0)_{21} & h(f_0)_{22} \end{bmatrix}\\ H(f_1)= \begin{bmatrix} h(f_1)_{11} & h(f_1)_{12}\\ h(f_1)_{21} & h(f_1)_{22} \end{bmatrix}\\ ·\\ ·\\ ·\\ H(f_{n-1})= \begin{bmatrix} h(f_{n-1})_{11} & h(f_{n-1})_{12}\\ h(f_{n-1})_{21} & h(f_{n-1})_{22} \end{bmatrix}
H(f0)=[h(f0)11h(f0)21h(f0)12h(f0)22]H(f1)=[h(f1)11h(f1)21h(f1)12h(f1)22]⋅⋅⋅H(fn−1)=[h(fn−1)11h(fn−1)21h(fn−1)12h(fn−1)22]
现在得到了一个
H
H
H 矩阵数组。该阵列由四个不同的组组成,每个组用不同的颜色突出显示,如下图所示:

当应用后处理算法时,该算法需要分别应用于这些组中的每一个。因此,为简单起见,将 H H H 矩阵的数组重新排列为多个独立数组,如下图所示:

对于这些数组中的每一个,将进行如下所示的相同处理。在下面说明的方法中,数据(每个频点中的信道系数阵列)使用"IFFT"
进行处理,这意味着将数据转换为时域,从而生成标记为
(
2
)
(2)
(2) 的时域数据阵列。实际上,这是特定信道路径的脉冲响应。然后,对该时域数据应用特定的过滤(或加窗)。在此示例中,将某个点的数据替换为零,并创建标记为
(
3
)
(3)
(3) 的结果。可以应用更复杂的过滤器或窗口,而不是这种简单的调零。然后,将滤波后的信道脉冲数据转换回频域,整个过程如下图所示:

通过对所有四个阵列执行相同的过程,可以获得“估计信道系数阵列”的四个阵列。从这四个阵列中,可以按以下方式重建估计信道矩阵的阵列:

(2). 噪声的估计
使用上述方法估计的信道矩阵 H H H,利用以下公式估算每个点的噪声值。除了将 H H H 矩阵替换为“估计的 H H H”矩阵外,现在我们知道除噪声值以外的所有值。因此,通过插入所有已知值,我们可以在每个测量点估计噪声值。

如果将此方程式应用于所有测量点,将获得所有测量点的噪声值,并从这些计算出的噪声值中获得噪声的统计属性。正如前面所说,此处计算出的每个单独的噪声值没有太大意义,因为该值不能直接应用于解码其它信号(非参考信号),但是这些噪声的统计特性对于确定噪声而言可能是非常有用的信息。

4. Reference
[1] sharetechnote.com.
[2] Channel Estimation (Mathworks, LTE Toolbox).
[3] NR Synchronization Procedures.
[4] OFDM系统中的信道估计基础知识.
***note:在实际应用中如何使用此算法参考Ref[2]和[3]。