-
大小: 3KB文件類(lèi)型: .m金幣: 1下載: 0 次發(fā)布日期: 2021-06-09
- 語(yǔ)言: Matlab
- 標(biāo)簽:
資源簡(jiǎn)介
這事情我自己寫(xiě)的一個(gè)關(guān)于通信當(dāng)中交織器的matlab程序,用起來(lái)還行!
代碼片段和文件信息
clear?all;
clc;
disp(‘請(qǐng)輸入你想要的序列長(zhǎng)度:‘)
K=input(‘K=‘);
svar=0.6;
x=round(svar*rand(1K));
disp(‘原始輸出序列為:‘);
disp(x);
figure;
stem(x);title(‘原始序列‘);xlabel(‘個(gè)數(shù)‘);ylabel(‘值‘);
%信息序列沒(méi)經(jīng)過(guò)交織器直接進(jìn)入信道
nvar=0.1;
noise=nvar*randn(1K);
z12=x+noise;
uvar=0.3;
for?t=round(0.4*K):round(0.6*K)
????wp(t)=u(t);
end
ganrao=uvar*wp;
ganrao(1:(round(0.4*K)-1))=0;
ganrao((round(0.6*K)+1):K)=0;
z=z12+ganrao;
z2=round(z);
disp(‘經(jīng)過(guò)信道后信息序列為:‘);
z3=z2(1:K);
disp(z3);
figure;
stem(z3‘r‘);title(‘經(jīng)過(guò)信道未交織信息序列‘);xlabel(‘個(gè)數(shù)‘);ylabel(‘值‘);
%計(jì)算沒(méi)經(jīng)過(guò)交織器的誤碼率
j=0;
for?i=1:K
????if(z3(i)~=x(i))
????j=j+1;?
????end
end
Pe1=j/K;
st=sprintf(‘沒(méi)經(jīng)過(guò)交織器的誤碼率為:%.20f‘Pe1);
disp(st);
%信息序列經(jīng)過(guò)卷積交織器
%(1)確定卷積交織器輸入矩陣
%確定輸入矩陣的列數(shù),C(標(biāo)準(zhǔn)中給定)
if?K>=10?&&?K<=159
????C=5;
elseif?(K>=160?&&?K<=200)||(K>=481?&&?K<=530)
????C=10;
elseif?(K>=201?&&?K<=481)
????C=20;
else
????C=50;
end
%確定輸入矩陣的行數(shù),R
%找到滿足條件的最小質(zhì)數(shù),p
p_table=[5??7 11 13 17 19 23 29 31 37 41 43?...
????47 53 59 61 67 71 73 79 83 89 97?...
????101 103 107 109 113 127 131 137 139 149 151?...
????157 163 167 173 179 181 191 193 197 199 211?...
????223 227 229 233 239 241 251 257];
if?K>=481?&&?K<=530
????p=53;
????R=p;
else
????%從標(biāo)準(zhǔn)給定的p_table表中找到最小質(zhì)數(shù),p
????%p滿足條件(p+1)*C>=K
????ii=1;
????while?(p_table(ii)+1)*C ????????ii=ii+1;
????end
????p=p_table(ii);
????%確定交織矩陣行數(shù),R?
????if?K<=(p-1)*C
????????R=p-1;
????elseif?K>(p-1)*C?&&?K<=C*p
????????R=p;
????elseif?K>C*p
???
評(píng)論
共有 條評(píng)論