?? msdeinterleaverinitialization.m
字號:
%======================================
%MSDeInterleaverInitialization.m
%======================================
switch xRC
case 3
%根據(jù)原始數(shù)據(jù)幀的長度設(shè)置解交織器的長度,信號插入向量
%以及去重復(fù)因子
switch xFrameLength
case 6120
xDerepeatFactor=1;
xInsertVector=[1];
xInterleaverSize=12288;
case 3048
xDerepeatFactor=1;
xInsertVector=[1];
xInterleaverSize=12288;
case 1512
xDerepeatFactor=1;
xInsertVector=[1];
xInterleaverSize=6144;
case 744
xDerepeatFactor=1;
xInsertVector=[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
xDerepeatFactor=1;
xInsertVector=[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
xDerepeatFactor=2;
xInsertVector=[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
xDerepeatFactor=4;
xInsertVector=[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
xDerepeatFactor=8;
xInsertVector=[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
xDerepeatFactor=16;
xInsertVector=[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
xDerepeatFactor=2;
xInsertVector=[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
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -