91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .m
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-05-26
  • 語言: Matlab
  • 標(biāo)簽:

資源簡介

是關(guān)于(8,4,4)漢明擴(kuò)展碼的程序,已經(jīng)調(diào)通。算法復(fù)雜度適中,親測(cè)可用?。?!

資源截圖

代碼片段和文件信息

%(844)擴(kuò)展碼硬判決+軟判決+spa
clc
clear
Eb_N0dB=0:1:10;
Eb_N0=10.^(0.1*Eb_N0dB);
Es_N0=(1/2).*Eb_N0;%將Eb_N0轉(zhuǎn)化為Es_N0
trip=5000;
zero_matrix=[0?0?0?0];
information=zeros(164);
n=8;k=4;
G=[1?0?0?0?1?0?1?1;0?1?0?0?1?1?1?0;0?0?1?0?0?1?1?1;?0?0?0?1?1?1?0?1];
H=[1?1?0?1?1?0?0?0;0?1?1?1?0?1?0?0;1?1?1?0?0?0?1?0;1?0?1?1?0?0?0?1];
%產(chǎn)生所有可能信息位和所有可能碼字
for?i=1:16
????information(i:)=de2bi(i-14‘left-msb‘);
end
codebook=rem(information*G2);
%產(chǎn)生信息位+編碼+調(diào)制+硬判決+軟判決
%msg1是一個(gè)M*k個(gè)隨機(jī)產(chǎn)生的信息位
msg1=randint(trip*k1);
%將msg1變成矩陣的形式,每行含有k個(gè)信息位
msg2=vec2mat(msg1k);??
%對(duì)信息序列進(jìn)行編碼
code2=rem(msg2*G2);
%對(duì)信息序列進(jìn)行BPSK調(diào)制
bp_code2=2*code2-1;
%加入高斯白噪聲,并采用硬判決譯碼
for?i=1:1:length(Eb_N0dB);
????noise_aver=0;noise_sigma=sqrt(1/(2*?Es_N0(i)));
????noise2=normrnd(noise_avernoise_sigmasize(bp_code2));
????noise_code2=bp_code2+noise2;
?????for?j=1:trip
?????????for?k=1:n
????????if?noise_code2(jk)>0de_code2(jk)=1;
????????else??de_code2(jk)=0;
????????end?
?????????end
?????end
?????????for?j=1:trip
????????error=[0?0?0?0?0?0?0?0];
????????if(de_code2(j:)*(H‘)==zero_matrix)tr_code(j:)=de_code2(j:);
????????else
????????????S=rem((de_code2(j:)*(H‘))2);%caculate?the?校正子
????????????S_DE=bi2de(S);
????????????H_de=bi2de(H‘);
????????????index1=find(H_de==S_DE);
????????????if(index1)%計(jì)算錯(cuò)誤圖樣
????????????????error(index1)=1;
????????????end
????????????????tr_code(j:)=rem(de_code2(j:)+error2);%,
????????end
????end
????for?a=1:1:trip;
????????for?b=1:4;
????????????tr_info(ab)=tr_code(ab);
????????end
????end
????[number(i)ratio(i)]=biterr(tr_infomsg2);
end
semilogy(Eb_N0dBratio‘b-‘);
hold?on;
grid?on;
%軟判決譯碼,采用最大似然譯碼準(zhǔn)則譯碼;
for?i=1:1:length(Eb_N0dB);
????noise_aver=0;noise_sigma=sqrt(1/(2*?Es_N0(i)));
????noise2=normrnd(noise_avernoise_sigmasize(bp_code2));
????noise_code2=bp_code2+noise2;
????%對(duì)接收到的軟序列,進(jìn)行最大似然譯碼(等效于最小距離譯碼);
????for?j=1:1:trip
????????w=noise_code2(j:)‘;
????????product=codebook*w;
????????index2=find(product==max(product));
????????tr_code(j:)=codebook(index2:);
????end
????for?a=1:1:trip
????????for?b=1:4
????????????tr_info2(ab)=tr_code(ab);
????????end
????end
????[number(i)ratio(i)]=biterr(tr_info2msg2);
end
semilogy(Eb_N0dBratio‘k-o‘);
hold?on;
%和積算法(SPA),迭代30次
m=4;
for?i=1:1:length(Eb_N0dB);
????noise_aver=0;noise_sigma=sqrt(1/(2*?Es_N0(i)));sigma2=noise_sigma*noise_sigma;
????noise2=normrnd(noise_avernoise_sigmasize(bp_code2));
????noise_code2=bp_code2+noise2;
????%轉(zhuǎn)換成接收序列的先驗(yàn)概率信息,p_zero()為每一位取0的概率;
????for?j=1:1:trip;
????????for?l=1:1:n;
????????????p_zero(jl)=1/(1+exp(2*noise_code2(jl)/sigma2));
????????????p_one(jl)=1/(1+exp(-2*noise_code2(jl)/sigma2));
????????end
????end
????%以7個(gè)信息位為一個(gè)單位,分別對(duì)M*7個(gè)碼組依次進(jìn)行迭代譯碼;
????for?j=1:1:trip;%共M行7位的信息組
????????Imax=1;%最大迭代次數(shù)初始化;
????????for?a=1:1:m;
????????????for?b=1:1:n;%第一次迭代,變量節(jié)點(diǎn)到校驗(yàn)節(jié)點(diǎn)傳遞的信息
????????????????if?H(ab)==0q_zero(ab)=0;q_one(ab)=0;%初始化;
????????????????else?q_zero(ab)=p_zero(jb);q_one

評(píng)論

共有 條評(píng)論

相關(guān)資源