胡承昊,王海斌,台玉朋,汪俊
(1.中国科学院声学研究所 声场声信息国家重点实验室,北京 100190;2.中国科学院大学,北京 100049)
根据香农信源信道分离定理[1],传统水声通信系统中信源译码和信道译码是分别独立设计的。该定理假设系统对译码时延和译码复杂度没有限制,这在水声通信的实际应用中难以得到满足。此外,水声通信实际发送的信源符号间通常具有相关性,这种相关性导致的信源冗余难以通过传统信源压缩编码有效去除。同时,由于受到复杂且时空变化的多途效应等影响,如何保证水声通信的可靠性一直是该领域的难题。为此,本文探索利用信源符号间相关性进一步提高水声通信可靠性的方法。
传统的信源信道联合译码方法(joint source-channel decoding, JSCD)主要有2类:基于网格的JSCD方法[2-3]和迭代形式的JSCD方法[4-6]。这2类方法能利用信源符号间相关性抵抗通信误码,有效降低了系统的误码率。然而,上述2类方法的复杂度与信源符号集合大小的平方成正比,对于多数信源,此类方法复杂度过高,难以实际应用。如何构建具有实用意义的JSCD方法成为了亟需解决的问题。
为克服水声信道多途效应导致的码间串扰,文献[7-8]提出了一种联合均衡译码方法(joint equalization and channel decoding,JECD),在线性复杂度下实现了信道均衡和信道译码的联合优化,在实测条件下取得了较优的均衡译码性能。JECD方法的提出也为实现低复杂度信源信道联合译码方法提供了解决思路。
本文在JECD方法的基础上,提出了一种信源信道联合均衡译码方法(joint equalization and source-channel decoding, JESCD)。该方法在水声多途信道模型下综合信源转移概率和信道转移概率计算统一的译码度量,实现了信源译码、信道译码和信道均衡三者的联合优化,有效利用信源符号间相关性抵抗通信误码和多途衰落;同时,该方法具有线性复杂度,有效解决了传统JSCD方法复杂度高的难题,具有较高的实用价值。
图1给出了JESCD方法的通信系统框图。发送端,信源序列S经定长信源编码得到信息序列C。信息序列经信道编码得到编码符号序列X并发送至水声信道。接收端接收符号序列R=X*h+W,其中,h为信道冲激响应,W是均值为0,方差为σ2的高斯白噪声。信源信道联合均衡译码器采用树型结构进行译码,对所有可能的信息序列重现编码过程,得到各路径对应的信息序列C′和编码符号序列X′。C′和X′分别经过信源译码和接收序列估计后,利用信源先验信息和接收符号序列计算统一的译码后验概率,实现最大后验概率信源信道联合均衡译码。
图1 JESCD方法的通信系统框图Fig.1 The communication system of the JESCD algorithm
信道编码可采用递归混沌全息码、Spinal码等无速率编码,本文采用Spinal编码[9]进行说明,其具体原理如图2所示。编码器将待发送信息序列等长地划分为D个信息片段md,d=1,2,…,D。通过哈希函数递归地生成各信息片段对应的种子td。利用种子td驱动随机映射器递归地生成一系列编码符号xd,e。通常将每次利用随机映射器生成的D个编码符号(x1,e,x2,e,…,xD,e)称为一帧。
图2 Spinal编码原理Fig.2 Spinal encoding principle
Spinal编码作为一种无码率信道编码方式,可以生成任意多的编码符号。编码符号通常先经过发送顺序规划划分为多个子帧,再逐子帧发送至水声信道。当发送少量子帧无法成功通信时,可以通过发送更多子帧实现可靠通信。本文采用的发送顺序规划方案为将每一帧编码符号等间隔地划分为Q个子帧[7],其中,第p帧中第q子帧的编码符号序列为Xq,p=(xQ-q+1,p,x2Q-q+1,p,…,xD-q+1,p),q=1,2,…,Q。
将译码看作一个序列估计过程。采用最大后验概率准则译码:
(1)
序列后验概率可等价地表示为:
P[R|X(S′)]P(S′)
式中:X(S′)为发送信源序列S′时所对应的编码符号序列。由于信源序列和编码符号序列一一对应,因此有P[X(S′)]=P(S′)。采用定长信源编码时,P(R)对译码没有影响,可以忽略。
最大后验概率译码从所有可能信息序列中选择后验概率最大的作为译码结果,因此,可采用后验概率的对数作为译码度量。同时,为了表示信源符号间的相关性,将信源建模为一阶马尔可夫模型,则译码度量可表示为:
M=Mchannel+Msource=logP[R|X(S′)]+
(2)
式中s′k为信源序列S′中的第k个元素。
在水声信道下,期望接收符号序列可表示为编码符号序列与信道冲激响应的卷积。同时,在水声通信的实际应用中,由于发射、接收平台的机动以及海流等环境因素的影响,接收信号的多普勒频移等也会随时间发生变化,造成接收信号载波相位漂移,使水声通信系统性能下降。为解决水声通信载波相位跟踪问题,本文采用二阶数字锁相环跟踪载波相位的变化[10]。因此,期望接收符号可表示为:
(3)
若信道冲激响应和载波相位的估计不存在误差,且噪声满足方差为σ2的高斯分布,则信道转移度量可近似地表示为:
然而,实际应用中信道冲激响应和载波相位估计的结果往往存在偏差,信道转移度量的可信度远低于理想情况,为此,引入参数α来调节信道转移度量在译码度量中所占比重,此时,译码度量可表示为:
(4)
为了计算所有可能信息序列的译码度量,利用树型结构表示所有可能的编码情况。假设编码器中每个信息片段的长度为gbit,则译码树中每个节点均可扩展出2g条分支,分别对应当前信息片段所有可能的取值。利用与发送端相同的方法可以得到每个分支对应的编码符号序列X′和信息序列C′,对信息序列进行信源译码可得其对应的信源序列S′。此时,利用式(3)、(4)即可得各分支所对应的译码度量。如此逐信息片段地构建译码树,直到将全部D个信息片段构建完成,最终选择译码度量最大的信息序列作为译码结果。
为了跟踪信道冲激响应和载波相位随时间的变化,在译码过程中采用式(5)、(6)对信道冲激响应和载波相位估计结果自适应更新:
(5)
(6)
式中:μ、Kθ1和Kθ2为自适应更新步长;Φn为鉴相器的等效输出。
完整的译码树共包含2gD=2Lc条路径,这导致译码复杂度随发送信息序列的长度指数增长,难以实际应用。本文借鉴文献[7]中删减树算法的思想,利用Spinal信道编码码间距离大的特性,在译码过程中,只需搜索部分信源序列即可达到接近最大后验概率译码的性能。因此,在译码树扩展过程中,每层仅保留译码度量最大的B条路径继续向下扩展,其余路径则被删除。这种译码方式限制了译码所需遍历的信源符号数量,使算法复杂度与信源符号集合大小无关。利用删减树算法,所提方法共需要O(BN2g)次哈希运算、O(BN(L+1)2g)次加法和乘法运算以及O(BK2g)次信源译码,算法复杂度随码长、信道响应长度和发送信源序列长度线性增长,有效解决了传统JSCD方法复杂度高,难以实用的问题,具有较高的实用价值。
为考察所提方法的译码性能,对文字指令传输情况进行仿真,仿真所用信源集合共包含256个信源符号,定长信源编码码长为8 bit,编码器中各信息片段长度g=1,符号发送顺序规划中将每一帧编码符号划分为4个子帧,调制方式为64-PSK。仿真过程中令B=1 024。本文基于实际文字指令传输中信源符号间相关性的统计结果,选取3种典型的信源进行仿真,其对应的发送信源序列中各符号先验概率如表1所示,其中,信源S1符号间相关性最弱,S3符号间相关性最强。
表1 仿真信源先验信息
利用BELLHOP模型生成一种典型深海水声信道。仿真环境中,平均海深为5 503 m,发射深度为110 m,接收深度为120 m,收发距离为90 km。信道冲激响应如图3所示。
对利用信源S3的JESCD方法在不同α取值时的误码率进行仿真,结果如图4所示,其中码率为2/3和1/6时的仿真输入信噪比分别为7 dB和2 dB。可见,α取值过大或过小均会使误码率增大,当α在0.1附近时可达到最优的误码率性能。对于信源S1和S2可得到相近的结果,因此,在本文的后续研究中选择经验参数α=0.1。
图3 信道冲激响应Fig.3 The channel response
图4 不同α下的误码率Fig.4 The bit error rate under different α
图5展示了码率为2/3和1/6时的误码率仿真结果。由图5(a)可见,对于码率为2/3的情况,采用JESCD方法可将系统误码率达到10-3所需输入信噪比由传统JECD方法的21 dB降低至7 dB。而对于图5(b)中码率较低的情况,采用JESCD方法可将系统误码率达到10-3所需输入信噪比由传统JECD方法的5.6 dB降低至2.2 dB。可见,所提方法能够利用信源符号间相关性提高系统的误码率性能,且信源符号间相关性越强,JESCD的误码率性能越好。此外,当码率较高时,译码器收到来自信道的信息较少,信源转移度量在译码度量中所占比例较高,JESCD的性能提升更为明显。
图5 误码率仿真结果Fig.5 The simulation results of the bit error rate
为了进一步验证所提方法在实际水声信道下的有效性,中科院声学所开展了一次深海水声通信实验。实验海区平均海深约为5 512 m,声源平均深度约为106 m,声源级约为186 dB。实验过程中,发射船携拖曳声源由近及远进行拉距发信,船速约4 kn。接收端采用垂直阵中的单个阵元接收信号进行数据处理,图6为实验示意图。实验中,通信范围在6~85 km,涵盖了直达声区、第1影区和第1会聚区。由于采用连续拉距发射,各接收信号的信噪比存在起伏,最大可相差34.5 dB。
图6 海上实验示意Fig.6 The experimental configuration
实验发射信号调制方式为32-PSK,最高通信速率为450 bit/s,最低为15.5 bit/s。编码方面,定长信源编码码长为16 bit,编码器中各信息片段长度g=1。实验发送信源序列中各符号先验概率如表2所示。
分别利用JECD方法和JESCD方法对接收深度141 m的阵元接收信号进行译码,统计不同通信速率时的误码率。图7(a)为直达声区和会聚区接收信号的误码率统计结果,图7(b)为声影区接收信号的误码率统计结果,其中,直达声区和会聚区内接收信噪比为6.9~27.5 dB,声影区内接收信噪比为-7~3.1 dB。译码过程中信道冲激响应和载波相位估计参数为μ=0.2、Kθ1=0.1、Kθ2=0.000 1,译码树宽度B=4 096,经验参数α=0.1。
表2 实验信源先验信息
图7 不同通信速率下的误码率统计结果Fig.7 The bit error rate at different communication rates
由实验结果可见,JESCD方法在各种通信速率下的误码率性能均优于传统JECD方法。
1) 对于直达声区和会聚区内的接收信号,当通信速率为225 bit/s时,JECD方法的误码率为1.7×10-1,而JESCD方法可以实现无误码。
2) 对于深海声影区内的接收信号,在声源级为186 dB,采用单阵元接收的情况下,JESCD方法能够实现通信速率32.1 bit/s的影区无误码通信,而此时传统JECD方法的误码率为1.1×10-1,甚至当通信速率降低至15.5 bit/s时误码率仍为2.5×10-2。可见,所提方法相比传统JECD方法可显著提高水声通信系统的可靠性。
1)本文提出的信源信道联合均衡译码方法将传统通信系统中分别独立设计的信源译码、信道译码和信道均衡3个模块联合优化,利用信源符号间相关性抵抗通信误码,能够显著提高水声通信系统的可靠性。
2) 采用删减树算法限制了所提方法译码所需遍历的信源符号数量,使其具有线性算法复杂度,有效解决了传统JSCD方法复杂度高的问题,具有较高的实际应用价值。
在后续研究中,一方面考虑继续细化分析水声通信噪声分布和信道估计残差对信道转移度量计算的影响,进一步优化译码度量的模型;另一方面进一步优化信源符号间相关性的建模与提取方法,提高信源符号间相关性的利用效率。