1.算法仿真效果
matlab2022a仿真結(jié)果如下:


2.算法涉及理論知識概要
低密度奇偶校驗碼(LDPC)譯碼是現(xiàn)代通信系統(tǒng)中一種高效的錯誤校正技術(shù),廣泛應(yīng)用于無線通信、衛(wèi)星通信和數(shù)據(jù)存儲等領(lǐng)域。LDPC碼因其良好的糾錯性能和接近香農(nóng)極限的潛力而受到重視。本文將詳細對比四種主流的迭代譯碼算法:Sum-Product (SP)、Min-Sum (MS)、Normalized Min-Sum (NMS) 和 Offset Min-Sum (OMS)。
2.1 Sum-Product (SP) 算法
SP算法基于概率論中的信念傳播思想,通過迭代的方式逐步修正對每個碼字位的估計。它利用校驗節(jié)點和變量節(jié)點之間的消息傳遞來更新對每個位的置信度。設(shè)H為校驗矩陣,LLR_y為接收到的軟判決信息(對數(shù)似然比),消息通過校驗節(jié)點到變量節(jié)點(CN→VN)和變量節(jié)點到校驗節(jié)點(VN→CN)的傳遞分別表示為:

2.2 Min-Sum (MS)算法
MS算法是對SP算法的一種簡化,它放棄了乘法運算,轉(zhuǎn)而使用最小值操作來近似概率乘積,降低了計算復雜度,但犧牲了一定的性能。

2.3 Normalized Min-Sum (NMS) 算法
NMS算法是對MS算法的改進,通過引入歸一化因子來補償由于最小值操作導致的性能損失,提高了算法的準確性。

2.4 Offset Min-Sum (OMS)算法
OMS算法通過引入偏置項(offset)來解決MS算法在高信噪比條件下性能下降的問題,提高了算法的穩(wěn)健性。

準確度:SP算法理論上最準確,但計算成本最高。NMS和OMS通過不同機制改進了MS算法的性能,NMS通過歸一化提升了低SNR下的性能,而OMS通過偏置項優(yōu)化了高SNR下的性能。
計算復雜度:MS算法最低,NMS和OMS雖然增加了計算復雜度,但相比SP仍顯著降低。
適用場景:對于資源有限的應(yīng)用,MS和OMS因其較低的復雜度而更受歡迎;在對性能要求極高的場合,NMS或SP可能更合適。
3.MATLAB核心程序
for jj = 1:1:length(SNR)
%仿真幀
Frames = 50;
error1 = 0; ?
cout ??= 0;
sigma ?= sqrt(1/10^(SNR(jj)/10));
for i = 1:1:Frames
[i,SNR(jj) ]
%編碼
msg ????????= randi([0, 1], 1, 1008);
msg_encode ?= func_Encoder(Hs, msg);
%調(diào)制
bpsk_encode = 1 - 2.*msg_encode;
%AWGN
bpsk_N ?????= awgn(bpsk_encode,SNR(jj),'measured');
%接收
llr ????????= 2*bpsk_N/(sigma^2);
ydecode ????= func_MS( H, llr, Iters );
errs ???????= sum(msg ~= ydecode);
error1 ?????= error1 + errs;
cout ???????= cout + 1;
end
Ber(1, jj) = error1/(K * cout);
end
figure
semilogy(SNR, Ber,'-b^',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.2,0.9,0.5]);
xlabel('Eb/N0(dB)');
ylabel('Ber');
title('最小和MS')
grid on;
save MS.mat SNR Ber