本文介绍了射线声学理论,从理论方面分析水声信道模型,并用Matlab脚本编程实现BELLHOP模型,完成了水下声信道的建模,模拟真实海洋环境对声波信号产生的噪声以及多径干扰,以获取复杂环境背景下的水声信号。且利用FPGA编写RTL代码,用硬件的方式实现了LMS自适应滤波器。最后在Modelsim仿真平台上验证设计的滤波器对水声信道均衡的效果,结果显示LMS自适应滤波器能较好地消除信号中噪声以及多径干扰造成的影响,为水声通信工程实现中的信道均衡问题提供了一种简便的解决方法。 This paper introduces the theory of ray acoustics, analyzes the underwater acoustic channel model from the theoretical perspective, realizes the BELLHOP model with Matlab script programming, completes the underwater acoustic channel modeling, simulates the noise and multipath interference generated by the real ocean environment to acoustic signals, in order to obtain underwater acoustic signals under the complex environmental background. The RTL code is written by FPGA, and the LMS adaptive filter is implemented by hardware. Finally, the effect of the designed filter on underwater acoustic channel equalization is verified on the Modelsim simulation platform. The results show that the LMS adaptive filter can better eliminate the influence caused by noise and multipath interference in the signal, which provides a simple solution to the channel equalization problem in underwater acoustic communication engineering.
本文介绍了射线声学理论,从理论方面分析水声信道模型,并用Matlab脚本编程实现BELLHOP模型,完成了水下声信道的建模,模拟真实海洋环境对声波信号产生的噪声以及多径干扰,以获取复杂环境背景下的水声信号。且利用FPGA编写RTL代码,用硬件的方式实现了LMS自适应滤波器。最后在Modelsim仿真平台上验证设计的滤波器对水声信道均衡的效果,结果显示LMS自适应滤波器能较好地消除信号中噪声以及多径干扰造成的影响,为水声通信工程实现中的信道均衡问题提供了一种简便的解决方法。
水声信道仿真,LMS自适应滤波,BELLHOP模型,FPGA
Haobin Qi, Yuguo Sun*
University of Shanghai for Science and Technology, Shanghai
Received: Oct. 23rd, 2022; accepted: Nov. 21st, 2022; published: Nov. 28th, 2022
This paper introduces the theory of ray acoustics, analyzes the underwater acoustic channel model from the theoretical perspective, realizes the BELLHOP model with Matlab script programming, completes the underwater acoustic channel modeling, simulates the noise and multipath interference generated by the real ocean environment to acoustic signals, in order to obtain underwater acoustic signals under the complex environmental background. The RTL code is written by FPGA, and the LMS adaptive filter is implemented by hardware. Finally, the effect of the designed filter on underwater acoustic channel equalization is verified on the Modelsim simulation platform. The results show that the LMS adaptive filter can better eliminate the influence caused by noise and multipath interference in the signal, which provides a simple solution to the channel equalization problem in underwater acoustic communication engineering.
Keywords:Underwater Acoustic Channel Simulation, LMS Adaptive Filtering, BELLHOP Model, FPGA
Copyright © 2022 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
水声信道是目前难度最大的无线通信信道之一 [
本文将在FPGA上搭建基于LMS算法的自适应滤波器,并利用BELLHOP模型对水声信道进行建模,模拟真实海况对水声信号的影响。最后将经过水声信道模型的信号作为均衡器的输入,分析LMS自适应滤波器在水声信道均衡中的性能。
通常可将水声信道看作一个线性、随机时变的滤波器,该滤波器的冲击响应为h(p, t, f),其中p为位置参数,t为时间,f为频率。因此,接收信号可表示为发送信号与信道响应的卷积 [
r ( p , t , f ) = s ( p , t , f ) ∗ h ( p , t , f ) = ∫ − ∞ t s ( p , τ , f ) h ( p , t − τ , f ) d τ (1)
要获取水声信道的具体参数,需要从声场模型来分析,一般常用的声场模型有射线理论模型、简正波模型、多途扩展模型、快速场模型、抛物线方程模型等五种 [
在高频情况下,可将声波的传输过程看作一束拥有N条与等相位面垂直的射线形成的传播,高频条件指的是 [
f > 10 × c z (2)
其中f为声波频率,c为水下声速,z为声源深度。本文在仿真过程中选取的声源深度为50 m,在此深度下,声速约为1500 m/s,由此可计算出下限频率约为300 Hz,而选用的载波频率为35 kHz和30 kHz,满足该高频条件,故可基于射线理论模型对水声信道进行建模。
在理想均匀介质中,声波的波动方程为 [
∇ 2 p = 1 c 2 ∂ 2 p ∂ t 2 (3)
其中 ∇ 2 为拉普拉斯算子,p为势函数,c为声速。在稳态声场中,波动方程可简化为与时间无关的形式:
∇ 2 p + k 2 p = 0 (4)
式(4)即为亥姆霍兹(Helmholtz)方程,其中 k = ω / c = 2 π / λ 是波数, λ 为波长, ω 为声源角频率,射线声学理论是一定条件下对此方程的近似求解。
射线模型通过两个方程来确定声场的路径和强度,对于简谐过程的波动方程:
∇ 2 p + k 0 2 n 2 ( x , y , z ) p = 0 (5)
其中 k 0 为参考点波数,n为与环境有关的折射率。假设其解得形式为:
p = A ( x , y , z ) e j k 0 S ( x , y , z ) (6)
其中A为声压幅度函数,S为相位函数。将式(6)代入式(5)可得
( ∇ S ) 2 − ∇ 2 A A k 0 − n 2 = 0 (7)
( ∇ S ) 2 + 2 ( ∇ S ⋅ ∇ A ) A = 0 (8)
当满足 ∇ 2 A A k 0 ≪ n 2 ,即在一个波长内声速变化不大的条件时,式(7)中第二项可以省略,如此便得到:
( ∇ S ) 2 = n 2 (9)
式(9)称为程函方程,确定了声线的方向,声线方向定义为等相面 S ( x , y , z ) 的法线方向。
对于式(8),由于
∇ ⋅ ( A 2 ∇ S ) = 2 A ∇ A ⋅ ∇ S + A 2 ∇ 2 S (10)
故
∇ ⋅ ( A 2 ∇ S ) = 0 (11)
式(11)称为强度方程,由程函方程和强度方程即可求解出波动方程的近似解,如此便可近似求解出水下声场的各项参数。
由上文可知程函方程仅在 ∇ 2 A A k 0 ≪ n 2 时成立,即在一个波长内声速变化不大。显然声波频率越高越容易满足这一条件,但为了使所得的水声信道模型同样适用低频情况,则需采用新的建模方法。
BELLHOP是利用射线和高斯波束跟踪预测海洋环境中声压场的模型,它通过高斯波束追踪法,求解出水平非均匀的水声环境中的声场。高斯波束射线追踪方法的核心思想是将水下声场中的每一条声线和高斯强度的分布进行联系起来,这些声线是高斯声束的中心线,这些声线不仅能平缓地过度到水下声影区,也能平滑地穿过水下声场的焦散线,如此得到的水声信道模型更准确,更符合实际情况 [
图1. BELLHOP整体结构图
BELLHOP [
BELLHOP模型的输出文件包括用于描述声线和本征声线的声线文件(文件后缀为.ray,通常用来获得信号在信道中传播过程中的能量感应)、用于描述声线传播损失的传播损失文件(文件后缀为.shd)以及用于描述声线到达的时间–幅度序列参数的到达文件(文件后缀为.arr)。该文件中的信息可用于描述信道的冲击响应,将其与发送端信号的时间序列进行卷积,即可得到接收端信号的时间序列。
图2. 信道响应
图3. 发送端与接收端时间序列
图4. 码间串扰示意图
本文以Matlab作为BELLHOP的运行平台,BELLHOP模型以环境文件作为唯一输入文件。仿真的通信环境为:水深100 m,发送机与接收机的深度均为50 m,二者直线距离2 km,发送信号频率为35 kHz。图2为上述模拟条件下通过BELLHOP模型计算出的多径信道响应,图3为发送端与接收端信号的时间序列。
图2中横坐标最小值为1.3,是因为发送机与接收机之间距离为2000 m,水下声速约为1500 m/s,故接收端在经过1.33 s时延之后才能接收到信号。图3(a)为发送的原始信号,图3(b)、图3(c)均为接收到的信号,其中图3(c)为图3(b)放大所得。从图3(b)、图3(c)可看出,发送的信号经过不同路径传播,在接收端可接收到若干个不同时延的信号,此为多径效应。若连续发送多个码元,多径效应会造成码间串扰,如图4所示。
图4(a)为发送的原始信号,图4(b)、图4(c)均为接收到的信号,从图4(c)可看出码间串扰使信号发生了畸变。采用自适应滤波器对信道进行均衡可有效解决这一问题。LMS算法作为主流的均衡算法,具有结构简单、算法复杂度低、便于硬件实现等优点,故本文采用LMS算法对信道进行均衡。
LMS自适应滤波器由FIR滤波器和LMS自适应算法两部分组成,且FIR滤波器的各抽头系数由LMS算法实时调整,最终使FIR滤波器的输出信号收敛。LMS自适应滤波器结构如图5所示。
图5. LMS自适应滤波器结构图
图中 x ( n ) 为待处理信号序列, y ( n ) 为输出信号, d ( n ) 为期望信号, ω ( n ) 为滤波器系数,下同。
FIR滤波器的本质就是一个标准的乘加运算集,因此分布式算法[
LMS算法基于最小均方误差准则,在梯度法的基础上,通过改进均方误差梯度的估计值计算方法,取单个误差样本平方的梯度作为均方误差的估计值 [
y ( n ) = ω T ( n ) x ( n ) ε ( n ) = d ( n ) − y ( n ) ω ( n + 1 ) = ω ( n ) + 2 μ ε ( n ) x ( n ) (12)
其中 ε ( n ) 为误差信号, μ 为加权向量更新时的步长因子。该递推公式仅包含加减法和乘法运算,巧妙地避开了原来的矩阵运算,从而更有利于在FPGA上实现。LMS自适应滤波器的一般实现结构如图6所示 [
图6. LMS自适应滤波器的实现结构
从图6可看出,若所有计算均以串行方式进行,需要进行2N次乘法运算、2N + 1次加减法运算、以及N次移位计算,这样只需调用2个乘法器、3个加减法器和1个寄存器,能有效地节省硬件资源。但LMS算法的所有运算需要在一个数据周期内完成,当采样输入数据速率较高或权向量位数较多时,会因为权值更新过慢而影响滤波性能。同样,也可采用并行运算的方式实现图6所示结构,在这种情况下,完成一次权值更新只需进行2次乘法、3次加减法和1次移位运算,相比串行结构大大降低了一次权值更新所需的顺序计算量,但需要的硬件资源变成了2N个乘法器、2N + 1个加减法器和N个寄存器。
LMS算法虽然只包括加减法以及乘法运算,但乘法器资源在FPGA中数量有限,且乘法运算速度受限,因此提出了针对硬件实现的简化算法,其中包括符号LMS算法和符号化回归LMS算法 [
ω ( n + 1 ) = ω ( n ) + 2 μ x ( n ) sign ( ε ( n ) ) (13)
符号化回归LMS算法将式(12)中的 x ( n ) 用其符号代替,得到的递推关系为:
ω ( n + 1 ) = ω ( n ) + 2 μ ε ( n ) sign ( x ( n ) ) (14)
同时,将步长因子 μ 取值为2的负整数次幂,这样在更新滤波器系数的计算过程中不再需要乘法运算,能够减少N次乘法运算,提高LMS算法的运算速度。但是以上两种算法性能随机性较大,在工程实践中需要先对其进行仿真,经过比较之后选取性能较好的一个。
对两种简化算法进行Matlab仿真之后,选用的简化算法为符号化回归LMS算法,步长因子 μ 取1/128,输入与输出数据长度均为16比特,滤波器抽头数为8。结合上文的分析可知,FPGA以串行方式实现LMS算法需要进行的运算步骤为:
步骤一:计算y(n),需进行一次16比特*16比特的乘法运算和8个32比特数据的加法运算;
步骤二:计算e(n),需进行一次减法运算;
步骤三:计算权值更新(dw),需进行一次判断与取反操作;
步骤四:更新滤波器抽头系数,需进行一次加法运算。
在分配各运算步骤所需时钟周期时,基本原则是使各步骤的运算尽可能相近,因此本文各时钟周期的运算量分配方案为:步骤一中乘法运算使用乘法器IP核实现,流水线设置为2级,占用两个时钟周期,8个32 bit的加法运算分为2次4个32 bit并行加法及1个32 bit加法运算,其中4个32 bit加法运算占用一个时钟周期,1个32 bit加法运算与步骤二在同一时钟周期内完成,占用1个时钟周期,步骤三和步骤四各占用一个时钟周期。综上,完成LMS算法的一次迭代需占用6个时钟周期,因此,FPGA系统时钟频率应为数据抽样频率的6倍。最终在FPGA上实现的LMS自适应滤波器原理图如图7所示,表1展示了该滤波器消耗的硬件资源。
图7. LMS自适应滤波器RTL原理图
Resource | Estimation | Available | Utilization % |
---|---|---|---|
LUT | 398 | 3750 | 10.61 |
LUTRAM | 16 | 2400 | 0.67 |
FF | 468 | 7500 | 6.24 |
IO | 66 | 100 | 66.00 |
BUFG | 1 | 16 | 6.25 |
表1. FPGA实现 LMS自适应滤波器消耗的硬件资源
本文仿真所采用的水声通信系统模型为:对信号进行FSK调制,调制信号经过BELLHOP水声信道模型之后得到受干扰的接收端信号,再利用Modelsim对LMS均衡器模块进行功能仿真,得到滤波之后的信号。
图8为信号比对示意图,a为发送的调制信号,b为经过水声信道后接收端信号,c为经过均衡之后的信号,由于系统采用FSK调制方式,信号的幅值对系统的影响很小,故图a,b,c中的信号为归一化处理后的信号波形,不代表真实幅值。图9为未经均衡信号的幅频特性曲线,图10为均衡后信号幅频特性曲线。同样,图9和图10中的幅频特性曲线主要展示不同频率分量信号幅值的相对关系。可看出本文设计的LMS自适应滤波器能够较好地消除水声信号中的噪声并恢复出原始信号。
图8. 信号对比图
图9. 接收信号幅频特性曲线
图10. 滤波后信号幅频特性曲线
本文从理论层面对水声信道进行分析,在Matlab平台利用BELLHOP模型对水声信道进行建模仿真,并在FPGA平台上实现了LMS自适应滤波器。将BELLHOP模型的输出信号作为滤波器的输入在Modelsim中进行仿真,对比滤波前后信号的频谱图可得,本文设计的自适应滤波器器能够较好地消除噪声信号与多径效应对信号造成的干扰,对水声信道能够起到较好的均衡作用。
齐浩彬,孙玉国. 基于FPGA的LMS滤波器在水声信道均衡中的应用仿真Application Simulation of LMS Filter Based on FPGA in Underwater Acoustic Channel Equalization[J]. 应用物理, 2022, 12(11): 593-602. https://doi.org/10.12677/APP.2022.1211069