當前位置:成語大全網 - 書法字典 - 使用Matlab對ldpc進行仿真。有壹個構造檢驗矩陣編解碼的程序,但不知道如何連貫模擬。

使用Matlab對ldpc進行仿真。有壹個構造檢驗矩陣編解碼的程序,但不知道如何連貫模擬。

sigm = 0.1:0.1:5;

ber =零(大小(sigm));

對於l=1:100

對於w=1:長度(sigm)

I = load(‘h . txt‘);

a=i(:,1);

b=i(:,2);

a = a+1;

b = b+ 1;

h =零(130,260);

idx = sub 2 ind(size(H),a’,b’);

h(idx)= 1;%生成H矩陣

x =零(1,260);

y = 2 * x-1;

z = y+sigm(w)* randn(1,260);

p 1 =個壹(1,260)。/(1+exp(-2 * z ./sigm(w));

P0 = 1-p 1;

qij 1 = h . * repmat(p 1,130,1);

qi j0 = h . * repmat(P0,130,1);初始步驟百分比

for i=1:100

pr DCT = ones(130,1);

rji0 =零(size(qij 1));

tqiq 1 = ones(size(qiq 1))-2 * qiq 1;

for i=1:130

對於j=1:260

if tqi 1(I,j)~ = 0

pr DCT(I)= pr DCT(I)* tqi 1(I,j);

其他

pr DCT(I)= pr DCT(I);

結束

結束

結束

for i=1:130

對於j=1:260

if tqi 1(I,j)~ = 0

rji 0(I,j)= pr DCT(I)/tqi 1(I,j);

其他

rij 0(I,j)= 0;

結束

結束

結束

rji 0 = 1/2+1/2 * rji 0;

rji 1 = 1-rji 0;%水平步長

prd CT 1 = ones(1,260);

對於j=1:260

for i=1:130

如果rji 1(I,j)~ = 0

prd CT 1(j)= prd CT 1(j)* rji 1(I,j);

其他

prd CT 1(j)= prd CT 1(j);

結束

結束

結束

QQ1=p1。* prd CT 1;

prd CT 0 = ones(1,260);

對於j=1:260

for i=1:130

如果rji 0(I,j)~ = 0

prd CT 0(j)= prd CT 0(j)* rji 0(I,j);

其他

prd CT 0(j)= prd CT 0(j);

結束

結束

結束

QQ0=p0。* prdct0

k =個壹(大小(QQ1))。/(QQ 1+QQ 0);

Q0 = k. * QQ0

q 1 = k . * QQ 1;

prd CT 2 = ones(1,260);

qqij 0 = zeros(size(qij 0));

對於j=1:260

for i=1:130

如果rji 0(I,j)~ = 0

prd ct2(j)= prd ct2(j)* rji 0(I,j);

其他

prd ct2(j)= prd ct2(j);

結束

結束

結束

對於j=1:260

for i=1:130

如果rji 0(I,j)~ = 0

qqij 0(I,j)= prd ct2(j)/rji 0(I,j);

其他

qqij 0(I,j)= 0;

結束

結束

結束

qqqi 0 = repmat(p 0,130,1)。* qqij0

prd ct3 = ones(1,260);

qqij 1 =零(size(qij 1));

對於j=1:260

for i=1:130

如果rji 1(I,j)~ = 0

prd CT 3(j)= prd CT 3(j)* rji 1(I,j);

其他

prd ct3(j)= prd ct3(j);

結束

結束

結束

對於j=1:260

for i=1:130

如果rji 1(I,j)~ = 0

qqij 1(I,j)= prd ct3(j)/rji 1(I,j);

其他

qqij 1(I,j)= 0;

結束

結束

結束

qqqi 1 = repmat(p 1,130,1)。* qqij 1;

kk = ones(size(qi j0))。/(qqi 0+qqi 1);

qij0=kk。* qqqij0

qij1=kk。* qqqi 1;垂直步長百分比

ZZ =(sign(q 1-Q0)+1)/2;%決定代碼應該是1還是0

如果rem(ZZ * H‘,2)= = 0

打破;

end %計算綜合癥

結束

ber(w)=長度(find(ZZ))/(260+ber(w));

結束

結束

snr =(大小(sigm))。/sigm;

ber=ber。/(ones(size(ber))* 100);

圖(20 * log(SNR),ber,‘*-‘);

xlabel(‘SNR‘);

ylabel(‘BER‘);

我自己編的,用SPA解碼,觀察了100次信噪比和誤碼率的關系。復雜度很高,我是菜鳥。