📄 cdma2k_phlayer.mdl
字号:
padSigAt "End"
zpadAlong "Columns"
padNumOutRowsSpecMethod "User-specified"
numOutRows "172 + 12 + 8"
padNumOutColsSpecMethod "User-specified"
numOutCols "1"
trunc_flag "None"
}
Block {
BlockType Reference
Name "Puncture"
Ports [1, 1]
Position [640, 103, 720, 147]
SourceBlock "commsequence2/Puncture"
SourceType "Puncture"
punctureVector "[1]"
}
Block {
BlockType Reference
Name "Repeat"
Ports [1, 1]
Position [510, 103, 590, 147]
SourceBlock "dspsigops/Repeat"
SourceType "Repeat"
N "1"
ic "0"
mode "Maintain input frame rate"
}
Block {
BlockType Outport
Name "Modulation\nSymbols"
Position [885, 118, 915, 132]
}
Line {
SrcBlock "Block Interleaver"
SrcPort 1
DstBlock "Modulation\nSymbols"
DstPort 1
}
Line {
SrcBlock "Channel\nBits"
SrcPort 1
DstBlock "Add FQI"
DstPort 1
}
Line {
SrcBlock "Add FQI"
SrcPort 1
DstBlock "Encoder\nTail Bits"
DstPort 1
}
Line {
SrcBlock "Encoder\nTail Bits"
SrcPort 1
DstBlock "Convolutional\nEncoder"
DstPort 1
}
Line {
SrcBlock "Convolutional\nEncoder"
SrcPort 1
DstBlock "Repeat"
DstPort 1
}
Line {
SrcBlock "Repeat"
SrcPort 1
DstBlock "Puncture"
DstPort 1
}
Line {
SrcBlock "Puncture"
SrcPort 1
DstBlock "Block Interleaver"
DstPort 1
}
Annotation {
Name "Tx Channel Structure for \nForward Fundamen"
"tal Channel - Radio Configuration 3"
Position [28, 22]
HorizontalAlignment "left"
DropShadow on
FontName "Arial"
FontSize 12
FontWeight "bold"
}
Annotation {
Name "Performs Frame Quality Indicator and tail b"
"its attachment, convolutional encoding with rate 1/4 constraint length 9,\nre"
"peatition and puncturing as described in Figure 3.1.3.1.1.1-15"
Position [363, 26]
HorizontalAlignment "left"
}
}
}
Block {
BlockType SubSystem
Name "adjust Initial Settings"
Ports []
Position [15, 14, 165, 59]
BackgroundColor "[0.796078, 0.984314, 0.768627]"
ShowName off
AttributesFormatString "%<chType>\\n%<radConfig>\\n%<dataRates>\\n%<txD"
"ivMode>\\n%<chMode1>\\n"
TreatAsAtomicUnit off
MaskType "CDMA2000 Initial Settings"
MaskPromptString "Channel Type|Radio Configuration|Data Rates:|Le"
"ngth of frame in multiples of 20 ms (n):|Long Code Scrambling:|Power Control "
"SubChannel Insertion Rate:|Forward Traffic Channel Spreading Code Index:|Forw"
"ard Traffic Channel PN Offset:|Quasi-orthogonal function index for F-DTCH:|Tr"
"ansmit Diversity Mode:|Channel Model:|EcN0 (in dB):|Maximum Doppler Frequency"
" shift (in Hz):|Multipath Profile - Delay Vector (s):|Multipath Profile - Gai"
"n Vector (dB):"
MaskStyleString "popup(Forward Fundamental),popup(Radio Configur"
"ation 3),popup(1.5 Kbps|2.7 Kbps|4.8 Kbps|9.6 Kbps),popup(1|2|4),popup(On|Off"
"),popup(Non Power Control|1|1/2|1/4),edit,edit,popup(0|1|2|3),popup(Non-TD),p"
"opup(No Channel|AWGN Channel|Multipath Fading Channel),edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on"
MaskCallbackString "||idx = strmatch(get_param(gcb,'dataRates'), st"
"rvcat('1.5 Kbps','2.7 Kbps','4.8 Kbps','9.6 Kbps'));\n\n%-- Set numSamp, CRC "
"size and tail bits\nnumSamp = {'16','40','80','172'};\nfqiSize = {'6','6','8'"
",'12'}; \nsGenPol = {'[6 5 2 1 0]','[6 5 2 1 0]','[8 7 4 3 1 0]','[12 11 10 9"
" 8 4 1 0]'};\nrepetV = {'8','4','2','1'};\npunctV ={'[1;1;1;1;0]','[1;1;1;1;1"
";1;1;1;0]','[1]','[1]'};\n\n% Source\nsSampTime = ['20e-3*' get_param(gcb,'nF"
"rameMask') '/' numSamp{idx}];\nset_param([bdroot '/Binary Data Source'],'samp"
"PerFrame',numSamp{idx},...\n 'Ts',sSampTime);\n\n%-- Add/Extract Frame"
" Quality Indicator: 6,8,12 bits\nset_param([bdroot '/Tx Channel Structure/Add"
" FQI'],'genPoly',sGenPol{idx});\nset_param([bdroot '/Rx Channel Structure/Ext"
"ract FQI'],'genPoly',sGenPol{idx});\n\n%-- Encoder Tail bits\nnumCol = [numSa"
"mp{idx} ' + ' fqiSize{idx} ' + 8'];\nset_param([bdroot '/Tx Channel Structure"
"/Encoder Tail Bits'],'numOutRows',numCol);\nnumCol = [numSamp{idx} ' + ' fqiS"
"ize{idx}];\nset_param([bdroot '/Rx Channel Structure/Encoder Tail Bits'],'num"
"OutRows',numCol);\n\n%-- Repetition\nset_param([bdroot '/Tx Channel Structure"
"/Repeat'],'N',repetV{idx});\nset_param([bdroot '/Rx Channel Structure/Derepea"
"t'],'N',repetV{idx});\n\n%-- Puncture\nset_param([bdroot '/Tx Channel Structu"
"re/Puncture'],'punctureVector',punctV{idx});\nset_param([bdroot '/Rx Channel "
"Structure/DePuncture'],'insertZeroVector',punctV{idx});\n\n% BER metrics\nsDe"
"lay = ['2*' numSamp{idx}];\nset_param([bdroot '/Error Rate Calculation'],'N',"
"sDelay);\n\n%-- Clean up\nclear idx;\nclear numSamp;\nclear tailBits;\nclear "
"fqiSize;\nclear sSampTime;\nclear sDelay;\nclear fqiSize;\nclear numCol;\ncle"
"ar sGenPol;\nclear repetV;\nclear punctV;\n\n\n|%-- Update parameters\nstr1='"
"/Tx Antenna/Long Code Scrambling Power Control and Signal Point Mapping';\nse"
"t_param([bdroot str1],'nFrameMask',get_param(gcb,'nFrameMask'));\n\nstr2 = '/"
"Rx Antenna/Long Code DeScrambling Power Control Extracting';\nset_param([bdro"
"ot str2],'nFrameMask',get_param(gcb,'nFrameMask'));\n\n%Clean up\nclear str1;"
"\nclear str2;\nclear sSprdFactor;|%-- Update parameters\nstr1='/Tx Antenna/Lo"
"ng Code Scrambling Power Control and Signal Point Mapping';\nset_param([bdroo"
"t str1],'longCScrMask',get_param(gcb,'longCScrMask'));\n\nstr2 = '/Rx Antenna"
"/Long Code DeScrambling Power Control Extracting';\nset_param([bdroot str2],'"
"longCScrMask',get_param(gcb,'longCScrMask'));\n\n%Clean up\nclear str1;\nclea"
"r str2;|str1='/Tx Antenna/Long Code Scrambling Power Control and Signal Point"
" Mapping';\nset_param([bdroot str1],'gateRateMask',get_param(gcb,'gateRateMas"
"k'));\n\nstr2 = '/Rx Antenna/Long Code DeScrambling Power Control Extracting'"
";\nset_param([bdroot str2],'gateRateMask',get_param(gcb,'gateRateMask'));\n\n"
"%Clean up\nclear str1;\nclear str2;|set_param([bdroot '/Rx Antenna/Rake Recei"
"ver'],'trChCode',get_param(gcb,'trChCode'));\nset_param([bdroot '/Tx Antenna/"
"Spreading Non-TD Mode'],'trChCode',get_param(gcb,'trChCode'));|set_param([bdr"
"oot '/Rx Antenna/Rake Receiver'],'pnOffset',get_param(gcb,'pnOffset'));\nset_"
"param([bdroot '/Tx Antenna/Spreading Non-TD Mode'],'pnOffset',get_param(gcb,'"
"pnOffset'));|set_param([bdroot '/Rx Antenna/Rake Receiver'],'qof_idx',get_par"
"am(gcb,'qof_idx'));\nset_param([bdroot '/Tx Antenna/Spreading Non-TD Mode'],'"
"qof_idx',get_param(gcb,'qof_idx'));|\nif(strcmp(get_param(gcb,'TxDivMode'),'N"
"on-TD'))\n scrBitRepetition = '1';\nelse\n scrBitRepetition = '"
"2';\nend\n\n%-- Scrambling Bit Repetition\nassignin('base','scrBitRepetition'"
",scrBitRepetition);\n\n%-- Update parameters\nstr1='/Tx Antenna/Long Code Scr"
"ambling Power Control and Signal Point Mapping';\nset_param([bdroot str1],'Tx"
"DivMode',get_param(gcb,'TxDivMode'));\n\nstr2 = '/Rx Antenna/Long Code DeScra"
"mbling Power Control Extracting';\nset_param([bdroot str2],'TxDivMode',get_pa"
"ram(gcb,'TxDivMode'));\n\n%-- clean up\nclear str1;\nclear str2;|idx = strmat"
"ch('EcN0',get_param(gcb,'MaskNames'));\nidx2 = strmatch('dopplerFreq',get_par"
"am(gcb,'MaskNames'));\nidx3 = strmatch('delayVector',get_param(gcb,'MaskNames"
"'));\nidx4 = strmatch('gainVector',get_param(gcb,'MaskNames'));\n\nen = get_p"
"aram(gcb,'MaskEnables');\nvis = get_param(gcb,'MaskVisibilities');\n\nif(strc"
"mp(get_param(gcb,'chMode1'),'No Channel'))\n en{idx} = 'off';\n"
" [vis{[idx2 idx3 idx4]}] = deal('off');\nelseif (strcmp(get_param(gcb,"
"'chMode1'),'AWGN Channel'))\n en{idx} = 'on';\n [vis{[idx2 idx3"
" idx4]}] = deal('off');\nelse\n en{idx} = 'on';\n [vis{[idx2 id"
"x3 idx4]}] = deal('on');\n\nend\n\nset_param(gcb,'MaskEnables',en,'MaskVisibi"
"lities',vis );\nset_param([bdroot '/Channel Model/Channel1'],'BlockChoice',ge"
"t_param(gcb,'chMode1'));\n\nclear idx;\nclear idx2;\nclear idx3;\nclear idx4;"
"\nclear en;\nclear vis;||||"
MaskEnableString "off,off,on,off,on,on,on,on,on,off,on,on,on,on,o"
"n"
MaskVisibilityString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on,on,on,on,on,on,on,on,on,on"
MaskVarAliasString ",,,,,,,,,,,,,,"
MaskVariables "chType=@1;radConfig=@2;dataRates=@3;nFrameMask="
"@4;longCScrMask=@5;gateRateMask=@6;trChCode=@7;pnOffset=@8;qof_idx=@9;TxDivMo"
"de=@10;chMode1=@11;EcN0=@12;dopplerFreq=@13;delayVector=@14;gainVector=@15;"
MaskInitialization "%-- PLCM : Public Long Code Mask\nplcm_37 = ran"
"dint(1,37,2);\nassignin('base','plcm_37',plcm_37);\n\n%-- Generate Interleave"
"r table\nnumSampInt = 768;\nradConfig = 3;\ninterTable = cdma2k_inttable(numS"
"ampInt, radConfig);\nassignin('base','interTable',interTable);\n\n%-- EcI0\na"
"ssignin('base','EcN0',EcN0);\n\nfingerEnables = length(delayVector);\nfingerE"
"nables = [ones(1,fingerEnables) zeros(1,4-fingerEnables)];\nfingerPhasesTicks"
" = [delayVector zeros(1,4-length(delayVector))];\nfingerPhasesTicks = round(f"
"ingerPhasesTicks*1.2288e6*4);\n\n%-- Multipath Fading\nassignin('base','doppl"
"erFreq',dopplerFreq);\nassignin('base','delayVector',delayVector);\nassignin("
"'base','fingerEnables',fingerEnables);\nassignin('base','fingerPhasesTicks',f"
"ingerPhasesTicks);\nassignin('base','gainVector',gainVector);"
MaskDisplay "disp('CDMA2K:\\nInitial Settings');"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "Forward Fundamental|Radio Configuration 3|9.6 K"
"bps|1|On|1/4|23|1|2|Non-TD|Multipath Fading Channel|10|486|[0 260e-9 521e-9 7"
"81e-9]|[0 -3 -6 -9]"
System {
Name "adjust Initial Settings"
Location [320, 443, 902, 444]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
}
}
Line {
SrcBlock "Binary Data\nSource"
SrcPort 1
Points [0, 0; 10, 0]
Branch {
DstBlock "Tx Channel Structure"
DstPort 1
}
Branch {
Points [0, 130]
DstBlock "Error Rate\nCalculation"
DstPort 1
}
}
Line {
SrcBlock "Error Rate\nCalculation"
SrcPort 1
DstBlock "BER Measurements2"
DstPort 1
}
Line {
SrcBlock "Error Rate\nCalculation1"
SrcPort 1
DstBlock "BER Measurements3"
DstPort 1
}
Line {
SrcBlock "Tx Antenna"
SrcPort 1
Points [20, 0; 15, 0]
Branch {
Points [75, 0]
DstBlock "Channel Model"
DstPort 1
}
Branch {
Points [0, -45]
DstBlock "After Pulse Shaping"
DstPort 1
}
}
Line {
Name "channel 1"
Labels [2, 0]
SrcBlock "Channel Model"
SrcPort 1
Points [0, 65; -80, 0]
Branch {
DstBlock "Rx Antenna"
DstPort 1
}
Branch {
Points [0, 35]
DstBlock "From Channel"
DstPort 1
}
}
Line {
SrcBlock "Tx Channel Structure"
SrcPort 1
Points [0, 0; 25, 0]
Branch {
Points [0, 120]
DstBlock "Error Rate\nCalculation1"
DstPort 1
}
Branch {
DstBlock "Tx Antenna"
DstPort 1
}
}
Line {
SrcBlock "Rx Channel Structure"
SrcPort 1
Points [-25, 0; 0, -100]
DstBlock "Error Rate\nCalculation"
DstPort 2
}
Line {
SrcBlock "Rx Channel Structure"
SrcPort 2
DstBlock "Frame Quality\nIndicator"
DstPort 1
}
Line {
SrcBlock "Power Control\nSubChannel"
SrcPort 1
DstBlock "Tx Antenna"
DstPort 2
}
Line {
SrcBlock "Rx Antenna"
SrcPort 1
DstBlock "PC SubChannel"
DstPort 1
}
Line {
SrcBlock "Rx Antenna"
SrcPort 2
Points [0, 0; -125, 0]
Branch {
DstBlock "Rx Channel Structure"
DstPort 1
}
Branch {
Points [0, -125]
DstBlock "Hard Decisions"
DstPort 1
}
}
Line {
SrcBlock "Hard Decisions"
SrcPort 1
DstBlock "Error Rate\nCalculation1"
DstPort 2
}
Annotation {
Name "CDMA2000 1xRTT Physical Layer\nRadio Configurat"
"ion 3 - Forward Fundamental Channel"
Position [457, 76]
FontName "Bookman Old Style"
FontSize 16
FontWeight "bold"
}
Annotation {
Name "Double click on the block\nto open the help fil"
"e"
Position [836, 33]
HorizontalAlignment "right"
FontName "Arial"
}
Annotation {
Name "BER"
Position [340, 351]
HorizontalAlignment "left"
FontName "Arial"
FontSize 9
}
Annotation {
Name "Errors Count"
Position [340, 371]
HorizontalAlignment "left"
FontName "Arial"
FontSize 9
}
Annotation {
Name "Samples Count"
Position [340, 391]
HorizontalAlignment "left"
FontName "Arial"
FontSize 9
}
Annotation {
Name "BER"
Position [745, 341]
HorizontalAlignment "left"
FontName "Arial"
FontSize 9
}
Annotation {
Name "Errors Count"
Position [745, 361]
HorizontalAlignment "left"
FontName "Arial"
FontSize 9
}
Annotation {
Name "Samples Count"
Position [745, 381]
HorizontalAlignment "left"
FontName "Arial"
FontSize 9
}
Annotation {
Name "Transmitter"
Position [649, 191]
FontName "arial"
FontSize 12
FontWeight "bold"
}
Annotation {
Name "Receiver"
Position [654, 431]
FontName "arial"
FontSize 12
FontWeight "bold"
}
Annotation {
Name "Channel\nModel"
Position [899, 286]
FontName "arial"
FontSize 12
FontWeight "bold"
}
Annotation {
Name "Encoding"
Position [254, 181]
FontName "arial"
FontSize 12
FontWeight "bold"
}
Annotation {
Name "Decoding"
Position [249, 451]
FontName "arial"
FontSize 12
FontWeight "bold"
}
Annotatio
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -