判决译码
在无ISI时,任意位置nnn上的一个符号InI_nIn,经过AWGN信道、匹配滤波器、采样后,得到符号YnY_{n}YnYn=In+nnY_{n}=I_{n}+n_{n}Yn=In+nn
- 其中,nnn_{n}nn为离散高斯白噪声
- 我们的目标:根据抽样结果(符号YnY_{n}Yn)来判决发射端的符号
问题建模
传输对信号有干扰,译码就是:已知观测结果Y\boldsymbol{Y}Y,从观测值估计参数X\boldsymbol{X}X,模型如下:Y=H{s(X)}+n\boldsymbol{Y}=H\{\boldsymbol{s}(\boldsymbol{X})\}+\boldsymbol{n}Y=H{s(X)}+n其意义是,对于参数X\boldsymbol{X}X(可包含多个参数),经函数sss处理后得到s(X)s(\boldsymbol{X})s(X),将其作为输入信号送入系统HHH,最终得到观测r\boldsymbol rr
注意,若有多次观测,则r\boldsymbol rr可以是一个向量(离散的),也可以是一个随机信号(连续的)即y(t)=s(t;X)+n(t)y(t)=s(t;\boldsymbol{X})+n(t)y(t)=s(t;X)+n(t)
下面将会介绍,MAP/ML/LS准则分别为:X^=argmaxXpX∣Y(X∣Y)X^=argmaxXpY∣X(Y∣X)X^=argmaxX∣Y−H{s(X)}∣2\begin{aligned} \hat{\boldsymbol{X}} &=\operatorname{arg} \max _{\boldsymbol{X}} p_{\boldsymbol{X} \mid \boldsymbol{Y}}(\boldsymbol{X} \mid \boldsymbol{Y}) \\ \hat{\boldsymbol{X}} &=\arg \max _{\boldsymbol{X}} p_{\boldsymbol{Y} \mid \boldsymbol{X}}(\boldsymbol{Y} \mid \boldsymbol{X}) \\ \hat{\boldsymbol{X}} &=\operatorname{arg} \max _{\boldsymbol{X}}|\boldsymbol{Y}-H\{s(\boldsymbol{X})\}|^{2} \end{aligned} X^X^X^=argXmaxpX∣Y(X∣Y)=argXmaxpY∣X(Y∣X)=argXmax∣Y−H{s(X)}∣2
两种典型的译码准则分别是最大后验概率准则MAP和最大似然准则ML
假设发出符号集XXX(原因),接收到符号集YYY(结果),下面译码的都是都是已知YYY求解XXX的问题
P(X)P(X)P(X)称为先验概率(未观测到结果YYY前,XXX的概率),P(X∣Y)P(X|Y)P(X∣Y)称为后验概率,P(Y∣X)P(Y|X)P(Y∣X)称为似然,这也是“最大后验概率”和“最大似然”的由来
最大后验概率准则MAP(Maximum A Posteriori Estimation) / 最小错误概率译码准则
收到符号YYY的条件下,译码为XXX,目标就是后验P(X∣Y)P(X|Y)P(X∣Y)的最大化
然而问题是,后验P(X∣Y)P(X|Y)P(X∣Y)常常难以求出
最大后验概率准则MAP利用了贝叶斯公式:P(X∣Y)=P(X)P(Y∣X)P(Y)P(X|Y)=\frac{P(X)P(Y|X)}{P(Y)}P(X∣Y)=P(Y)P(X)P(Y∣X)
分子上就是联合概率P(XY)=P(X)P(Y∣X)P(XY)=P(X)P(Y|X)P(XY)=P(X)P(Y∣X),而分母P(Y)P(Y)P(Y)与问题无关,可以忽略(我们正是要对每个YYY估计其对应的XXX)
由此,最大后验概率的问题转为求P(XY)=P(X)P(Y∣X)P(XY)=P(X)P(Y|X)P(XY)=P(X)P(Y∣X)最大化(相比直接求后验概率最大化,这更加可行)
MAP表明,求解最大后验 ⟺ \iff⟺求解最大的「似然×\times×先验」,即P(XY)=P(X)P(Y∣X)P(XY)=P(X)P(Y|X)P(XY)=P(X)P(Y∣X)
最大似然准则ML(Maximum Likelihood Estimation)
Likelihood的理解:Likelihood意为似然度 / 可能性
知道了结果是yjy_jyj,但不知道原因xix_ixi,那么就要寻找一个xix_ixi,它最贴近事实;
找到的xix_ixi是一个能最好描述已经发生事件的参数,“发xix_ixi收yjy_jyj”是最有可能发生的
再进一步,如果先验P(X)P(X)P(X)也是未知的,则MAP退化到求解「最大似然」ML
- 也就是说,MAP的P(X)P(Y∣X)P(X)P(Y|X)P(X)P(Y∣X)最大化,此时退化为ML的P(Y∣X)P(Y|X)P(Y∣X)最大化
要注意的是,仅当XXX等概时,ML的结果与MAP一致;XXX不等概则这样做一定会引入误差
这是容易理解的:
- 我们寻找原因XXX,使得当前的YYY最可能出现,当然需要综合考虑XXX本身出现的概率P(X)P(X)P(X)和已知某个XXX时得到YYY的概率P(Y∣X)P(Y|X)P(Y∣X),这是MAP的方法;
- 然而,ML忽略了XXX的分布,仅考虑已知某个XXX时得到YYY的概率P(Y∣X)P(Y|X)P(Y∣X),这种做法当然只有在XXX等概分布时才是合理的
ML是在寻找:什么样的输入 / 原因XXX,最有可能产生当前的观测数据 / 结果YYY,或者说为当前的事件结果YYY找一个原因XXX,保证当前发生的事件是概率最大的事件
小结:MAP与ML的对比
从思路上:
- MAP是知道结果YYY,反推原因XXX
寻找原因XXX,使P(X∣Y)P(X|Y)P(X∣Y)最大化⇒\Rightarrow⇒对每个YYY使P(XY)P(XY)P(XY)最大化⇒\Rightarrow⇒对每个YYY使P(X)p(Y∣X)P(X)p(Y|X)P(X)p(Y∣X)最大化 - ML是找出一个原因XXX,使事件最有可能发生
寻找原因XXX,(XXX等概时)使P(Y∣X)P(Y|X)P(Y∣X)最大化⇒\Rightarrow⇒然而XXX不等概时,应该使P(X)P(Y∣X)P(X)P(Y|X)P(X)P(Y∣X)最大化(XXX不等概时ML是错误的,应该重新回归到使用MAP准则上)
可见,ML是MAP的一个特例;当XXX等概分布时,MAP准则可以简化为ML准则
最小二乘准则/最小平方准则LS
对于模型Y=H{s(X)}+n\boldsymbol{Y}=H\{\boldsymbol{s}(\boldsymbol{X})\}+\boldsymbol{n}Y=H{s(X)}+n
- 当噪声n\boldsymbol{n}n为高斯分布时,最大似然准则ML等价于最小二乘准则LS;
- 当噪声不为高斯分布时,ML一般也没有简洁的解析表达式,可能仍然使用最小二乘准则LS,最然性能比会ML差
总之,最小二乘准则LS是应用最广的最优化准则
[最大似然准则ML 到 最小二乘准则LS的推导]
模型为:Y=H{s(X)}+n\boldsymbol{Y}=H\{\boldsymbol{s}(\boldsymbol{X})\}+\boldsymbol{n}Y=H{s(X)}+n假设噪声n∼N(0,σ2)\boldsymbol{n}\sim N(0,\sigma^2)n∼N(0,σ2),则已知参数X\boldsymbol XX后,观测信号y∼N(H{s(X)},σ2)\boldsymbol y\sim N(H\{s(\boldsymbol{X})\} ,\sigma^2)y∼N(H{s(X)},σ2),即条件概率pY∣X(Y∣X)=(12πσ)Ne−∣Y−H{s(X)}∣2/2σ2p_{\boldsymbol{Y} \mid \boldsymbol{X}}(\boldsymbol{Y} \mid \boldsymbol{X})=\left(\frac{1}{\sqrt{2 \pi} \sigma}\right)^{N} \mathrm{e}^{-|\boldsymbol{Y}-H\{s(\boldsymbol{X})\}|^{2} / 2 \sigma^{2}}pY∣X(Y∣X)=(2πσ1)Ne−∣Y−H{s(X)}∣2/2σ2忽略系数,定义似然函数Λ(X)\Lambda(\boldsymbol{X})Λ(X)为Λ(X)=exp{−∣Y−H{s(X)}∣2/2σ2}\Lambda(\boldsymbol{X})=\exp \left\{-|\boldsymbol{Y}-H\{s(\boldsymbol{X})\}|^{2} / 2 \sigma^{2}\right\}Λ(X)=exp{−∣Y−H{s(X)}∣2/2σ2}那么,最大似然准则ML要保证估计出的X^\hat{\boldsymbol X}X^使得pY∣X(Y∣X)p_{\boldsymbol{Y} \mid \boldsymbol{X}}(\boldsymbol{Y} \mid \boldsymbol{X})pY∣X(Y∣X)最大,等价于使得似然函数Λ(X)\Lambda(\boldsymbol{X})Λ(X)最大,又等价于使得损失函数L(X)=∣Y−H{s(X)}∣2L(\boldsymbol{X})=|\boldsymbol{Y}-H\{s(\boldsymbol{X})\}|^{2}L(X)=∣Y−H{s(X)}∣2最小,这就是最小二乘准则:X^=argmaxXL(X)=argmaxX∣Y−H{s(X)}∣2\hat{\boldsymbol{X}} =\operatorname{arg} \max _{\boldsymbol{X}}L(\boldsymbol{X})=\operatorname{arg} \max _{\boldsymbol{X}}|\boldsymbol{Y}-H\{s(\boldsymbol{X})\}|^{2}X^=argXmaxL(X)=argXmax∣Y−H{s(X)}∣2
最小距离准则
再进一步,在QAM中,星座点c∈Cc\in Cc∈C位于复平面上,记为复数InI_nIn
若接收信号经过匹配滤波器和采样后,得到符号YnY_nYn,且信道噪声为高斯的,那么LS准则写为I^n=argminc∈C∣Yn−c∣2\hat{I}_{n}=\arg \min _{c \in C}\left|Y_{n}-c\right|^{2}I^n=argc∈Cmin∣Yn−c∣2
在复平面上理解,这就是要使译码结果和接收符号的欧式距离最小,即最小距离准则
扩展:从平均错误译码概率的角度看MAP和ML
实际上,选取译码规则的原则是:确保译码正确的可能性最大,或者使平均错误译码概率最小
平均错误译码概率的推导
假设收到sss种可能码字之一的yjy_jyj,我们通过译码规则将其译码为F(yj)=x∗F(y_j)=x^*F(yj)=x∗,x∗x^*x∗是发射的所有可能码字中的一个
- 发射的码字就是x∗x^*x∗,则译码正确(译码得到了发出的码字);
- 发射的码字不是x∗x^*x∗,则译码错误;
收到一个码字yjy_jyj,错误译码的概率为p(error∣yj)=1−p[F(yj)∣yj]=1−p(x∗∣yj)p(error|y_j)=1-p[F(y_j)|y_j]=1-p(x^*|y_j)p(error∣yj)=1−p[F(yj)∣yj]=1−p(x∗∣yj)
对所有可能的接收码字yjy_jyj取期望,则平均错误译码概率为:
PE=∑j=1sp(yj)p(error∣yj)=1−∑j=1sp(yj)p(x∗∣yj)P_E=\sum_{j=1}^{s}p(y_j)p(error|y_j)=1-\sum_{j=1}^{s}p(y_j)p(x^*|y_j)PE=j=1∑sp(yj)p(error∣yj)=1−j=1∑sp(yj)p(x∗∣yj)
MAP和ML的目标都是选取译码规则F(yj)F(y_j)F(yj),使得错误概率PEP_EPE最小化;
也就是使正确概率∑j=1sp(yj)p(x∗∣yj)=∑j=1sp(x∗yj)\sum_{j=1}^{s}p(y_j)p(x^*|y_j)=\sum_{j=1}^{s}p(x^*y_j)∑j=1sp(yj)p(x∗∣yj)=∑j=1sp(x∗yj)最大化;
但对于每个yjy_jyj,MAP和ML使得p(x∗yj)p(x^*y_j)p(x∗yj)最大化的具体思路不同:
- MAP是将p(x∗yj)p(x^*y_j)p(x∗yj)最大化等价为:对于每个yjy_jyj,选择译码结果x∗x^*x∗,使得p(x∗∣yj)p(x^*|y_j)p(x∗∣yj)最大化(两者只是相差归一化倍数p(yj)p(y_j)p(yj))
平均错误译码概率PE=1−∑j=1sp(x∗yj)=1−∑j=1sp(yj)p(x∗∣yj)P_E=1-\sum_{j=1}^{s}p(x^*y_j)=1-\sum_{j=1}^{s}p(y_j)p(x^*|y_j)PE=1−∑j=1sp(x∗yj)=1−∑j=1sp(yj)p(x∗∣yj)
若译码结果为F(yj)=x∗F(y_j)=x^*F(yj)=x∗,为了保证收到yjy_jyj的条件下发出符号为x∗x^*x∗的概率最大
x∗x^*x∗应该满足:
p(x∗∣yj)≥p(xi∣yj),其中xi≠x∗p(x^*|y_j)\geq p(x_i|y_j),其中x_i\neq x^*p(x∗∣yj)≥p(xi∣yj),其中xi=x∗
具体操作:在条件概率矩阵FX∣YF_{X|Y}FX∣Y(或联合概率矩阵FXYF_{XY}FXY)的每一列中(对应一个yjy_jyj),选择概率最大项对应的xix_ixi作为译码输出
- ML是将p(x∗yj)p(x^*y_j)p(x∗yj)最大化等价为:对于每个yjy_jyj,选择译码结果x∗x^*x∗,使得p(x∗)p(yj∣x∗)p(x^*)p(y_j|x^*)p(x∗)p(yj∣x∗)最大化
⇒\Rightarrow⇒当xix_ixi等概时进一步简化为使p(yj∣x∗)p(y_j|x^*)p(yj∣x∗)最大化
平均错误译码概率PE=1−∑j=1sp(x∗yj)=1−∑j=1sp(x∗)p(yj∣x∗)P_E=1-\sum_{j=1}^{s}p(x^*y_j)=1-\sum_{j=1}^{s}p(x^*)p(y_j|x^*)PE=1−∑j=1sp(x∗yj)=1−∑j=1sp(x∗)p(yj∣x∗)
若译码结果为F(yj)=x∗F(y_j)=x^*F(yj)=x∗,为了保证发射x∗x^*x∗并且收到yjy_jyj的概率最大
x∗x^*x∗应该满足:
p(x∗)p(yj∣x∗)≥p(xi)p(yj∣xi),其中xi≠x∗p(x^*)p(y_j|x^*)\geq p(x_i)p(y_j|x_i),其中x_i\neq x^*p(x∗)p(yj∣x∗)≥p(xi)p(yj∣xi),其中xi=x∗
当发射符号xix_ixi等概率出现时,上式简化为:
p(yj∣x∗)≥p(yj∣xi),其中xi,x∗∈符号集X且xi≠x∗p(y_j|x^*)\geq p(y_j|x_i),其中x_i,x^*\in 符号集X且x_i\neq x^*p(yj∣x∗)≥p(yj∣xi),其中xi,x∗∈符号集X且xi=x∗
(注意,后一个简化后的形式才是我们上面所说的“真正的”ML准则)
具体操作:在联合概率矩阵FXYF_{XY}FXY(或xix_ixi等概时,在转移概率矩阵FY∣XF_{Y|X}FY∣X)的每一列中(对应一个yjy_jyj),选择概率最大项对应的xix_ixi作为译码输出
总结
- 实际应用中,如果给出了完整的分布信息FXYF_{XY}FXY或FX∣YF_{X|Y}FX∣Y,MAP准则是最通用的方法,因为MAP的p(x∗∣yj)p(x^*|y_j)p(x∗∣yj)最大化,等价于p(x∗yj)p(x^*y_j)p(x∗yj)最大化
- 然而,大部分情况下仅知道转移概率矩阵FY∣XF_{Y|X}FY∣X,则使用ML准则更方便,但前提是假定发射符号等概,此时ML的p(yj∣x∗)p(y_j|x^*)p(yj∣x∗)最大化,才能等价于p(x∗yj)p(x^*y_j)p(x∗yj)最大化
- 进一步的,当噪声为高斯分布,ML等价于LS,并且在非高斯分布下也常采用LS,这是应用最广泛的准则
Turbo码译码的理论基础,就是MAP准则,它将接收信号分为多个部分,从一部分接收信号中获取的后验概率,可以作为另一部分的先验概率,各个部分互相提供先验概率信息,最终完成迭代译码
需要注意,具体应用这些译码准则时,带入公式时需要注意变量XXX和YYY的取值是否连续
- 若XXX和YYY为取值连续的变量,例如做ML估计,列出式子X^=argmaxXpY∣X(Y∣X)\hat{\boldsymbol{X}} =\arg \max _{\boldsymbol{X}} p_{\boldsymbol{Y} \mid \boldsymbol{X}}(\boldsymbol{Y} \mid \boldsymbol{X})X^=argmaxXpY∣X(Y∣X)后,式中pY∣X(Y∣X)p_{\boldsymbol{Y} \mid \boldsymbol{X}}(\boldsymbol{Y} \mid \boldsymbol{X})pY∣X(Y∣X)是一个概率密度,为了使之最大,应该对X\boldsymbol{X}X求导数;
- 若若XXX和YYY为取值离散的变量,整体表达式形式不变,但是其中概率密度要换成概率值X^=argmaxXPY∣X(Y∣X)\hat{\boldsymbol{X}} =\arg \max _{\boldsymbol{X}} P_{\boldsymbol{Y} \mid \boldsymbol{X}}(\boldsymbol{Y} \mid \boldsymbol{X})X^=argmaxXPY∣X(Y∣X),并且求最大值无法求导,而是需要穷举X\boldsymbol{X}X求最大值