?? msinterleaverinitialization.asv
字號(hào):
%==========================================================================
% MS_Interleaver_Initialization.m
%==========================================================================
%根據(jù)無線配置設(shè)置交織器的信號(hào)重復(fù)因子,符號(hào)抽取向量以及交織器的長度
%只支持RC3和RC4
switch xRC
case 3
%根據(jù)原始數(shù)據(jù)幀的長度設(shè)置的信號(hào)重復(fù)因子,信號(hào)抽取向量以及交織器長度
switch xFrameLength
case 6120
xRepetitionCount=1;
xPunctureVector=[1];
xInterleaverSize=12288;
case 3048
xRepetitionCount=1;
xPunctureVector=[1];
xInterleaverSize=12288;
case 1512
xRepetitionCount=1;
xPunctureVector=[1];
xInterleaverSize=6144;
case 744
xRepetitionCount=1;
xPunctureVector=[1];
%xInterleaverSize=3072;
m=6;
J=48;
% Even interleaved Symbol
i = [0:2:3072-2]';
x = i/2;
Aeven = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
% Odd interleaved Symbol
i = [1:2:3072-1]';
x= 3072 - (i+1)/2;
Aodd = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
int_table = reshape([Aeven Aodd]',3072,[]) + 1;
case 360
xRepetitionCount=1;
xPunctureVector=[1];
%xInterleaverSize=1536;
m=6;
J=24;
% Even interleaved Symbol
i = [0:2:1536-2]';
x = i/2;
Aeven = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
% Odd interleaved Symbol
i = [1:2:1536-1]';
x= 1536 - (i+1)/2;
Aodd = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
int_table = reshape([Aeven Aodd]',1536,[]) + 1;
case 172
%xRepetitionCount=2;
%xPunctureVector=[1];
%xInterleaverSize=1536;
m=6;
J=24;
% Even interleaved Symbol
i = [0:1:1536-1]';
x = i;
Aeven = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
% Odd interleaved Symbol
% i = [1:2:1536-1]';
% x= 1536 - (i+1)/2;
% Aodd = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
int_table = reshape([Aeven]',1536,[]) + 1;
case 80
xRepetitionCount=4;
xPunctureVector=[1];
% xInterleaverSize=1536;
m=6;
J=24;
% Even interleaved Symbol
i = [0:2:1536-2]';
x = i/2;
Aeven = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
% Odd interleaved Symbol
i = [1:2:1536-1]';
x= 1536 - (i+1)/2;
Aodd = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
int_table = reshape([Aeven Aodd]',1536,[]) + 1;
case 40
xRepetitionCount=8;
xPunctureVector=[1 1 1 1 1 1 1 1 0];
%xInterleaverSize=1536;
m=6;
J=24;
% Even interleaved Symbol
i = [0:2:1536-2]';
x = i/2;
Aeven = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
% Odd interleaved Symbol
i = [1:2:1536-1]';
x= 1536 - (i+1)/2;
Aodd = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
int_table = reshape([Aeven Aodd]',1536,[]) + 1;
case 16
xRepetitionCount=16;
xPunctureVector=[1 1 1 1 0];
%xInterleaverSize=1536;
m=6;
J=24;
% Even interleaved Symbol
i = [0:2:1536-2]';
x = i/2;
Aeven = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
% Odd interleaved Symbol
i = [1:2:1536-1]';
x= 1536 - (i+1)/2;
Aodd = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
int_table = reshape([Aeven Aodd]',1536,[]) + 1;
case 24
xRepetitionCount=2;
xPunctureVector=[1];
%xInterleaverSize=384;
m=6;
J=6;
% Even interleaved Symbol
i = [0:2:384-2]';
x = i/2;
Aeven = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
% Odd interleaved Symbol
i = [1:2:384-1]';
x= 384 - (i+1)/2;
Aodd = 2^m*(mod(x,J))+ bi2de(de2bi(floor(x/J),m,'left-msb'),'right-msb');
int_table = reshape([Aeven Aodd]',384,[]) + 1;
otherwise
error('Error:Invalid Frame Length for Radio Configuration 3 in cdma 2000 Mobile Station block<Interleaver>');
int_table = [ ];
end
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -