【采用差分二相移键控DBPSK的D-AF中继网络中】选择合并技术在时变信道上的差分放大转发中继性能】研究(Matlab代码实现)

       💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

 ⛳️赠与读者

💥1 概述

一、DBPSK调制原理及其在衰落信道中的特性

二、D-AF中继网络结构与工作机制

三、选择合并(SC)技术的原理与优势

四、时变信道对系统性能的影响机制

五、DBPSK-D-AF-SC系统在时变信道中的性能分析

1. 系统模型扩展

2. 理论性能推导

3. 仿真验证与优化方向

六、总结:技术优势与适用场景

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、文章下载


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

摘要:对于时变信道上的差分放大转发中的目的地进行选择合并(SC)是具有吸引力的,因为与半最大比合并(semi-MRC)相比,它不需要通道状态信息,同时提供接近的性能。最近有关SC方案的性能分析仅针对缓慢衰落信道的情况进行了报告。本文提供了SC方案在一般情况下的时变瑞利衰落信道上的精确平均比特误码率(BER),并且当DBPSK调制与目的地的非相干检测一起使用时。所呈现的分析经过了各种衰落场景的模拟结果的彻底验证。结果表明,系统的性能与信道的自相关值有关。还表明,SC方法的性能非常接近于半MRC方法,并且在高信噪比区域存在误码率底线在这两种方法中是不可避免的。对于SC方法得到的BER分析也可用于近似MRC方法的BER性能,后者在时变信道中的确切分析评估似乎很困难。

合作通信现在已成为一个成熟的研究课题。目前,一种特殊类型的协同通信(借助一个中继器)已经在3GPP LTE技术中标准化,以解决蜂窝网络的覆盖问题,并且预期LTE-高级版本将包含协同中继特性,以克服容量和干扰等其他限制[1]。合作中继网络在无线局域网、车对车通信和无线传感器网络中的应用也在[2]-[5]及其中引用的文献中有讨论。

在合作通信中,网络中的一个用户充当中继,接收来自源节点的信号,处理后并重新广播给目的节点。通过这种方式,除了源节点到目的节点的直接链路之外,还可以通过中继构建额外的链路,从而系统整体的空间多样性得到增加。根据中继所采用的信号处理策略,中继网络通常被分为解码转发(DF)和放大转发(AF)两大类[6]。

在采用差分二相移键控(DBPSK)的D-AF中继网络中,研究了时变瑞利衰落信道中目的端接收到的信号的选择合并。得益于差分编码和选择合并器,目的端进行信息检测时无需信道状态信息。系统的确切误比特率被推导出来。在不同衰落速率和信道方差条件下的仿真结果验证了分析,并显示选择合并器的性能非常接近于更复杂的半最大比合并方法(该方法需要目的端所有信道的二阶统计信息)。

一、DBPSK调制原理及其在衰落信道中的特性

DBPSK是一种通过相邻符号的相位差传递信息的调制技术,其核心特点是无需载波相位同步,适用于信道条件快速变化的场景。

  1. 调制机制
    信息比特通过前后符号的相位变化编码:
    • 比特“0” → 相位差 Δφ=0
    • 比特“1” → 相位差 Δφ=π
      例如比特流 1 1 0 1 对应的相位序列为 (0) π 0 0 或 (π) 0 π π(初始相位可任选0或π)。
  2. 抗相位噪声优势
    差分检测仅依赖相邻符号的相位差,对信道引起的相位旋转不敏感,在存在相位噪声的时变信道中性能优于绝对PSK。
  3. 衰落信道局限性
    • 高误码率(BER) :DBPSK在衰落信道中BER为 Pe≈12exp⁡(−Eb/N0)Pe​≈21​exp(−Eb​/N0​),需更高信噪比才能达到与相干PSK相同的BER。
    • 频率偏移敏感:多普勒频移导致相位差失真,增大解调错误概率。

二、D-AF中继网络结构与工作机制

差分放大转发(D-AF) 是中继协作的核心协议,其设计目标是在避免信道估计的前提下提升传输可靠性。

  1. 系统模型
    • 节点组成:源节点(S)、多个AF中继(R1, R2, ..., Rn)、目的节点(D),均配置单天线。
    • 半双工传输:分两时隙操作:
  • 时隙1:S广播信号至所有中继。
  • 时隙2:各中继对接收信号直接放大(不解码)并转发至D。
  1. D-AF的差分特性
    中继节点仅放大信号幅度,保留原始相位差信息,使目的端可直接进行差分检测。
  2. 噪声放大问题
    AF中继在放大信号的同时放大噪声,导致目的端信噪比(SNR)下降,尤其在深衰落信道中性能劣于解码转发(DF)。

三、选择合并(SC)技术的原理与优势

SC是一种低复杂度分集合并技术,适用于多径或中继系统,通过选择最优链路提升可靠性。

  1. 工作流程
    目的端接收来自直传路径(若存在)和多个中继的独立信号,选择瞬时SNR最高的路径进行解调。

  2. 对比其他合并方式

    合并技术复杂度需CSI抗时变能力
    选择合并(SC)无需
    最大比合并(MRC)需精确CSI低(依赖信道估计)
    等增益合并(EGC)需部分CSI
    SC在时变信道中无需CSI,硬件实现简单,但分集增益低于MRC。
  3. 在D-AF中的适用性

    • SC与DBPSK结合可完全避免信道估计,适应快速时变环境。
    • 多中继场景下,SC通过选择最优中继路径抑制深度衰落的影响。

四、时变信道对系统性能的影响机制

时变信道(如移动通信、水声通信)引入的动态特性是性能分析的核心挑战。

  1. 主要影响
    • 多普勒频移:收发端相对运动导致载波频率偏移,破坏相位连续性,干扰DBPSK的差分检测。
    • 时变衰落:信道增益随机波动,使接收信号幅度和相位快速变化,增加误码。
    • 相位失真:信道时变性导致解调相位参考失准,尤其在高多普勒场景中。
  2. 信道估计失效
    时变信道中,CSI在传输期间已失效,传统依赖CSI的合并技术(如MRC)性能显著下降。

五、DBPSK-D-AF-SC系统在时变信道中的性能分析

1. 系统模型扩展
  • 信道模型:时变瑞利衰落信道,衰落速率由多普勒频移 fdfd​ 表征。
  • 接收信号:目的端接收信号为:

2. 理论性能推导
  • 精确误码率(BER) :文献推导了DBPSK-D-AF-SC在时变瑞利信道下的闭式BER表达式:

  • 关键结论
  • SC的BER性能接近需信道二阶统计量的“半最大比合并”(损失<1.5 dB)。
  • 当衰落速率较低(ρ≈1ρ≈1)时,系统BER趋近静态信道性能;高速衰落(ρ→0ρ→0)时BER显著上升。
3. 仿真验证与优化方向
  • 仿真结果
  • 在相同 Eb/N0Eb​/N0​ 下,SC的BER随 fdfd​ 增加而上升,但斜率低于非合并方案。
  • 中继数量增加可提升分集增益,抵消部分时变负面影响。
    • 优化方向
  • 动态中继选择:结合信道预测选择最优中继子集。
  • 混合合并策略:在低速时变场景切换至EGC/MRC以提升增益。

六、总结:技术优势与适用场景

  1. 核心优势
    • 低复杂度:DBPSK+SC完全避免信道估计,降低硬件开销。
    • 强鲁棒性:对时变引起的相位旋转和多普勒频移不敏感。
  2. 适用场景
    • 高速移动通信(车联网、高铁)。
    • 低功耗物联网(能量收集传感器网络)。
  3. 局限性与改进
    • 频偏敏感性问题可通过锁相环(PLL)辅助差分检测缓解。
    • 多中继协作下需设计分布式SC协议以减少信令开销。

研究展望:结合深度学习的自适应SC策略、多天线DBPSK设计、以及时变信道下的联合频偏补偿方案是未来重点。

📚2 运行结果

部分代码:

M=2;% MPSK modulation
Ns=1E5;% number of symbols
N0=1;% noise variance
Ptot_dB=0:5:30;% SNR scan
Ptot=10.^(Ptot_dB/10)*N0;

% ------------------------------------% 
%choose channel scenario 1,2,3
ch_scn=1;
%choose fading scenario, 1,2,3 
fade_scn=1;

% ------------- channel variances
vsig_sd=[1,1,1];
vsig_sr=[1,10,1];
vsig_rd=[1,1,10];
sig_sd=vsig_sd(ch_scn);
sig_sr=vsig_sr(ch_scn);
sig_rd=vsig_rd(ch_scn);

% distance between two channel uses
ch_dis=1; % 1 for block-by-block and R+1 for symbol-by-symbol

% normalized Dopplers frequencies
vfsd=[.001,.02,.05];
vfsr=[.001,.02,.01];
vfrd=[.001,.001,.05];

% scenario number
fsd=vfsd(fade_scn);
fsr=vfsr(fade_scn);
frd=vfrd(fade_scn);

% auto-correlation values
alfa0=besselj(0,2*pi*fsd*ch_dis);
alfa1=besselj(0,2*pi*fsr*ch_dis);
alfa2=besselj(0,2*pi*frd*ch_dis);
alfa=alfa1*alfa2;

% power allocation
vpaf=[.66,.54,.8];
paf=vpaf(ch_scn);

% source power
P0=paf*Ptot;
% relay power
P1=(1-paf)*Ptot;
% amplification factor
Ai2= P1./(P0*sig_sr+N0);

% this loop scans the SNR range
for ind=1:length(Ptot)

nbits=0;%total number of info sent
err_mrc=0;% error counter MRC method
err_sc=0;% error counter Selection Combining

clc
Ptot_dB(ind)

% this loop keeps going to get a certain amount of errors
ERR_TH=100;
while err_mrc<ERR_TH || err_sc<ERR_TH 

% info bits
xb=bits(log2(M)*Ns);

%binary  to MPSK
v=bin2mpsk(xb,M);

% DPSK modulation
s=diff_encoder(v);
Nd=length(s);

% S-D channel
hsd=sqrt(sig_sd)*flat_cos(Nd,fsd,ch_dis);

% S-R and R-D channels
hsr=sqrt(sig_sr)*flat_cos(Nd,fsr,ch_dis);
hrd=sqrt(sig_rd)*flat_cos(Nd,frd,ch_dis);

% AWGN noise CN(0,N0)
z_sd=cxn(Nd,N0);
z_sr=cxn(Nd,N0);
z_rd=cxn(Nd,N0);

% received signals at destination
y_sd=sqrt(P0(ind))*hsd.*s+z_sd;
y_sr=sqrt(P0(ind))*hsr.*s+z_sr;
y_rd=sqrt(Ai2(ind))*hrd.*y_sr+z_rd;

% decision variables
zeta_sd=real(diff_detector(y_sd));
zeta_rd=real(diff_detector(y_rd));

% MRC combining
a0_mrc=1/N0;
a1_mrc=1/((1+Ai2(ind)*sig_rd)*N0);
vh_mrc=a0_mrc*zeta_sd+a1_mrc*zeta_rd;

% selection combining
vh_sc=zeros(1,length(zeta_sd));
 for k=1:length(zeta_sd)
     if abs(zeta_sd(k))> abs(zeta_rd(k))
         vh_sc(k)=zeta_sd(k);
     else
         vh_sc(k)=zeta_rd(k);
     end
 end

% binary detection
bh_mrc=mpsk2bin(vh_mrc,M);
bh_sc=mpsk2bin(vh_sc,M);

% error count
err_mrc=err_mrc+sum(abs(xb-bh_mrc));
err_sc=err_sc+sum(abs(xb-bh_sc));
nbits=log2(M)*Ns+nbits;

end

% compute practical BER 
BER_mrc(ind)=err_mrc/nbits;
BER_sc(ind)=err_sc/nbits;

end

% theoretical BER, numerical average
Pb_sc=Pb_sc_dpsk(P0,N0,Ai2,M,fsd,fsr,frd,ch_dis,sig_sr,sig_rd,sig_sd);

% BER, analytic average
%Pb_sc2=Pb_sc_dpsk2(P0,N0,Ai2,M,fsd,fsr,frd,ch_dis,sig_sr,sig_rd,sig_sd);

% error floor
Pbf=Pe_floor(paf,fsd,fsr,frd,M,ch_dis,sig_sd,10,sig_rd)*ones(1,length(P0));
%% plot 
lcm=['b-+';'r-X';'k:>';'g-.';'y-*'];
mrk_sz=8;

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、文章下载

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值