conpun.asv
来自「802.11a phy layer protocol by myself」· ASV 代码 · 共 35 行
ASV
35 行
function DataCon=ConPun(DataScr,Rate)
code=convenc(DataScr,poly2trellis(7,[133 171])); %% 1/2 convolution with g0=133 g1=171 (industry-standard generator polynomials)
for i=1:(length(code)/2) %% code=[A0 A1 B0 B1 A2 B2 A3 B3...]
A(i)=code(i*2-1); %% to get A & B from code
B(i)=code(i*2);
end
if mod(Rate,9)==0 %% 9/18/36/54Mbits/s r=3/4
j=1; %% j index of DataCon after stealing bits
for i=1:length(A) %% i 1/2 index of code
switch mod(i,3)
case 1
DataCon(j)=A(i);j=j+1;
DataCon(j)=B(i);j=j+1;
case 2
DataCon(j)=A(i);j=j+1;
case 0
DataCon(j)=B(i);j=j+1;
end
end
elseif Rate==48 %% 48Mbits/s r=2/3
j=1;
for i=1:length(A)
if mod(i,2)==1
DataCon(j)=A(i);j=j+1;
DataCon(j)=B(i);j=j+1;
else
DataCon(j)=A(i);j=j+1;
end
end
else %% 6Mbits/s r=1/2
DataCon=code;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?