📄 mfpdltxzonestart.m
字号:
%***************************************************************************
% 802.16-2004 OFDMA PHY - mFPDLTxZoneInit Downlink function
%
% Description: Initializes LUTs that are constant within the zone.
%
% [DlCarrierMap,PRBS] = mFPDLTxZoneStart(ZoneConfig,
% AsyncPhyControl)
%
% Input:
% ZoneConfig: Data Structure that contains zone configuration
% params, including number of carriers, number of
% used carriers, maximum number of subchanels, etc.
% For details please see WiMAX Integration Framework
% Specification document
% AsyncPhyControl:Asynchronous PHY control data structure
% contains info such as DlPremableBase IdCell, etc.
%
% Output:
% DlCarrierMap: Scrambling LUT (includes the cluster,subchannel
% and carrier permutations)
%
% PRBS: Psuedo random bit sequence that is used by the Data
% modulator. (consists of 32 more bit than required to
% cover all teh possible offsets.)
%
% Functions:
% N/A
%
% Data Files:
% N/A
%
%***************************************************************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Property of Freescale
% Freescale Confidential Proprietary
% Freescale Copyright (C) 2005 All rights reserved
% ----------------------------------------------------------------------------
% $RCSfile: mFPDLTxZoneStart.m.rca $
% $Revision: 1.7 $
% $Date: Fri Dec 15 04:47:53 2006 $
% Target: Matlab
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [DlCarrierMap,PRBS] = mFPDLTxZoneStart(ZoneConfig, AsyncPhyControl,testcase)
%path is relative to the FP/*/SPManager/matlab folder
addpath('../../../DL/SPKernel/DlTableGen/matlab/');
addpath('../../../DL/SPKernel/PrbsGen/matlab/');
%The following LUTs are assumed to be the same for the whole zone.
%The FPDLTx harness takes into account the offset into the PRBS.
%generate DL carrier scrambling lookup table
DlCarrierMap = mDlTableGen(ZoneConfig, AsyncPhyControl);
%generate PRBS sequence
PRBS = mGenPRBS(ZoneConfig, AsyncPhyControl);
%test vector generation
if testcase
FN=0;%Frame number, Zone number and Segment number are concidered as 0 for time being
ZN=0;%Frame number, Zone number and Segment number are concidered as 0 for time being
SGN=0;%Frame number, Zone number and Segment number are concidered as 0 for time being
TCstr=sprintf('TC%03d',testcase);
%IF2aTXCtrl
if ~exist(['../../SPKernel/SbcPermutation/vector/in/',TCstr],'dir')
mkdir(['../../SPKernel/SbcPermutation/vector/in/',TCstr]);
end
mGenBin(DlCarrierMap,...
sprintf('../../SPKernel/SbcPermutation/vector/in/%s/IF2bTXCtrl_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SGN,AsyncPhyControl.DlPermBase),...
'uint16','R');
%IF2bTX
if ~exist(['../../SPKernel/SbcRandomizer/vector/in/',TCstr],'dir')
mkdir(['../../SPKernel/SbcRandomizer/vector/in/',TCstr]);
end
mGenBin(PRBS,...
sprintf('../../SPKernel/SbcRandomizer/vector/in/%s/IF2cTXCtrl_%02d_%02d_%02d_%02d.lod',TCstr,FN,ZN,SGN,AsyncPhyControl.IDCell),...
'int8','R');
end
rmpath('../../../DL/SPKernel/DlTableGen/matlab/');
rmpath('../../../DL/SPKernel/PrbsGen/matlab/');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -