水声通信实验教学平台的设计及实现
2019-06-03刘胜兴
刘胜兴
(厦门大学 海洋与地球学院,福建 厦门361102)
一、引言
水声学是理论和应用性都很强的一门学科,如何培养学生的学习积极性和实践动手能力是水声教育工作者面临的一个重要挑战。传统的“水声学实验”课程主要包括声速测量、声波在海水中的衰减、换能器声阻抗、发射响应和指向性测量等。总体来看,“水声学实验”课程实验数量,尤其综合应用实验偏少,急需构建一些新的实验平台和方法。
水声通信属于水声学范畴下的一个重要应用分支,在海洋科学研究,海水污染监测、海底资源勘探、水下AUV导航和定位等许多方面都体现了重要的应用价值[1-3]。近几十年来,水声通信取得了快速发展,无线电通信中的许多先进技术,包括自适应信道均衡和估计、信道纠错编码、多载波通信和时空分集技术等都被应用于水声信道,并在海上试验中取得了很好的通信效果。目前,市场上出现各种不同通信方式和速率的水声Modem,如LinkQuest公司生产的UWM系列水声Modem、Benthos公司生产的ATM 910系列水声Modem等。厦门大学在水声通信和应用方面也取得了重要研究进展,成功研制出多种水声Modem、水声数字语音通信系统和水下图像传输系统[4-8]。将这些先进的科研成果进行简化、改进和综合,构建出一套水声通信实验教学系统,不仅可以扩展“水声学实验”课程的实验手段和条件,还可以加深学生对通信原理、数字信号处理、水声换能器和水声学等海洋物理核心课程的理解,进一步提高学生的专业兴趣和学习动力。
本文基于水声通信基本原理,结合水声通信的最新研究进展和“水声学实验”课程的现有教学条件,构建了一种以PC电脑为处理核心,声卡为输入输出设备的水声通信教学平台。
二、水声通信原理
早期的水声通信系统主要采用模拟调制方式,存在尺寸较大、功率利用效率较低和容易串扰等缺陷[9]。目前的水声通信系统大多采用数字通信方式,根据调制方式不同,可以分成频移键控(FSK)、相移键控(PSK)和正交频分复用多载波调制(OFDM)等三种。FSK调制方式通常跟载波频率跳变技术相结合,构成FH-MFSK调制方式,发射端根据跳频图案选择载波频率,采用FSK调制方式将数字信号转化为模拟信号;接收端采用快速傅立叶变换(FFT)进行频率识别,并根据跳频图案进行数据恢复[10]。PSK调制方式根据待传送的数据改变载波的相位,接收端通常采用二阶数字锁相和判决反馈均衡技术进行解调[11]。OFDM多载波调制方式将载波分成N个相互正交的子载波,通过延长每个OFDM符号的周期和插入循环前缀等技术来缓解水声信道的多途干扰[12]。OFDM通信接收端通常采用FFT变换进行解调。除FH-MFSK调制水声通信系统外,水声信道估计和均衡是水声通信系统的最为关键的技术之一。由于声波在海水中的传播速度约为1500 m/s,远远小于光波在空气中的传播速度,因此,水声信道的多途干扰相对更复杂,其主要特征为多途时延长,一般在几毫秒到几十毫秒之间,特殊海洋条件下可达几百,甚至几千毫秒。水声信道估计和均衡算法主要有最小均方算法和正交匹配追踪压缩感知算法等[13-14]。
图1 水声通信系统原理框图
图1为水声通信系统的原理框图。分发射和接收系统两部分:发射系统主要由信道编码、调制和功率放大等三部分组成;接收系统主要由前置放大、解调、信道编码等三部分组成。由于水声信道存在严重的多途干扰,发射的声信号功率有限,声波在海水介质中的传播损失又较大,因此,接收信号的信噪比较低,需要进行信道纠错编码才能将误比特率降至应用需求,如在语音通信中的10-3,文本、指令等的10-5等。本文所研制水声通信系统涉及的主要方法或技术有帧同步、调制/解调、信道编码和信道均衡等。
1.帧同步
同步是获得可靠水声通信的关键技术之一,包括帧同步、载波同步、位同步和网络同步等。本文所研制的水声通信通信系统只需要进行帧同步,方法是在每一帧信号前都插入一段线性调频 (linear frequency modulation,LFM)信号,接收机用本地拷贝LFM信号对输入信号作相关处理,通过比较相关峰值与预设阈值的大小来确定是否有同步信号到达。若相关峰值大于阈值,则有同步信号到达,系统进入解调和信道解码处理,若相关峰值小于阈值,则没有同步信号到达,系统继续做相关处理。LFM信号的时间长度设置为20 ms,可确保系统在频率选择性衰落严重水声信道中的有效性。
在每一帧信号后也插入一段LFM信号,接收机通过测量两段LFM信号之间的时间变化来估计多普勒频移动。设发射信号中两段LFM信号之间的时间差为T,接收信号中两段LFM信号之间的时间差为T′,则相对多普勒移β为:
接收机根据相对多普勒频移,采用线性插值方法进行补偿。
2.调制/解调
所构建水声通信系统采用FH-MFSK调制和OFDM多载波调制两种通信方式。FH-MFSK调制方式相对较简单,发送端根据跳频图案选择发送信号的频率,接收端采用快速傅立叶变换(FFT)进行鉴频,并根据跳频图案进行解跳。OFDM多载波调制方式的主要优点是频带利用效率高,能在带宽十分有限的水声信道中获得高速通信。另外,OFDM系统的抗多途干扰能力较强,通过延长每个OFDM符号周期和插入循环前缀等措施抑制长时延的多途干扰。OFDM系统的缺点是峰均比高,受多普勒频移的影响相对较大,在时变水声信道中会产生子载波间的干扰,影响通信系统的误比特率。
水声OFDM通信系统的调制和解调过程分别如图2和3所示。由图2可见,OFDM调制过程主要包括串/并转换、数据-符号映射和IFFT变换等3个步骤。系统采用IFFT变换实现发送符号向发射信号的转换,具有快速有效,便于软件实现等优点。由图3可见,OFDM解调过程与调制过程刚好相反,主要包括FFT变换、符号-数据映射和并/串转换等3个步骤。
图2 水声OFDM调制过程
图3 水声OFDM解调过程
3.信道编码
信道编码亦称差错控制编码,即在发送的数据中插入冗余信息,接收端通过这些冗余信息将传输过程中可能出错的数据正确地恢复出来。信道编码包括分线性分组码和非分组码等两种,前者如汉明码、循环码和低密度奇偶校验(LDPC)码等,后者如卷积码和Turbo码等。本文构建的水声通信系采用Turbo码进行信道编码。Turbo码的两个分量编码器采用完全相同的递归系统卷积码,编码过程简述如下:①信息序列通过第一个分量编码器编码后输出校验序列,经信道交织后通过第二个分量编码器编码输出校验序列;②根据设定的码率对校验序列进行删余,得到校验序列;③将信息序列和校验序列复用后输出编码序列。在Turbo码的编码过程中,交织器的作用是实现信息序列的顺序重置,若信息序列经过第一个编码器编码后的码字重量较低,则经交织器交织后的信息经过第二个分量编码器后输出高重量码字。可以大大提高码字的自由距离。另外,交织器还可大大降低两个校验序列之间的相关性,使得Turbo码获得近似随机编码。Turbo码的性能与交织器密切相关,在实际应用中可采用随机交织方式以提高编码性能。
Turbo码能获得优异性能的主要原因是采用了迭代译码结构,如图4所示。由图4可见,Turbo码译码器由两个软输入软输出(SISO)分量译码器构成,分别对应两个分量编码器。在迭代译码过程中,分量译码器1译码输出由三部分信息之和的形式表示,即:
图4 Turbo码译码结构
Turbo码的译码算法主要有最大后验概率算法、对数形式的最大后验概率算法和软输入软输出Veterbi(SOVA)算法等。最大后验概率算法性能最优,但计算量最大,非常复杂,SOVA算法根据编码格图寻找一条最优路径,并对这条路径上的信息做出最优估计,性能相对较差。SOVA算法的主要优点是算法复杂度低,容易在各种处理器,包括普通PC、DSP和嵌入式CPU中实时实现。
4.信道估计和均衡
设水声通信系统的总有效带宽为B,其被分成K个子信道,则IFFT变换后的发射信号为:
其中,fc为载波频率;T为OFDM符号周期;Tg为插入的保护间隔;s(k)为发送符号序列。
若水声信道的冲击响应为:
其中,Al和τl分别为第l条路径的增益和时延。则接收信号 y(t)为:
其中,w(t)为高斯噪声信号。对上式作FFT变换,得:
其中,z=[z(0),z(1),…,z(K-1)]T为接收序列;s=[s(0),s(1),…,s(K-1)]T为发送序列;v=[v(0),v(1),…,v(K-1)]T为高斯噪声序列;H为水声信道的传输矩阵,若水声信道的传输矩阵H已知,则由式(6)可得发送序列的最佳估计 ŝ(k)。
实际工程应用中,水声信道的传输矩阵H通常未知,因此,首先应对其进行估计。方法是在子信道中随机插入一定数量的导频,通信接收机利用该导频先估计出信道的冲击响应h(t),然后再利用式(6)求出信道的转移函数H。本文采用正交匹配追踪 (OMP:Orthogonal Matching Pursuit)算法进行水声信道估计,主要步骤为[15]:
(1)初始化
残差r0=z,索引集S0=,迭代次数j=0
(2)迭代
步骤 i:根据(7)式优化规则确定索引 sj(j=1,2,…)。
其中,wm为矩阵W的第m列向量。
步骤 ii:更新索引集 Sj=Sj-1∪{sj}。
其中,Wsj为 N×j矩阵。
步骤iv:新的近似和残差计算
若rj的均方值小于某阈值,则终止并输出估计结果;否则转步骤v。
步骤 v:若 j<J,其中 J 为最大迭代次数,转步骤 i,否则终止并输出估计结果。
(3)输出
三、水声通信实验教学系统
水声通信发射和接收系统的所有算法都在PC电脑中通过Visual Studio C++编程实现,模拟信号的输入输出都通过电脑上的声卡来完成。发射和接收系统属于同一软件,即一个软件系统即可发射,也可接收,但在任意时刻仅处于发射或接收状态之一。为确保系统稳定可靠,发射和接收系统分别安排不同的线程。
1.发射系统
发射系统的硬件部分如图5所示,主要由普通PC电脑、声卡、功率放大器和发射换能器等四部分组成。电脑上完成的操作或算法包括待发送数据的读入,信道编码,符号映射和调制等。调制后生成的数字音频信号通过“waveOutWrite()”函数写入声卡,声卡根据预先设置的采样频率将数字信号转换为模拟信号,并输出至功率放大器。经功率放大后的信号激励水声换能器发射声波。为确保系统采用OFDM多载波调制方式时的信号不失真,功率放大器应采用线性功放,频率范围DC~100 kHz即可。水声换能器采用圆管型压电陶瓷换能器,目前可提供两种选择,一种频率范围在13-18 kHz,另外一种频率范围在22-30 kHz之间。
图5 水声通信发射系统
Waveout是Windows提供的数字音频输出应用接口程序,通过该接口输出音频主要包括如下步骤:①打开音频输出,通过调用waveOutOpen()函数打开一个音频输出流,调用该函数时,需指明音频输出格式和采样频率等信息;②写音频头,通过调用waveOutPrepareHeader()函数完成;③写音频数据,通过调用waveOutWrite()函数完成。为确保音频数据输出的连续性,设计中考虑每一帧数据调用一次waveOutWrite()函数。数据写完后通过回调函数通知发送线程写入新的一帧数据。
2.接收系统
接收系统的硬件部分如图6所示,主要由水听器、放大滤波器、声卡和普通PC电脑等四部分组成。水听器采用球形水听器,在DC~100 kHz范围接收响应平坦,负责接收来自发射换能器的声信号。声信号经放大滤波后通过声卡输入至电脑。电脑上完成的操作或算法主要包括:待处理水声信号的读入、同步,信道估计和均衡、解调,信道解码,数据显示和保存等。
图6 水声通信接收系统
声卡采集到的音频数据通过Windows提供的应用程序接口WaveIn输入,主要步骤为:①打开音频输入,通过调用waveInOpen()函数打开一个音频输入流,需要明确指明输入音频格式和采样频率等;②添加输入缓存,通过调用 waveInPrepareHeader()和 waveInAddBuffer()函数完成;③开始输入,调用 waveInStart()函数启动音频数据的输入。当添加的缓存数据满时,回调函数通知音频输入处理线程取出数据。
3.操作界面
水声通信系统的操作界面如图7所示。主要功能包括:系统通信方式的设置,待传输文件的读入、发送,接收数据的保存、清除,水声信道冲击响应的测试等。系统目前提供FH-4FSK和OFDM多载波两种通信方式。信道编码方式包括:无编码、Turbo码(硬)、Turbo码(软)和LDPC码等四种。Turbo码(硬)指信息经硬判后再输入译码器;Turbo码(软)指译码算法采用软输入、软输出的Vitebi算法,即SOVA算法[16]。系统采用4FSK调制方式时,其码元周期可选择1、2、4和8 ms等四种,可让学生充分了解符号码元周期对通信误比特率的影响。系统的操作界面直观简单,未经训练的学生五分钟便可学会使用,可以让学生在暂短的3个课时内就熟悉和理解水声跳频通信和OFDM多载波调制通信的基本原理,直观感受到水声信道多途的复杂性。
图7 水声通信系统操作界面
四、结束语
将水声通信技术应用于实验教学,为“水声学实验”的教学提供了新的平台和空间,丰富了教学的内容和形式。实验平台直观简单、易操作,弥补了水声学和通信理论的抽象性。通过该实验教学平台,学生不仅能直接了解水声通信的全过程,还可加深对通信原理、水声学和水声换能器等课程的理解。有助于培养学生的实践动手能力,激发他们的学习积极性和创造性思维。