主要内容

RLS和LMS算法进行比较

平衡QAM信号通过一个频率选择衰落信道使用LMS和RLS算法。比较两种算法的性能。

指定调制顺序。生成相应的QAM星座参考。

M = 16;sigConst = qammod (0: M - 1 M,“UnitAveragePower”,真正的);

创建一个频率选择静态通道有三个水龙头。

rchan = comm.RayleighChannel (“SampleRate”,1000,“PathDelays”[0 1 e - 3 2 e - 3],“AveragePathGains”3 6][0,“MaximumDopplerShift”0,“RandomStream”,“与种子mt19937ar”,“种子”,73);

RLS均衡器

创建一个对象RLS均衡器。

eqrls = lineareq (rls (0.99, 0.1);eqrls。SigConst = SigConst;eqrls。ResetBeforeFiltering = 0;

生成和QAM调制随机训练序列。通过序列通过瑞利衰落信道。通过接收到的信号并通过均衡器训练信号设置均衡器抽头权值。

trainData =兰迪([0 m - 1], 200,1);trainSig = qammod (trainData, M,“UnitAveragePower”,真正的);rxSig = rchan (trainSig);[~,~,errorSig] =平衡(eqrls、rxSig trainSig);

情节的大小误差估计。

情节(abs (errorSig))标题(的错误估计,RLS均衡器)包含(“符号”)ylabel (“振幅”)

在200符号错误几乎消除。

传输一个QAM信号通过一个频率选择频道。平衡接收信号使用前面“训练”RLS均衡器。衡量执行处理循环所需要的时间。

抽搐k = 1:20 data =兰迪([0 m - 1], 1000 1);%随机消息txSig = qammod(数据、米“UnitAveragePower”,真正的);%介绍信道失真。rxSig = rchan (txSig);%平衡接收信号。eqSig =平衡(eqrls rxSig);结束rlstime = toc;

情节的星座图和平衡的信号接收。

h =散点图(rxSig 1 0,“c”。);持有散点图(eqSig 1 0,“b”。、h)传说(接收信号的,“平衡的信号”)标题(“RLS均衡器”)举行

均衡器消除衰落信道的影响。

LMS均衡器

重复与LMS均衡器均衡过程。创建一个LMS均衡器对象。

eqlms = lineareq (6, lms (0.03));eqlms。SigConst = SigConst;eqlms。ResetBeforeFiltering = 0;

训练LMS均衡器。

trainData =兰迪([0 m - 1], 1000,1);trainSig = qammod (trainData, M,“UnitAveragePower”,真正的);rxSig = rchan (trainSig);[~,~,errorSig] =平衡(eqlms、rxSig trainSig);

情节的大小误差估计。

情节(abs (errorSig))标题(的错误估计,LMS均衡器)包含(“符号”)ylabel (“振幅”)

训练符号LMS均衡需要1000。

传输一个QAM信号通过相同的频率选择频道。平衡接收信号使用前面“训练”LMS均衡器。衡量执行处理循环所需要的时间。

抽搐k = 1:20 data =兰迪([0 m - 1], 1000 1);%随机消息txSig = qammod(数据、米“UnitAveragePower”,真正的);%介绍信道失真。rxSig = rchan (txSig);%平衡接收信号。eqSig =平衡(eqlms rxSig);结束lmstime = toc;

情节的星座图和平衡的信号接收。

h =散点图(rxSig 1 0,“c”。);持有散点图(eqSig 1 0,“b”。、h)传说(接收信号的,“平衡的信号”)标题(“LMS均衡器”)

均衡器消除衰落信道的影响。

比较循环两种均衡器算法的执行时间。

[rlstime lmstime]

LMS算法计算效率更高,因为它花了50%的时间来执行处理循环。然而,所需的训练序列LMS算法是5倍的时间。