📄 conpun.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -