
关注我追更更多通信仿真代码文章目录摘要1 引言2 理论基础2.1 QPSK调制与解调原理2.2 多径信道模型2.3 LMS自适应滤波算法2.4 NLMS自适应滤波算法2.5 自适应信道均衡原理3 仿真设计3.1 参数设计3.2 仿真流程3.3 结果分析3.4 部分代码4. 总结摘要多径传播引起的码间干扰ISI是无线通信系统面临的主要挑战之一。本文基于时延扩展特性的多径信道冲激响应构建了一个完整的QPSK数字通信仿真平台系统研究了多径衰落对系统误码率性能的影响并评估了LMS和NLMS自适应均衡器在抑制ISI方面的效果。仿真结果表明多径信道会显著恶化系统性能在高信噪比条件下星座图仍呈现明显的扩散与旋转现象。LMS/NLMS均衡器能够有效恢复星座图的聚集性为自适应均衡技术在无线通信中的工程应用提供了参考依据。1 引言在无线通信中发射信号经由反射、绕射和散射等多种物理机制沿多条不同路径到达接收端这一现象称为多径传播。由于各路径的传播距离和反射次数不同信号分量到达接收端的时间存在差异形成“回声”效应。这些回声导致当前符号的能量扩散到相邻符号的时隙中产生码间干扰Inter-Symbol Interference, ISI。当ISI严重时接收端的眼图闭合星座图弥散系统误码率急剧升高甚至无法建立可靠通信。为对抗ISI工程上广泛采用自适应均衡技术。这类技术通过在接收端引入一个参数可调的数字滤波器使其频率响应逼近信道响应的逆函数从而抵消信道引入的幅度和相位失真。其中LMSLeast Mean Squares算法因其结构简洁、计算量小、无需先验统计信息等优势成为实际系统中应用最广的自适应算法之一。NLMSNormalized LMS作为其改进型通过对步长进行能量归一化在输入信号功率动态范围较大的场景下具有更好的数值稳定性。2 理论基础2.1 QPSK调制与解调原理2.2 多径信道模型2.3 LMS自适应滤波算法LMS算法的核心优势在于其计算复杂度仅与滤波器阶数呈线性关系且无需计算输入信号的自相关矩阵及其逆矩阵。其主要缺陷在于收敛速度受输入信号自相关矩阵条件数的影响且步长μ的选择面临收敛速度与稳态失调之间的固有矛盾。2.4 NLMS自适应滤波算法2.5 自适应信道均衡原理均衡器的工作一般分为两个阶段训练阶段通信建立初期发射端发送收发双方预先约定的训练序列。均衡器以训练序列符号为期望响应d(n)利用LMS/NLMS算法迭代更新系数。该阶段的目标是使滤波器快速收敛至信道逆模型的近似解。跟踪/判决引导阶段训练结束后均衡器切换至判决引导模式以硬判决输出作为期望响应继续跟踪信道的缓慢时变特性。3 仿真设计3.1 参数设计参数类型参数符号/说明数值系统参数总比特数—10 5 10^5105符号速率R s R_sRs16 MHz载波频率f c f_cfc32 MHz采样频率f s a m p l i n g f_{sampling}fsampling256 MHz上采样倍数k f s a m p l i n g / R s k f_{sampling}/R_skfsampling/Rs16测试信噪比范围SNR-10 ~ 20 dB步进 1 dB均衡器参数滤波器阶数L LL10, 20训练序列比例—5%, 10%初始步长μ 0 \mu_0μ00.1步长衰减策略—每 30% 训练进度衰减至 0.1 倍Ch1冲激响应采样点:幅度0:1.00, 2:0.20, 36:0.15, 49:0.18, 94:0.21, 95:0.15Ch2冲激响应采样点:幅度0:1.00, 5:0.25, 56:0.63, 70:0.45, 152:0.18, 203:0.08Ch3冲激响应采样点:幅度0:0.72, 1:1.00, 7:0.65, 24:0.99, 37:0.75, 45:0.86Ch4冲激响应采样点:幅度2:0.99, 3:0.65, 10:0.74, 36:0.86, 49:1.00, 94:0.72Ch5冲激响应采样点:幅度0:1.00, 16:1.00, 32:1.003.2 仿真流程3.3 结果分析根据仿真结果信道A、B、C、E的BER随SNR增加快速下降均衡效果理想而信道D的BER在高SNR时稳定在约0.26出现严重的误码平台。这主要由各信道的多径延迟分布决定信道D在延迟94个样点处存在系数为1.0的强反射约6个符号周期而均衡器阶数L20仅能覆盖约1.25个符号周期无法消除长时延码间干扰导致残留ISI严重即使无噪声也无法正确判决。该结果验证了均衡器性能受信道时延扩展与滤波器阶数匹配程度的制约并表明当前参数下LMS/NLMS算法对长时延多径信道如brD补偿能力不足。3.4 部分代码clear;close all;clc;tic bsrandi([01],1,1e5);%随机比特 sr16e6;%符号速率(Hz)fc32e6;%载波频率(Hz)fs256e6;%采样频率(Hz)SNR-10:1:20;%信噪比范围(dB)SNRslength(SNR);%信噪比个数%初始化 BER 存储 BER_idealzeros(1,SNRs);%理想信道AWGN的 BER BERzeros(1,5);%LMS 均衡后的 BER5个多径信道 BERnzeros(1,5);%NLMS 均衡后的 BER EbNo_idealzeros(1,SNRs);%理想信道的 Eb/N0 EbNozeros(1,5);%多径信道的 Eb/N0%巴西信道延迟分布(5个多径信道)及对应名称 brA[100.2zeros(1,36-2-1)0.15zeros(1,49-36-1)0.18zeros(1,94-49-1)0.210.15];brB[100000.25zeros(1,56-5-1)0.63zeros(1,70-56-1)0.45zeros(1,152-70-1)0.18zeros(1,203-152-1)0.08];brC[0.721000000.65zeros(1,24-7-1)0.99zeros(1,37-24-1)0.75zeros(1,45-37-1)0.86];brD[000.99zeros(1,10-2-1)0.65zeros(1,36-10-1)0.74zeros(1,49-36-1)0.86zeros(1,94-49-1)10.72];brE[1zeros(1,16-1)1zeros(1,32-16-1)1];dpcell(5,1);dp{1,1}brA;dp{2,1}brB;dp{3,1}brC;dp{4,1}brD;dp{5,1}brE;channel_names{brA,brB,brC,brD,brE};%信道名称%QPSK 调制[Iog,Qog,Mod]qpsk_mod(bs,sr,fs,fc);c1;%外层循环计数器SNR索引%预创建星座图窗口仅当 SNR20时使用 fig_createdfalse;%标记是否已创建星座图窗口forn1:SNRs%添加 AWGN所有信道共用同一噪声 nModawgn(Mod,SNR(n),measured);%1.理想信道AWGN无多径%直接解调不经过均衡器[I_ideal,Q_ideal]qpsk_demod(sr,fs,fc,nMod);%硬判决解映射 demap_idealzeros(1,length(bs));nn1;fork1:length(I_ideal)ifI_ideal(k)0Q_ideal(k)0demap_ideal(nn:nn1)[00];elseifI_ideal(k)0Q_ideal(k)0demap_ideal(nn:nn1)[01];elseifI_ideal(k)0Q_ideal(k)0demap_ideal(nn:nn1)[11];elseifI_ideal(k)0Q_ideal(k)0demap_ideal(nn:nn1)[10];end nnnn2;endBER_ideal(c)sum(xor(bs,demap_ideal))/length(bs);%计算 Eb/N0 EsNo10*log10(0.5*(1/sr)/(1/fs))SNR(c);EbNo_ideal(c)EsNo-10*log10(2);%2.多径信道5个fordpn1:size(dp,1)%通过多径信道FIR 滤波 rxfilter(dp{dpn,1},1,nMod);%解调[I,Q]qpsk_demod(sr,fs,fc,rx);%LMS 均衡L20;%滤波器阶数 Nlength(bs)*0.1;%训练序列长度10% step0.1;%学习率[y,mse]lms_filter(Iog,Qog,I,Q,step,L,N);%LMS 均衡后的解映射 demapzeros(1,length(bs));nn1;fork1:length(y)ifreal(y(k))0imag(y(k))0demap(nn:nn1)[00];elseifreal(y(k))0imag(y(k))0demap(nn:nn1)[01];elseifreal(y(k))0imag(y(k))0demap(nn:nn1)[11];elseifreal(y(k))0imag(y(k))0demap(nn:nn1)[10];end nnnn2;end%只计算训练序列之后的 BERBER(c,dpn)sum(xor(bs(N*21:end),demap(N*21:end)))/length(bs(N*21:end));%NLMS 均衡[yn,nmse]nlms_filter(Iog,Qog,I,Q,step,L,N);%NLMS 均衡后的解映射 demapnzeros(1,length(bs));nn1;fork1:length(yn)ifreal(yn(k))0imag(yn(k))0demapn(nn:nn1)[00];elseifreal(yn(k))0imag(yn(k))0demapn(nn:nn1)[01];elseifreal(yn(k))0imag(yn(k))0demapn(nn:nn1)[11];elseifreal(yn(k))0imag(yn(k))0demapn(nn:nn1)[10];end nnnn2;endBERn(c,dpn)sum(xor(bs(N*21:end),demapn(N*21:end)))/length(bs(N*21:end));%存储 Eb/N0所有信道相同EbNo(c,dpn)EbNo_ideal(c);%绘制星座图仅当 SNR20dB 时ifSNR(n)20figure(dpn);scatterplot(y);title([信道 ,channel_names{dpn}, (LMS均衡后)]);grid on;end end cc1;end%绘图%图1LMS 均衡后的 BER含理想信道对比 figuresemilogy(EbNo_ideal,BER_ideal,-k,LineWidth,1.5)%理想信道 hold onsemilogy(EbNo(:,1),BER(:,1),-*)semilogy(EbNo(:,2),BER(:,2),-x)semilogy(EbNo(:,3),BER(:,3),-v)semilogy(EbNo(:,4),BER(:,4),-^)semilogy(EbNo(:,5),BER(:,5),-o)xlabel(Eb/N0 (dB))ylabel(误比特率 (BER))legend(理想信道AWGN,信道 brA,信道 brB,信道 brC,信道 brD,信道 brE,...Location,southwest,FontSize,12)title(经LMS均衡后的BER vs Eb/N0)grid on%图2NLMS 均衡后的 BER含理想信道对比 figuresemilogy(EbNo_ideal,BER_ideal,-k,LineWidth,1.5)%理想信道 hold onsemilogy(EbNo(:,1),BERn(:,1),-*)semilogy(EbNo(:,2),BERn(:,2),-x)semilogy(EbNo(:,3),BERn(:,3),-v)semilogy(EbNo(:,4),BERn(:,4),-^)semilogy(EbNo(:,5),BERn(:,5),-o)xlabel(Eb/N0 (dB))ylabel(误比特率 (BER))legend(理想信道AWGN,信道 brA,信道 brB,信道 brC,信道 brD,信道 brE,...Location,southwest,FontSize,12)title(经NLMS均衡后的BER vs Eb/N0)grid on%图3LMS 与 NLMS 的 MSE 收敛曲线取最后一个信道的 figureplot(mse)hold onplot(nmse)hold offtitle(均方误差 (MSE))xlabel(迭代次数)ylabel(误差)legend(LMS,NLMS)grid on toc4. 总结本文构建了一个完整的QPSK数字通信仿真平台系统研究了多径衰落对系统性能的影响并评估了LMS和NLMS自适应均衡器的性能。仿真结果表明多径信道会显著恶化系统误码率而自适应均衡器能有效抑制码间干扰恢复星座图聚集性。研究验证了均衡器性能受信道时延扩展与滤波器阶数匹配程度的制约为自适应均衡技术在无线通信中的工程应用提供了参考。完整仿真代码可见往期文章文末VX公众号包含往期博客所有代码所见即所得