单载波水声通信技术研究【附MATLAB代码】

文章来源:​微信公众号:EW Frontier

摘要

水下无线通信因其在海洋科研、国防、救援及资源开发等方面的关键作用而备受关注。声波作为水中信息传输的有效载体,推动了水声通信技术的发展,其中单载波调制技术由于其高频谱利用率、结构简洁以及便于实现自适应性等特点,在水声通信系统中得到广泛应用。水声通信技术历经模拟调制、数字调制直至高级调制阶段,发展出了包括AM、FM、PSK、QAM等多种调制方式,每种方式都有其优缺点和适用场景。针对水声信道复杂、时变性强、多径效应显著等问题,信道均衡技术被引入以改善通信质量。尤其是频域均衡技术,因其计算复杂度较低、抗多径干扰能力强、能够实现联合均衡译码而在单载波水声通信中占据重要地位。单载波水声通信研究自20世纪70年代起逐步深入,从非相干调制到相干调制,再到基于判决反馈均衡和数字锁相环等技术的接收机结构改进,不断优化信道估计和信号恢复过程。当前研究热点包括分频带传输、时间反转处理和联合均衡译码等先进方案,旨在提高通信速率、增强抗干扰能力和扩大覆盖范围。单载波水声通信技术在窄带信道中具有实现简易、成本较低的优势,但同时也面临抗干扰能力弱、频带利用率低、通信速率受限等挑战。此外,报告着重讨论了多径效应、码间干扰对水声通信性能的影响,并介绍了时域均衡与频域均衡这两种信道均衡技术的基本原理及其不同方法,强调了均衡技术对于减少信号失真、提高通信可靠性和降低误码率的重要性。

绪论

1.1 研究背景和意义    

水下无线通信是指在水中实现信息的收发和传输的技术,它对于海洋开发、海洋科学研究、海洋防御、海洋救援等领域具有重要的作用和价值。由于水中电磁波的衰减非常大,声波成为水下无线通信的主要信息载体,因此水声通信是水下无线通信的主流技术。

水声通信的发展经历了从模拟调制到数字调制,从非相干调制到相干调制,从单载波调制到多载波调制的过程。其中,单载波调制是一种将信息调制到一个载波上的技术,它具有频谱利用率高、结构简单、易于实现自适应等优点,因此在水声通信中得到了广泛的应用。

然而,水声信道的复杂性、时变性、多径效应、码间干扰、噪声干扰等,这些因素会导致水声信号的失真和衰减,降低水声通信的性能和可靠性。为了解决这些问题,信道均衡技术被引入到水声通信中,它是一种利用信道估计和信号处理的方法,来抵消信道对信号的不利影响,恢复原始信号的技术。信道均衡技术可以分为时域均衡和频域均衡两种,其中,频域均衡是一种将信号转换到频域进行均衡处理的技术,它具有计算复杂度低、抗多径干扰能力强、易于实现联合均衡译码等优点,因此在单载波水声通信中得到了广泛的关注和研究。

水声通信技术的发展可以分为三个阶段:模拟调制阶段、数字调制阶段和高级调制阶段。

模拟调制阶段是从20世纪初到20世纪中期,这一阶段主要使用的是振幅调制(AM)和频率调制(FM)等模拟调制技术,它们的优点是实现简单、成本低、适用于语音通信,但是缺点是抗干扰能力弱、频带利用率低、通信速率低,不能满足数据通信的需求。数字调制阶段是从20世纪中期到20世纪末,这一阶段主要使用的是非相干调制和相干调制等数字调制技术,它们的优点是抗干扰能力强、频带利用率高、通信速率高,可以实现数据通信和多址通信,但是缺点是实现复杂、成本高、对同步要求高,需要配合信道编码、均衡、检测等技术。高级调制阶段是从21世纪初至今,这一阶段主要使用的是以应用需求为导向的新型调制技术,如正交频分复用(OFDM)、多输入多输出(MIMO)、空时编码(STC)等,它们的优点是可以进一步提高频带利用率、通信速率、抗干扰能力、覆盖范围等,但是缺点是实现更加复杂、成本更高、对信道状态信息要求更高,需要配合信道估计、信号处理、网络协议等技术。    

调制方式

连续调制

                    

调幅

调频

调角

模拟

AM(SSB DSB)

FM

PM

数字

ASK(OOK QAM)

FSK(MSK GFSK)

PSK(CPM)

脉冲调制

模拟

PAM PDM PPM

数字

PCM PWM

扩频

CSS

DSSS

THSS

FHSS

图1. 同样的信号通过AM与FM进行传输

单载波水声通信技术是一种具有重要理论和实际价值的技术,它对于提高水下无线通信的速率和可靠性,满足水下通信的多样化需求,具有重要的意义。

1.2 国内外研究现状

单载波水声通信技术的研究始于上世纪70年代,当时主要采用非相干调制方式,如频移键控(Frequency-Shift Keying,FSK)等。80年代后,随着数字信号处理技术的发展,相干调制方式开始被引入到单载波水声通信中,如相移键控(Phase-Shift Keying,PSK)和正交幅度调制(Quadrature Amplitude Modulation,QAM)等。相干调制方式可以提高水声通信的频谱效率和抗噪声能力,但也需要更复杂的信道估计和均衡技术。90年代,Stojanovic等人提出了一种基于判决反馈均衡(Decision Feedback Equalization,DFE)和数字锁相环(Digital Phase Lock Loop,DPLL)的相干水声通信接收机结构,较好地解决了时变水声信道匹配和码间干扰问题,这是单载波水声通信技术的一个里程碑。进入21世纪以来,随着水声通信对高速率和高可靠性的需求不断增加,频域均衡技术开始被广泛应用于单载波水声通信中,它可以有效地抑制多径干扰和噪声干扰,提高水声通信的性能。

频域均衡技术的研究主要包括两个方面:信道估计和信号恢复。信道估计是指利用接收到的信号或者已知的训练序列,来估计水声信道的特征参数,如信道冲激响应、信道频率响应、信道时延等。信道估计的方法有很多,如最小二乘法(Least Squares,LS)、最小均方误差法(Minimum Mean Square Error,MMSE)、基于导频的信道估计、基于盲信道估计等。信道估计的准确性直接影响到信号恢复的性能,因此信道估计是频域均衡技术的一个重要环节。信号恢复是指利用信道估计的结果,来对接收到的信号进行均衡处理,消除信道对信号的失真,恢复原始信号。信号恢复的方法也有很多,如零迫降低(Zero-Forcing,ZF)、最小均方误差(MMSE)、最大似然(Maximum Likelihood,ML)、Turbo均衡等。信号恢复的效果取决于信道估计的准确性和均衡算法的复杂度,因此信号恢复是频域均衡技术的另一个重要环节。    

目前,国内外对单载波水声通信技术的研究已经取得了一些成果,如:基于分频带传输的单载波水声通信技术,该技术将相对较宽的通信频带划分为若干子带,在每个子带间插入保护频带,以消除载波间干扰。基于时间反转的单载波水声通信技术,该技术利用时间反转处理将多通道信号融合为单通道信号,并且其等效信道冲激响应具有稳定的主峰,避免了噪声放大。基于联合均衡译码的单载波水声通信技术,该技术将信道均衡器和信道译码器看作级联结构,在两者之间进行信息交换,以提高信号恢复的性能。

从以上国内外对单载波水声通信技术的一些研究现状中可以看出,单载波水声通信技术在水下无线通信领域具有重要的理论和实际价值,但也存在着一些问题和不足,如信道估计的准确性、信号恢复的效果、频域均衡的算法等,这些问题需要进一步的研究和探索,以期为水声通信技术的发展和应用提供更好的支持和保障。

1.3 单载波水声通信技术的原理和特点          
1.3.1 单载波水声通信技术    

单载波水声通信技术是指在一个载波上进行调制,如FSK、PSK、QPSK、QAM等,它的优势是实现简单、成本低、适用于窄带信道,但是挑战是抗干扰能力弱、频带利用率低、通信速率低,需要配合信道编码、均衡、检测等技术。

单载波水声通信技术的原理是利用声波在水下传播的特性,将信息信号调制到一个载波上,然后通过水声信道发送到接收端,接收端对接收信号进行解调,还原出信息信号。单载波水声通信技术的特点如下

l适用于窄带信道:由于水声信道的带宽受到海水吸收、换能器带宽等因素的限制,通常只有几十到几百赫兹,因此单载波水声通信技术可以在这样的窄带信道上进行有效的信息传输,而不需要复杂的频谱分配和管理。

l实现简单、成本低:由于单载波水声通信技术只需要一个载波,因此在发射端和接收端的硬件实现上比较简单,不需要多个振荡器、滤波器、放大器等,因此可以降低系统的复杂度和成本。

l抗干扰能力弱、频带利用率低、通信速率低:由于单载波水声通信技术只使用一个载波,因此在水声信道中容易受到噪声、多径、多普勒等因素的影响,导致信号的失真和干扰,降低信号的质量和可靠性。同时,由于单载波水声通信技术只能传输有限的比特信息,因此在单位频带上的信息传输率较低,不能满足高速数据通信的需求。

1.3.2ASK  FSK  PSK  QPSK  QAK

ASK又称幅移键控法,其载波幅度是随着调制信号而变化的,最简单的形式是,载波在二进制调制信号控制下通断, 这种方式还可称作通断键控或开关键控(OOK) 。调制方法:用相乘器实现调制器。调制类型:2ASK,MASK。解调方法:相干法,非相干法。    

FSK(Frequency Shift Keying,频移键控)是一种用数字信号去调制载波的频率的技术,它的原理是根据数字信号的两个电平使载波频率在两个不同的数值之间切换,从而实现信息的传输。FSK的数学表达式为:

其中,A是载波的幅度,fc是载波的中心频率,Δf是载波的频偏,x(t)是数字信号,取值为±1。FSK的优点是抗干扰能力强,缺点是频带利用率低,通信速率低。FSK的类型有二进制FSK(2FSK),多进制FSK(MFSK),连续相位FSK(CPFSK)等

PSK(Phase Shift Keying,相移键控)是一种用数字信号去调制载波的相位的技术,它的原理是根据数字信号的两个电平使载波相位在两个不同的数值之间切换,从而实现信息的传输。PSK的数学表达式为:         

其中,A是载波的幅度,fc是载波的频率,ϕ(t)是载波的相位,取值为0或π。PSK的频带利用率高,通信速率高,但其对同步要求高,需要配合信道编码等技术。

QPSK(Quadrature Phase Shift Keying,正交相移键控)是一种特殊的PSK,它的原理是将数字信号分成两个部分,每个部分都用不同的相位进行调制,然后将两个部分的信号叠加在一起。QPSK的数学表达式为:

其中,A是载波的幅度,fc是载波的频率,ϕ1(t)和ϕ2(t)是两个部分的相位,取值为0,π/2,π,3π/2。QPSK的可以传输更多的比特信息,提高通信速率,但它的实现较复杂,对信道的同步要求高。    

1.4多径效应、码间干扰与信道均衡

多径效应是指无线信号在传播过程中,由于遇到不同的反射、折射、散射等现象,导致信号在不同的路径上到达接收端,形成多个时延和幅度不同的副本。多径效应会使信号的频谱发生扩展和失真,影响信号的质量和可靠性。

码间干扰是指在数字通信中,由于多径效应造成的信号时间扩散,使得一个码元的波形会扩展到其他码元周期中,从而影响信号的还原和解调,增加信号的误码率。假设发送的信号是一个方波序列,由于多径效应,接收端会收到多个时延和幅度不同的信号副本,这些信号副本会叠加在一起,形成接收信号。由于信号的时延扩展,接收信号的波形会发生展宽和失真,导致码元之间的边界模糊,这就是码间干扰的表现。如果接收端在采样判决时,选择的时刻不恰当,就会导致误码的产生。

信道均衡是一种用于消除或减 弱信道对信号的失真和干扰的技术,它可以提高信号的质量和可靠性,降低信号的误码率。信道均衡的方法可以分为两大类:时域均衡和频域均衡。  

时域均衡是一种在时域上对信号进行处理的技术,它的原理是利用一个或多个滤波器,对接收信号进行逆信道处理,从而抵消信道对信号的影响,恢复原始信号。时域均衡的优点是实现简单,缺点是对信道的时变性和非线性性不敏感,适用于信道的时延扩展较小的情况。

时域均衡的方法有以下几种:

l 线性均衡:线性均衡是一种使用线性滤波器进行均衡的方法,它的原理是根据最小均方误差准则或零迫使准则,设计一个线性滤波器,使得输出信号的误差或干扰最小。线性均衡的优点是计算量小,缺点是不能完全消除码间干扰,适用于信道的时延扩展较小的情况。    

l决策反馈均衡:决策反馈均衡是一种使用非线性滤波器进行均衡的方法,它的原理是在线性均衡的基础上,增加一个反馈滤波器,利用已经检测出的符号,对未检测的符号进行干扰消除。决策反馈均衡的优点是能够有效消除码间干扰,缺点是计算量大,需要训练序列,适用于信道的时延扩展较大的情况。

l盲均衡:盲均衡是一种不需要信道信息和训练序列的均衡方法,它的原理是利用信号的某些统计特性,如恒模性、高阶累积量等,作为均衡的准则,从而调整滤波器的系数,使输出信号的质量最优。盲均衡的优点是不依赖于信道信息和训练序列,缺点是收敛速度慢,适用于信道的时变性较强的情况。

频域均衡是一种在频域上对信号进行处理的技术,它的原理是利用傅里叶变换,将时域信号转换为频域信号,然后在频域上对信号进行补偿,提高信号的质量和可靠性,最后再利用傅里叶逆变换,将频域信号转换为时域信号。频域均衡的优点是对信道的时变性和非线性性较敏感,缺点是实现复杂,适用于信道的时延扩展较大的情况。频域均衡的方法有以下几种:

l频域均衡器:频域均衡器是一种在频域上对信号进行逆信道处理的方法,它的原理是在频域上对信号乘以一个补偿系数,从而消除信道的影响,实现无失真的传输。频域均衡器的优点是能够完全消除码间干扰,缺点是对噪声敏感,需要信道信息,适用于信噪比较高的情况。

l自适应滤波器:自适应滤波器是一种在频域上对信号进行自适应处理的方法,它的原理是根据最小均方误差准则或恒模准则,动态调整滤波器的系数,从而使输出信号的误差或干扰最小。自适应滤波器的优点是抗噪声能力强,不需要信道信息,缺点是实现复杂,需要训练序列,适用于信噪比较低的情况。    

l正交频分复用:正交频分复用(OFDM)是一种将信号分成多个正交的子载波进行传输的方法,它的原理是利用离散傅里叶变换,将时域信号转换为频域信号,然后在每个子载波上进行调制,最后再利用离散傅里叶逆变换,将频域信号转换为时域信号。OFDM的优点是能够有效抵抗多径效应,提高频带利用率,缺点是对同步要求高,需要加入循环前缀,适用于信道的时延扩展较大的情况。

水声信道特性分析

水声通信的信道是指声波在水下传播的媒介,它受到水体、海面和海底的影响,具有复杂的时空频变参特性,噪声级较高,传播损失严重,带宽限制,多径效应和多普勒效应等特点,这些特点对水声通信系统的设计和性能分析带来了很大的挑战。

2.1 水下噪声

水声通信系统中存在较强的背景噪声,这是影响信号质量和通信性能的重要因素。水下噪声的来源有多种,包括海洋生物、海浪、船舶、人为活动等,它们对不同频段的信号有不同的影响。水下噪声的功率谱密度通常用Wenz曲线来描述,它是一个关于频率的函数。本项目中,在代码中使用了自带的wgn函数生成了白噪声,然后通过一个IIR滤波器使噪声具有一定的色度,以模拟水下噪声的特性。    

noise = wgn(length(signal_add_dopper), 1, 0); % 生成白噪声

noise = filter(1, [1 -0.99], noise); % 通过一个IIR滤波器使噪声具有一定的色度

图2.matlab官网给出的wgn函数

2.2 传播损失

声波在水下传播时会遭受衰减和扩散两种损失。衰减是由于声波与水体的相互作用,如吸收、散射和泄漏等,导致声能减少。衰减随频率和距离的增加而增加。扩散是由于声波在不同介质的界面上发生反射、折射和散射等,导致声能分散。扩散的形式有深海的球形扩散和浅海的柱状扩散。传播损失是衰减和扩散的总和,它也随距离的增加而增加。由于信噪比受到距离和海水吸收系数的影响,表达式为

这说明信号在水下传播时会随距离增加而衰减,并且由于海水对声波的吸收作用导致能量损失。海水的吸收系数与频率、温度、盐度和压力有关,通常用Francois-Garrison公式来计算,如下式所示。

2.3带宽限制

水声通信可用的带宽非常有限,这直接影响到数据传输速率和系统的容量。水声信道的带宽受到两方面的限制:一是海水的吸收作用,它使得高频信号的衰减更快,因此水声通信通常使用低频信号;二是水声信道的多径效应,它使得信号的时域波形发生延迟扩展,因此水声通信通常使用低速信号。水声通信的带宽一般在几十到几千赫兹之间,远低于陆地无线电通信的带宽,这限制了水声通信的数据传输能力。为了提高水声通信的带宽利用率,可以采用一些高效的调制编码技术,如正交频分复用(OFDM)、多输入多输出(MIMO)、空时编码(STC)等。    

2.4多径效应

在水声信道中,多径效应造成的码间干扰(ISI)范围较大,严重限制了信息传输速率的提高。多径效应是指声波在水下传播过程中,由于海面和海底的反射、折射和散射等作用,导致信号沿着不同的路径到达接收端,形成多个时延不同的副本,如图2所示。多径效应使得信号的时域波形发生延迟扩展,从而导致相邻符号之间的干扰,降低了信号的可辨识性。为了消除多径效应,水声通信系统需要使用一些信道均衡技术,如自适应均衡、空时编码、多载波调制等。信道均衡技术的目的是根据信道状态信息,对接收信号进行适当的处理,以恢复原始信号。

2.5多普勒效应

水声信道中的多普勒效应相较于陆地无线电信道更为显著,表现为频率偏移和波形的压缩或扩展。多普勒效应是指声波在水下传播过程中,由于发射端和接收端的相对运动,导致信号的频率发生变化。多普勒效应使得信号的频域波形发生偏移,从而导致信号的失真,降低了信号的可辨识性。为了消除多普勒效应,水声通信系统需要使用一些多普勒补偿技术,如多普勒估计、多普勒跟踪、多普勒校正等。多普勒补偿技术的目的是根据多普勒频移,对接收信号进行适当的变换,以恢复原始信号。    

2.6信道部分代码及说明

代码如下

%% 加噪声

SNR=15;                                         %信噪比(dB)

signal_add_noise = BandNoiseAdd(signal_send, SNR, b1 ,length_measure+length_GI, length_measure+length_GI+length_BS);

%% 加多普勒

% 多普勒估计精度

dup_precision1 = factor_resample(fs) / fs;

dup_precision2 = 1 / (length_measure + 2*length_GI + length_BS); 

% 求最小公倍数,同时满足上述两种精度设置                                          

dup_precision = dup_precision1;

% 多普勒添加

m = 5;             

dup_ori= m * dup_precision; 

fs1 = fs * (1 - dup_ori);

signal_add_dopper = resample(signal_add_noise, fs1, fs);

%% 水下噪声和传播损失

% 深海噪声谱举例和海水的吸收系数

depth = 1000; % 深度,单位:米

distance = 10000; % 距离,单位:米

n = 20; % 传播损失参数

alpha = 0.1; % 海水的吸收系数

% 计算传播损失

TL = n * 10 * log10(distance) + distance * alpha;    

说明:

1、代码中设置了信噪比为15dB,频段为b1,信号长度为length_measure+length_GI+length_BS,其中length_measure是测量序列的长度,length_GI是保护间隔的长度,length_BS是导频序列的长度。

2、模拟了水声通信系统中存在的多普勒效应,它是由于发射端和接收端的相对运动,导致信号的频率发生变化。代码使用了resample函数,它是一个内置的函数,用于对信号进行重采样,以改变信号的采样率。设置多普勒频移为m * dup_precision,其中m是一个整数,dup_precision是一个最小公倍数,它同时满足重采样函数的多普勒估计精度和FFT的物理分辨率的多普勒精度。设置了m为5,dup_precision为factor_resample(fs) / fs,factor_resample计算重采样函数的最大公约数,fs是信号的采样率。重采样后的采样率fs1,它等于fs * (1 - dup_ori),其中dup_ori是多普勒频移。

3、代码考虑了水下噪声和传播损失,代码中使用了wgn函数,它是一个内置的函数,用于生成白噪声,并设置噪声的长度为signal_add_dopper的长度。其中使用了filter函数对信号进行滤波,利用一个一阶IIR滤波器,它的分子系数为1,分母系数为[1 -0.99],这样可以使噪声具有一定的色度,以模拟水下噪声的特性。还根据传播损失调整了噪声的功率,传播损失的计算公式为TL = n * 10 * log10(distance) + distance * alpha,其中n是传播损失参数,distance是距离,alpha是海水的吸收系数。这时假设深度为1000米,距离为10000米,n为20,alpha为0.1。

单载波QPSK相干水声通信模型

3.1 系统仿真参数    

 仿真参数

参数值

仿真参数

参数值

载波频率f

12 kHz

通信带宽B

4000 Hz

采样率f

48 kHz

同步信号

LFM/50ms

发送比特数N

2000

保护间隔

50ms

码元宽度Ts

0.5ms

滚降系数a

1

3.2加扰与解扰

加扰是指在发送端对原始的二进制数据进行一定的变换,使其具有一些期望的特性,例如DC平衡、转换密度、抗干扰等。加扰的方法通常是利用一个伪随机序列(如m序列或Gold序列)与数据进行异或运算,生成加扰后的数据。解扰是指在接收端对加扰后的数据进行逆变换,恢复原始的数据。解扰的方法通常是利用与发送端相同的伪随机序列与数据进行异或运算,得到解扰后的数据。加扰和解扰的目的是为了提高信号的质量和可靠性,防止信号在传输过程中受到噪声、多普勒效应、传播损失等影响。

在此项目代码中,加扰和解扰的函数使用了一种基于线性反馈移位寄存器(LFSR)的方法,也称为m序列加扰和解扰。这种方法的原理是利用一个长度为m的移位寄存器,其中每一位都是一个触发器,可以存储0或1。移位寄存器的输出是最后一位的值,而每一位的输入是前一位的输出与某些位的异或运算的结果。这些位的位置由一个反馈函数决定,例如

。这样,每一时钟周期,移位寄存器的内容就会向右移动一位,并产生一个新的输出。如果反馈函数选择得当,移位寄存器可以产生一个循环长度为2m-1的伪随机序列,也称为m序列。这个序列具有良好的统计特性,例如均匀的0和1分布,低的自相关性,高的互相关性等。我们选择m=15,并且使用了

作为反馈函数。代码中msig向量就是移位寄存器的初始状态,也就是高位到低位的15个触发器的值。加扰函数就是用msig向量生成的m序列与输入信号进行异或运算,得到加扰后的信号。解扰函数就是用相同的msig向量生成的m序列与加扰后的信号进行异或运算,得到解扰后的信号,由于异或运算的性质,加扰和解扰是可逆的,也就是说,两次异或运算可以恢复原始的信号。    

图3.加扰后信号的比较

3.3编码与译码

编码是指在发送端对原始的二进制数据进行一定的映射,使其能够在载波上进行调制。编码的方法有很多种,例如BPSK、QPSK、8PSK等,它们的区别在于每个符号可以携带的比特数和相位变化。编码的目的是为了提高信号的频谱利用率和抗干扰能力,使其能够在有限的带宽内传输更多的信息。译码是指在接收端对调制后的信号进行一定的判决,恢复原始的数据。译码的方法通常是利用信号的幅度和相位,与发送端的映射表进行比较,找到最接近的符号,然后得到对应的数据。译码的目的是为了准确地解调信号,还原原始的信息。    

3.3.1 QPSK

QPSK是一种利用相位变化来传输数据的调制方式,它可以在每个符号中携带两个比特的信息,从而提高了频谱利用率。QPSK有四种可能的相位变化,分别是45°、135°、225°和315°,每种相位变化对应一个二进制码组,例如00、01、10和11。这样,每个符号可以表示四种状态中的一种。

为了生成QPSK信号,我们可以使用I/Q调制的方法,即将两个正交的载波分别与I路和Q路的信号相乘,然后相加得到QPSK信号。I路和Q路的信号是由原始的二进制数据经过映射和脉冲成型后得到的。例如,如果我们使用的映射方式是00对应1,01对应-1,10对应j,11对应-j,那么我们可以得到如下的I路和Q路的信号:

其中,

是映射后的符号,p(t)是脉冲成型滤波器的冲激响应,T是符号周期,fc是载波频率。那么,QPSK信号可以表示为:

其中,

是复数符号,它可以表示为

,其中

是相位角,它决定了QPSK信号的状态。例如,当

时,

,对应00码组;当

时,

,对应01码组,依此类推。为了解调QPSK信号,我们可以使用相干解调的方法,即将接收信号与同步的本地载波相乘,然后通过低通滤波器得到I路和Q路的信号,再进行判决和解映 射,恢复原始的二进制数据。例如,如果我们使用的本地载波是

,那么我们可以得到如下的I路和Q路的信号:    

其中,LPF表示低通滤波器。可以看出,I和Q相同,只是经过了一次脉冲成型滤波。因此,我们可以在每个符号的采样点上对I和Q进行判决,得到

,然后根据映射方式得到

,进而得到原始的二进制数据。

当然,还需要考虑信道的影响,例如噪声、多普勒效应、传播损失等,这些都会导致接收信号的失真和干扰,从而影响解调的性能。为了提高解调的准确性和鲁棒性,我们需要使用一些信号处理的技术,例如带通滤波、多普勒补偿、均衡器等,代码中还使用了四种不同类型的均衡器,分别是LMS、RLS、MMSE和DFE,它们的目的都是通过调整接收信号的幅度和相位,来抵消信道的失真,从而使信号更接近于原始的符号。

3.3.2代码结果    

图4.1 结果一

    图4.2结果二    

图4.3 结果三

3.4脉冲成型

脉冲成型是指在发送端对编码后的信号进行一定的滤波,使其具有一定的波形和频谱特性。脉冲成型的方法有很多种,例如矩形脉冲、升余弦脉冲、根升余弦脉冲等,它们的区别在于脉冲的持续时间、主瓣宽度、旁瓣高度等。脉冲成型的目的是为了减少信号的时域和频域的干扰,例如码间串扰、频谱泄漏等,使其能够在有限的时间和频率范围内传输更清晰的信号。此项目代码中,在发射机部分,使用了rcosdesign函数生成了根升余弦脉冲成型滤波器,然后使用了IQmodulate函数对信号进行了脉冲成型和载波调制;在接收机部分,您使用了IQdemodulate函数对信号进行了载波解调和脉冲成型滤波器的匹配滤波。    

图5 脉冲成型结果

3.5时间同步

时间同步是指在接收端从接收到的调制信号中提取出有关时间的信息,然后用这些信息不断调整本地载波信号的频率、相位或脉冲位置,使之与发送端的载波信号完全同步。时间同步的方法有很多种,例如相位锁定环、成本斯基算法、加尔德曼算法等,它们的区别在于同步的精度、速度、复杂度等。时间同步的目的是为了实现相干解调,提高解调的准确性和鲁棒性。此项目中在接收端,利用测量信号和发射信号的副本进行互相关,得到两个峰值,分别对应信号的首部和尾部。根据峰值的位置,可以截取出信号中的调制信号段,从而实现时间同步

图6 时间同步结果

3.6多普勒估计和补偿    

多普勒估计是利用信号首尾的测量信号段,计算接收信号和发射信号的长度变化,从而得到多普勒因子的粗估计。然后,在信号中截取一个单频信号段,对其进行快速傅里叶变换,得到最大幅值对应的频率。在该频率附近,利用Chirp-Z变换进行频谱细化,得到更精确的频率估计。最后,利用频谱校正法,消除频率误差,得到多普勒因子的精估计。

接收信号和发射信号的长度变化之比,即多普勒因子的粗估计值,其中,

是发射信号的长度,

是接收信号的长度:

单频信号段的最大幅值对应的频率,即多普勒频移的粗估计值,其中,fs是采样频率,Y(k)是单频信号段的离散傅里叶变换,N是傅里叶变换的点数:

利用Chirp-Z变换进行频谱细化,得到更精确的频率估计值,其中,

是频谱细化的范围,

是Chirp-Z变换的结果。:

利用频谱校正法消除频率误差,得到多普勒因子的精估计值,其中,

是频率校正值,

是单频信号的频率:

多普勒补偿是根据多普勒因子的估计值,对接收信号进行重采样,使其恢复到原始的采样率,从而消除多普勒效应对信号的影响。

其中,

是多普勒补偿前的信号,

是多普勒补偿后的信号,

是多普勒因子的估计值。    

图7 多普勒补充结果

时域均衡

4.时域均衡

时域均衡器是一种用来校正或补偿信号在信道中受到的失真和码间干扰的滤波器。时域均衡器的原理是通过调整滤波器的权重系数,使接收信号的误差最小化,从而恢复信号的原始波形。时域均衡器可以分为线性均衡器和非线性均衡器,线性均衡器只利用接收信号的前馈信息,非线性均衡器还利用判决信号的反馈信息。

此项目中时域均衡的作用是抵消水声信道的多径效应和频率选择性衰落,提高信号的质量和性能。此项目中使用了四种时域均衡器,分别是LMS、RLS、MMSE和DFE。

4.1 LMS

LMS最小均方误差(Least Mean Square)是一种基于梯度下降的迭代优化算法,它通过不断更新权重系数,使误差的均方值最小。LMS均衡器的输出可以表示为,其中,y(k)是均衡器在时刻k的输出,x(k)是均衡器在时刻k的输入,h(l)是均衡器的权重系数,n是均衡器的长度:

LMS均衡器的误差可以表示为,其中,d(k)是期望信号,也就是发送信号的副本:

    

LMS均衡器的权重更新公式可以表示为,其中,μ是学习率,它决定了权重更新的速度和稳定性:

4.2 RLS

RLS递归最小二乘(Recursive Least Squares),它是一种基于最小二乘法的迭代优化算法,其目的是使误差的平方和最小。RLS均衡器的输出和误差与LMS均衡器相同,但是权重更新公式不同,RLS均衡器的权重更新公式可以表示为:

 其中,

是增益矩阵,它可以表示为:

 其中,

是协方差矩阵,它可以表示为:

 

是遗忘因子,它决定了历史数据对当前权重的影响程度。

4.3MMSE

MMSE最小均方误差(Minimum Mean Square Error)的缩写,它是一种基于最优线性估计的均衡算法,它通过求解维纳-霍夫方程,得到使误差的均方值最小的权重系数。MMSE均衡器的输出和误差与LMS均衡器相同,但是权重系数不需要迭代更新,而是直接求解,MMSE均衡器的权重系数可以表示为:

是输入信号的自相关矩阵,p是输入信号和期望信号的互相关向量。

4.4DFE

DFE判决反馈均衡器(Decision Feedback Equalizer)是一种非线性均衡器,它由前馈滤波器和反馈滤波器组成,前馈部分可以消除前导干扰,反馈部分可以抵消拖尾干扰。DFE均衡器的输出可以表示如下,

是前馈滤波器的权重系数,

是反馈滤波器的权重系数,

是判决信号:    

DFE均衡器的误差可以表示为:

DFE均衡器的权重更新公式可以表示为:

4.5时域均衡结果

运行完整程序后可得

  

MATLAB代码

%% 多普勒检测和补偿
clc;
clear all;
close all;
%全局图像绘图设置
% set(0, 'defaultfigurecolor', 'w') %绘图背景为纯白
% set(0, 'defaultAxesFontSize', 12) %绘图坐标轴字体大小修改为12
% set(0, 'defaultAxesTitleFontSizeMultiplier', 1.2) %绘图标题字体大小修改为16
% set(0, 'defaultAxesFontName','宋体加粗') %修改默认字体
% set(0, 'defaultAxesLineWidth', 1) %修改默认框架线粗细
% set(0, 'defaultLineLineWidth', 1.2);%修改默认线粗细
set(0, 'defaultAxesXGrid','on', 'defaultAxesYGrid', 'on') %打开网格
%% 模式选择
MOD = 'mo_qpsk';                                                   %可以选择不同的映射方式bpsk、qpsk、8psk可选
switch (MOD)
    case 'mo_bpsk', Mod = 2; bitnum_per = 1;
    case 'mo_qpsk', Mod = 4; bitnum_per = 2;
    case 'mo_8psk', Mod = 8; bitnum_per = 3; 
    otherwise, disp('Unknown signal constellation!');
end
​
%% 基本参数
fs = 100e3;                                                            % 采样频率
fl = 8e3;                                                                 % 下限频率
fh = 12e3;                                                              % 上限频率
f0 = (fl + fh) / 2;                                                        % 中心频率(单频带传输)
Rb = 2000;                                                             % 符号率
N_up = fs / Rb;                                                        % 升采样点数
N_BS = 3000;                                                           % 发送的符号数
length_BS = N_BS * N_up;
N_bit = N_BS * bitnum_per;                                             % 需要生成的比特数
alpha = 1;                                                              % 滚降系数
N_filter = 512;                                                        % 滤波器阶数
PulseShape = rcosfir(alpha, [ ], N_up, 1, 'sqrt');  % 脉冲成型滤波器(低通滤波器)
b1 = fir1(N_filter, 2 * [fl fh] / fs);                               % 带通滤波器
​
%% --------------------发射机部分------------------------
%% 数据信号产生及编码
load information.mat
bit_send = information(1 : N_bit);            
​
%% 信息映射
[SymbolIn, Table] = Mapping(bit_send, Mod);   
​
%% IQ调制脉冲成型上采样上载波
signal_IQ = IQmodulate(PulseShape, N_up, SymbolIn, f0, fs);
signal_IQ = signal_IQ ./ max(abs(signal_IQ));
%% 多普勒测量信号 (LFM)
T_syn = 0.1; B = fh - fl; K = B / T_syn;                              %LFM信号参数,B带宽,T脉宽,K调频斜率
t = 0 : 1/fs : T_syn-1/fs;
signal_measure = cos(2*pi*fl*t + pi*K*t.^2);                  
length_measure = T_syn * fs;
length_GI = 0.1 * fs;                                                %保护间隔
signal_GI = zeros(1, length_GI);
​
%% 发送信号构成
signal_send = [signal_measure signal_GI signal_IQ signal_GI signal_measure signal_GI];    %信号结构[测量信号 保护间隔 调制信号 保护间隔 测量信号 保护间隔]
​
%% --------------------信道部分------------------------
%% 加噪声
SNR=15;                                         %信噪比(dB)
signal_add_noise = BandNoiseAdd(signal_send, SNR, b1 ,length_measure+length_GI, length_measure+length_GI+length_BS);
% signal_add_noise=signal_send;
​

MATLAB仿真结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/720855.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue60-TodoList案例-全局事件总线

一、全局事件总线的适用场景 虽然全局事件总线使用于任意组件之间的通信,但是没有必要处处用它。 数据在哪里,操作数据的方法就在哪里! 二、TodoList案例-全局事件总线 适用于全局总线的场景:Item和App(爷孙关系&…

RFID期末复习 | 防碰撞算法 | 信源编码 | 差错控制 | 系统调制 | S50卡 | 无源标签 | 工作频率 | 自动识别

防碰撞算法 ALOHA算法 ALOHA算法是一种随机接入方法,其基本思想是采取标签先发言的方式,当标签进入读写器的识别区域内时就自动向读写器发送其自身的ID号,在标签发送数据的过程中,若有其他标签也在发送数据,将会发生…

深度神经网络——什么是降维?

引言 什么是降维? 降维是用于降低数据集维度的过程,采用许多特征并将它们表示为更少的特征。 例如,降维可用于将二十个特征的数据集减少到仅有几个特征。 降维通常用于无监督学习任务 降维是一个用于降低数据集维度的过程,采用许…

从0到1,揭秘AI产品经理的高薪秘诀,转型之路与实战资源全解析

前言 随着算法模型的日益精进、计算能力的显著提升以及海量数据的积累,人工智能领域正以前所未有的速度蓬勃发展。 在国家政策的积极推动、社会资本的强劲注入下,人工智能产业正处于技术快速进步的黄金时期,其影响力广泛渗透至教育智能化、…

dmhs同步因目的端表自增列报错解决方法

dmhs同步因目的端表自增列报错解决方法 1 dmhs copy 装载数据时报错 HY000 CODE:-27232 配置源端捕获器cpt 1 dmhs copy 装载数据时报错 HY000 CODE:-2723 ERR:Only if specified in the column list and SET IDENTITY INSERT is ON, then identity column could be assigned …

栈帧浅析,堆栈漏洞概述——【太原理工大学软件安全期末补充】

在上一篇文章中我说实验一不重要,确实没必要完全按照实验内容逐字逐句理解,但是这里我们补充一个知识点 栈帧(Stack Frame)是计算机程序执行过程中,调用栈(Call Stack)中的一个单元,…

存储文件夹下所有.cpp和.h的代码到对应的txt文件里

最近大半年刷了160多天的题,每次刷的时候都要新建一个VS文件,所以文件内存太大了,又舍不得删,就用ai整了一个脚本,可将当前路径下的所有文件里的.cpp和.h文件储存到相应名字的txt文件里,若文件夹下还有文件…

跟TED演讲学英文:A tale of mental illness -- from the inside by Elyn Saks

A tale of mental illness – from the inside Link: https://www.ted.com/talks/elyn_saks_a_tale_of_mental_illness_from_the_inside Speaker: Elyn Saks Date: June 2012 文章目录 A tale of mental illness -- from the insideIntroductionVocabularySummaryTranscriptA…

从零开始理解 XML 和 JSON 的区别

在这篇文章中,我们将深入探讨XML和JSON这两种数据格式的关键异同点,以便读者可以根据项目需求做出明智的技术选择。 了解XML XML(Extensible Markup Language)是一种用于数据定义的标记语言,最初由万维网联盟&#x…

uniapp使用伪元素实现气泡

uniapp使用伪元素实现气泡 背景实现思路代码实现尾巴 背景 气泡效果在开发中使用是非常常见的,使用场景有提示框,对话框等等,今天我们使用css来实现气泡效果。老规矩,先看下效果图: 实现思路 其实实现这个气泡框的…

Matplotlib(小案例)

1、3D表面形状的绘制 from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np import matplotlib as mplfigplt.figure() axfig.add_subplot(111,projection3d)unp.linspace(0,2*np.pi,100) vnp.linspace(0,np.pi,100) x10*np.outer(n…

Kubernetes CSR 颁发的 MinIO Operator 证书

在当前的 Kubernetes 环境中,创建、管理和自动化 TLS 证书的标准方法是使用 kind: CertificateSigningRequest (CSR)资源。此原生 Kubernetes 资源提供了一种强大而高效的方式来处理集群中证书的整个生命周期。 通过利用 CSR 资源&#xff0…

【算法与设计】期末总结

文章目录 第一章 概述算法与程序时间复杂性求上界 第二章 递归与分治双递归函数——Ackerman函数分治策略大整数乘法两位两位四位x四位 三位x三位两位x六位 第三章 动态规划矩阵连乘基本要素最优子结构子问题重叠 备忘录 第四章 贪心算法活动安排问题基本要素贪心选择性质最优子…

DLS平台:惠誉全球经济展望——今年调增至2.6%,明年调减!

摘要 尽管全球货币政策逐渐转向宽松,惠誉国际评级(Fitch Ratings)在最新的《全球经济展望》中对2024年全球经济增长进行了上调。然而,由于美国经济增速放缓和其他因素的影响,2025年的全球经济增长预期则被下调。这篇文…

MySQL操作数据库语句

mysql关键字不区分大小写 1. 创建数据库 CREATE DATABASE [IF NOT EXISTS] westos (带[ ]表示该语句可有可无) 2. 删除数据库 DROP DATABASE [IF EXISTS] westos 3.使用数据库 -- tab键的上面,如果你的表名或者字段名是一个特殊的字符,就需要带 …

科普童话投稿

《科普童话》杂志是由国家新闻出版总署批准、黑龙江省教育厅主管、黑龙江省语言文字报刊社主办的正规期刊。《科普童话》以培养科学素养与创新探索精神为办刊宗旨,以科学与艺术统一为编辑方针,以科学教育、教育科学作为自己的出发点,致力于对…

重学java 72.正则表达式

人长大之后就在频繁地离别,相聚反而时日无多 —— 24.6.17 一、正则表达式的概念及演示 1.概述 正则表达式是一个具有特殊规则的字符串 2.作用:校验 3.String中有一个校验正则的方法: boolean matches(String regex) —— 校验字符串是否…

《Nest系列 - 2. Nest 代码生成器,让你告别base代码书写!!!》

紧接上文我们做一些核心梳理 核心梳理: /controllers目录:存放控制器文件,每个控制器对应一组路由和请求处理方法。控制器处理来自客户端的HTTP请求,并返回相应的响应。/modules目录:存放模块文件,每个模块…

Docker(三)-Docker常用命令

1.run run命令执行流程:2.帮助启动类命令 2.1 启动docker systemctl start docker2.2 停止docker systemctl stop docker2.3 重启docker systemctl restart docker2.4查看docker状态 systemctl status docker2.5开机启动 systemctl enable docker2.6查看docker概要信息 …

【python】从python中调用matlab函数

【python】从python中调用matlab函数 【先赞后看养成习惯】求关注点赞收藏 问题描述:用python的时候,有部分计算是也有的matlab写好的代码,要改成python格式又比较麻烦,那么我们可以通过python命令来调用matlab运行并返回指定值 …