📄 ds_uwb200msys.mdl
字号:
Line {
SrcBlock "Tbout"
SrcPort 1
DstBlock "Downsample"
DstPort 1
}
Line {
SrcBlock "Downsample"
SrcPort 1
Points [0, 0; 25, 0]
Branch {
DstBlock "Gain"
DstPort 1
}
Branch {
DstBlock "Memory"
DstPort 1
}
}
Line {
SrcBlock "Memory"
SrcPort 1
Points [0, 0; 10, 0]
Branch {
DstBlock "Memory1"
DstPort 1
}
Branch {
DstBlock "Gain1"
DstPort 1
}
}
Line {
SrcBlock "Memory1"
SrcPort 1
Points [0, 0; 5, 0]
Branch {
DstBlock "Memory2"
DstPort 1
}
Branch {
DstBlock "Gain2"
DstPort 1
}
}
Line {
SrcBlock "Memory2"
SrcPort 1
Points [0, 0; 10, 0]
Branch {
DstBlock "Memory3"
DstPort 1
}
Branch {
DstBlock "Gain3"
DstPort 1
}
}
Line {
SrcBlock "Memory3"
SrcPort 1
Points [5, 0]
DstBlock "Gain4"
DstPort 1
}
Line {
SrcBlock "Gain4"
SrcPort 1
Points [-22, 0]
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Gain3"
SrcPort 1
Points [0, 5; 26, 0]
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Gain2"
SrcPort 1
Points [0, 44]
DstBlock "Sum"
DstPort 3
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [0, 59]
DstBlock "Sum"
DstPort 4
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [0, 70; 245, 0]
DstBlock "Sum"
DstPort 5
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Requa"
DstPort 1
}
Annotation {
Position [226, 285]
}
Annotation {
Position [258, 238]
}
}
}
Block {
BlockType SubSystem
Name "8判决输出"
Ports [1, 1]
Position [215, 260, 275, 340]
Orientation "left"
FontSize 12
TreatAsAtomicUnit off
MaskDescription "设相关检测器考相干波形幅度为ARef,输出能量Eout="
"(ATr*ARef)^2=Maxout^2,故判决门限与Maxout正比,也与ARef成正比;但信噪比(或检"
"测器性能)却与ARef无关,设扩频码长为N,当用ARef波形和归一化扩频波形相关时有:"
"\nSNRo1=Eout/((sigma/N)*ARef^2); SNRo2=ATr^2/(sigma/N)\n相同,其中sigma为噪"
"声方差,(sigma/N)表示扩频作用使平均噪声方差变小。\n理解相干解调输出信噪比仅由"
"发送波形和sigma所确定,与检测器相干波形幅度无关"
MaskPromptString "判决门限=Modulation.cross*Modulation.A*Plus.A"
MaskStyleString "checkbox"
MaskTunableValueString "on"
MaskEnableString "on"
MaskVisibilityString "on"
MaskToolTipString "on"
MaskVariables "cross=@1;"
MaskInitialization "Modulation=evalin('base','Modulation');\nPlus=e"
"valin('base','Plus');\nChannel=evalin('base','Channel');\n%cross=Modulation.C"
"ross*Modulation.A*Plus.A...\n %*Channel.Gain;\ncross=Modulation.Cross*"
"Modulation.A*Plus.A;\n\n"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "on"
System {
Name "8判决输出"
Location [179, 82, 991, 743]
Open off
ModelBrowserVisibility on
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "TbEsti"
Position [65, 88, 95, 102]
}
Block {
BlockType Constant
Name "Constant3"
Position [70, 150, 110, 180]
NamePlacement "alternate"
ShowName off
FontSize 12
Value "cross"
}
Block {
BlockType RelationalOperator
Name "rational"
Position [180, 86, 220, 119]
FontSize 12
Operator ">"
InputSameDT off
}
Block {
BlockType Outport
Name "Rcv"
Position [265, 98, 295, 112]
}
Line {
SrcBlock "Constant3"
SrcPort 1
Points [50, 0]
DstBlock "rational"
DstPort 2
}
Line {
SrcBlock "rational"
SrcPort 1
DstBlock "Rcv"
DstPort 1
}
Line {
SrcBlock "TbEsti"
SrcPort 1
DstBlock "rational"
DstPort 1
}
Annotation {
Position [226, 230]
}
Annotation {
Position [258, 183]
}
}
}
Block {
BlockType Display
Name "Display"
Ports [1]
Position [15, 126, 95, 184]
Orientation "left"
ShowName off
Decimation "1"
}
Block {
BlockType "S-Function"
Name "Error Rate\nCalculation"
Ports [2, 1]
Position [115, 126, 180, 184]
Orientation "left"
ShowName off
AncestorBlock "commsink2/Error Rate\nCalculation"
FunctionName "scomerrrate2"
Parameters "N, st_delay, cp_mode, subframe, PMode, WsName, "
"RsMode2,stop,numErr,maxBits"
MaskType "Error Rate Calculation"
MaskDescription "Compute the error rate of the received data by "
"comparing it to a delayed version of the transmitted data. The block output i"
"s a three-element vector consisting of the error rate, followed by the number"
" of errors detected and the total number of symbols compared. This vector can"
" be sent to either the workspace or an output port.\n\nThe delays are specifi"
"ed in number of samples, regardless of whether the input is a scalar or a vec"
"tor. The inputs to the 'Tx' and 'Rx' ports must be sample-based scalars or fr"
"ame-based column vectors. \n\nThe 'Stop simulation' option stops the simulati"
"on upon detecting a target number of errors or a maximum number of symbols, w"
"hichever comes first."
MaskHelp "helpview(commbhelp)"
MaskPromptString "Receive delay:|Computation delay:|Computation m"
"ode:|Selected samples from frame:|Output data:|Variable name:|Reset port|Stop"
" simulation|Target number of errors:|Maximum number of symbols:"
MaskStyleString "edit,edit,popup(Entire frame|Select samples fro"
"m mask|Select samples from port),edit,popup(Workspace|Port),edit,checkbox,che"
"ckbox,edit,edit"
MaskTunableValueString "off,off,off,off,off,off,off,on,on,on"
MaskCallbackString "||commblkerrrate(gcb,'CpMode');||commblkerrrate"
"(gcb,'OutMode');|||commblkerrrate(gcb,'UpdateEnables');||"
MaskEnableString "on,on,on,off,on,off,on,on,off,off"
MaskVisibilityString "on,on,on,off,on,off,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on,on,on,on,on"
MaskVarAliasString ",,,,,,,,,"
MaskVariables "N=@1;st_delay=@2;cp_mode=@3;subframe=@4;PMode=@"
"5;WsName=&6;RsMode2=@7;stop=@8;numErr=@9;maxBits=@10;"
MaskInitialization "[s] = commblkerrrate(gcb,'init');\nif(PMode==1)"
"\n if(isempty(WsName))\n error('Output variable name cannot be empt"
"y.')\n end\n if(~isletter(WsName(1)))\n error('Output variable n"
"ame must be a string.')\n end\nend\n"
MaskDisplay "disp(' Error Rate\\n Calculation');\nport_lab"
"el('input',s.i1,s.i1s);\nport_label('input',s.i2,s.i2s);\nport_label('input',"
"s.i3,s.i3s);\nport_label('input',s.i4,s.i4s);"
MaskSelfModifiable on
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "2+ceil(max(Channel.SigPath)*xtcs.Ts/xtcs.Tb)|10"
"|Entire frame|[]|Port|ErrorVec|off|off|100|1e6"
}
Block {
BlockType Scope
Name "Floating\nScope"
Ports [4]
Position [230, 124, 285, 196]
Orientation "left"
NamePlacement "alternate"
ShowName off
FontSize 12
Location [5, 64, 1028, 762]
Open off
NumInputPorts "4"
TickLabels "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
axes2 "%<SignalLabel>"
axes3 "%<SignalLabel>"
axes4 "%<SignalLabel>"
}
List {
ListType SelectedSignals
axes1 "DS_UWB200MSYS/5UWB信道:1|DS_UWB200MSYS/3脉冲"
"触发:1|DS_UWB200MSYS/4数据调制:1|DS_UWB200MSYS/7Equalizer:1"
axes2 "DS_UWB200MSYS/6RAKE:1|DS_UWB200MSYS/5UWB信道:"
"1"
axes3 "DS_UWB200MSYS/7Equalizer/Tbout:1|DS_UWB200MSY"
"S/8判决输出:1|DS_UWB200MSYS/6RAKE:1"
axes4 "DS_UWB200MSYS/7Equalizer/Sum:1"
}
TimeRange "250"
YMin "-0.25~-0.75~-7.5~-1.25"
YMax "0.25~0.75~7.5~1.25"
SaveName "ScopeData1"
DataFormat "StructureWithTime"
}
Block {
BlockType SubSystem
Name "系统参数"
Ports []
Position [40, 230, 133, 308]
BackgroundColor "orange"
ShowName off
Priority "1"
FontName "Arial"
FontSize 12
TreatAsAtomicUnit off
MaskType "UWB model - Settings."
MaskDescription "Parameter settings for UWB model."
MaskHelp "Parameter settings for UWB model."
MaskPromptString "系统通信速率的设定:信息码元周期Tb=Tf*hk=2^N*Tc"
"*hk|扩频因子|RAKE Taps|均衡码元数 |仿真/抽样精度,同时也是UWB信道滤波器系数精"
"度,Ts=5/64|码片速率Tc=Tb/N>=(2*Tp);"
MaskStyleString "edit,edit,edit,edit,checkbox,checkbox"
MaskTunableValueString "on,on,on,on,off,on"
MaskCallbackString "|||||"
MaskEnableString "on,on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on"
MaskVarAliasString ",,,,,"
MaskVariables "Tb=@1;N=@2;Taps=@3;Equas=@4;Ts=@5;Tc=@6;"
MaskInitialization "xtcs.N=N;\nxtcs.Tb=Tb;\nif Tc==1\n xtcs."
"Tc=Tb/N;\nend\nxtcs.Taps=Taps;\nxtcs.Equas=Equas;\nxtcs.Ts=5/64;\nassignin('b"
"ase','xtcs',xtcs);\n"
MaskDisplay "disp( 'DS-UWM200M\\n系统参数设置')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "5|8|10|5|on|on"
System {
Name "系统参数"
Location [322, 346, 756, 632]
Open off
ModelBrowserVisibility on
ModelBrowserWidth 78
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Annotation {
Name "This subsystem is empty.\nIt is used for se"
"tting parameter values (in the mask)."
Position [223, 111]
}
}
}
Line {
SrcBlock "4数据调制"
SrcPort 1
Points [30, 0]
Branch {
Points [45, 0]
DstBlock "5UWB信道"
DstPort 1
}
Branch {
Points [0, 75]
DstBlock "Floating\nScope"
DstPort 1
}
}
Line {
SrcBlock "3脉冲触发"
SrcPort 1
DstBlock "4数据调制"
DstPort 1
}
Line {
SrcBlock "8判决输出"
SrcPort 1
Points [-15, 0]
DstBlock "Error Rate\nCalculation"
DstPort 2
}
Line {
SrcBlock "Error Rate\nCalculation"
SrcPort 1
DstBlock "Display"
DstPort 1
}
Line {
SrcBlock "5UWB信道"
SrcPort 1
Points [0, 20]
Branch {
Points [0, 85]
DstBlock "6RAKE"
DstPort 1
}
Branch {
Points [-60, 0; 0, -65]
DstBlock "Floating\nScope"
DstPort 2
}
}
Line {
SrcBlock "6RAKE"
SrcPort 1
Points [-15, 0]
Branch {
DstBlock "7Equalizer"
DstPort 1
}
Branch {
Points [0, -130]
DstBlock "Floating\nScope"
DstPort 3
}
}
Line {
SrcBlock "7Equalizer"
SrcPort 1
Points [-10, 0]
Branch {
DstBlock "8判决输出"
DstPort 1
}
Branch {
Points [0, -110]
DstBlock "Floating\nScope"
DstPort 4
}
}
Line {
SrcBlock "2信息码元"
SrcPort 2
Points [85, 0]
DstBlock "Error Rate\nCalculation"
DstPort 1
}
Line {
SrcBlock "2信息码元"
SrcPort 1
DstBlock "4数据调制"
DstPort 2
}
Annotation {
Position [680, 109]
}
Annotation {
Position [89, 79]
}
Annotation {
Position [369, 189]
}
Annotation {
Position [414, 487]
}
Annotation {
Position [177, 365]
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -