📄 mtx_add_subinter.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Property of Freescale
% Freescale Confidential Proprietary
% Freescale Copyright (C) 2005 All rights reserved
% ----------------------------------------------------------------------------
% $RCSfile: mTx_add_subinter.m.rca $
% $Revision: 1.1 $
% $Date: Mon Jan 22 10:28:18 2007 $
% Target: Matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% add = mTx_add_subinter(N) generates address information for
% subblock interleavers defined in 8.4.9.2.3.4.2 Subblock
% interleaving IEEE Std. 802.16-2004, P601
%
% Output:
% add => Interleaver address
% Input:
% N => No. of couples in one block equal to Nep/2
function add = mTx_add_subinter(N)
% Get m & J value depending on N
% Table 330 Parameters for the subblock interleavers when supporting H-ARQ
[m,J] = mTx_p_subinter (N);
% Initialize k,i to 0
k = 0;
i = 0;
for n = 1:N
tmp_state = mBin_state(fix(k/J), m);
BRO_state(1:m) = tmp_state(m:-1:1);
% Calculate a tentative output address Tk
Tk = 2^m * mod(k,J) + mInt_state(BRO_state);
while Tk >= N
k = k+1;
tmp_state = mBin_state(fix(k/J), m);
BRO_state(1:m) = tmp_state(m:-1:1);
% Calculate a tentative output address Tk
Tk = 2^m * mod(k,J) + mInt_state(BRO_state);
end
add(i+1) = Tk;
k = k+1;
i = i+1;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -