📄 asknrzmf.mdl
字号:
Points [15, 0; 0, 20]
DstBlock "Relational\nOperator"
DstPort 1
}
Line {
SrcBlock "Constant1"
SrcPort 1
Points [10, 0; 0, -20]
DstBlock "Relational\nOperator"
DstPort 2
}
Line {
SrcBlock "Relational\nOperator"
SrcPort 1
Points [35, 0; 0, -50]
DstBlock "Switch"
DstPort 2
}
}
}
Block {
BlockType SubSystem
Name "hold"
Ports [3, 2]
Position [260, 138, 340, 182]
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "Triggered buffer down"
MaskDescription "Rising edge of the 2nd port triggers 1st po"
"rt vector signal in. Rising edge of the 3rd port triggers 1st outport signal "
"out."
MaskHelp "The block refreshes its registers with the "
"vector input from the 1st inport at the rising edge of the 2nd inport pulse. "
"The 1st outport outputs the elements of the registers starting with the given"
" initial index. The rising edge of the 3rd inport pulse triggers the 1st outp"
"ut to output the register value with the index increasing the increment value"
". The second outport outputs a spike pulse when the internal register is refr"
"eshed."
MaskPromptString "Input signal vector size:|Initial index (in"
"teger vector):|Increment for each index (integer vector):|Trigger threshold:|"
"When index exceed register size, 1: cyclic out, 0: zero out:"
MaskStyleString "edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on"
MaskCallbackString "||||"
MaskEnableString "on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on"
MaskToolTipString "on,on,on,on,on"
MaskVarAliasString ",,,,"
MaskInitialization "in_size=@1;ini_idx=@2;idx_inc=@3;thrshld=@4"
";cycl_flag=@5;out_size=length(ini_idx);[v,w]=trigicon(0,25,get_param(gcb,'ori"
"entation'),2);[x,y]=trigicon(1,75,get_param(gcb,'orientation'),2);[u,z]=trigi"
"con(0,50,get_param(gcb,'orientation'),2);"
MaskDisplay "plot(0,0,100,100,x,y,v,w,u,z);disp('Buffer "
"dwn')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "2|[1 0]|[0 0]|1|0"
System {
Name "hold"
Location [22, 58, 460, 228]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [15, 55, 35, 75]
}
Block {
BlockType Inport
Name "in_2"
Position [40, 70, 60, 90]
Port "2"
}
Block {
BlockType Inport
Name "in_3"
Position [65, 85, 85, 105]
Port "3"
}
Block {
BlockType Demux
Name "Demux"
Ports [1, 2]
Position [290, 62, 330, 98]
Outputs "[out_size 1]"
}
Block {
BlockType Mux
Name "Mux"
Ports [3, 1]
Position [110, 59, 140, 101]
Inputs "[in_size 1 1]"
}
Block {
BlockType "S-Function"
Name "S-function"
Ports [1, 1]
Position [185, 70, 235, 90]
FunctionName "regdown"
Parameters "ini_idx, idx_inc, thrshld, cycl_flag"
}
Block {
BlockType Outport
Name "out_1"
Position [390, 60, 410, 80]
}
Block {
BlockType Outport
Name "out_2"
Position [355, 80, 375, 100]
Port "2"
}
Line {
SrcBlock "S-function"
SrcPort 1
DstBlock "Demux"
DstPort 1
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "S-function"
DstPort 1
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "Demux"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
Line {
SrcBlock "in_2"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "Demux"
SrcPort 2
DstBlock "out_2"
DstPort 1
}
Line {
SrcBlock "in_3"
SrcPort 1
DstBlock "Mux"
DstPort 3
}
}
}
Block {
BlockType Outport
Name "binary"
Position [480, 60, 500, 80]
}
Block {
BlockType Outport
Name "Symbol"
Position [480, 140, 500, 160]
Port "2"
}
Line {
SrcBlock "Bits"
SrcPort 1
Points [15, 0]
Branch {
DstBlock "delay"
DstPort 1
}
Branch {
DstBlock "Shift register"
DstPort 1
}
}
Line {
SrcBlock "Shift register"
SrcPort 2
Points [20, 0]
Branch {
Points [0, -5]
DstBlock "hold"
DstPort 2
}
Branch {
Points [0, 10]
DstBlock "hold"
DstPort 3
}
}
Line {
SrcBlock "clock"
SrcPort 1
DstBlock "Shift register"
DstPort 2
}
Line {
SrcBlock "hold"
SrcPort 1
DstBlock "D/A "
DstPort 1
}
Line {
SrcBlock "Shift register"
SrcPort 1
DstBlock "hold"
DstPort 1
}
Line {
SrcBlock "delay"
SrcPort 1
DstBlock "binary"
DstPort 1
}
Line {
SrcBlock "D/A "
SrcPort 1
DstBlock "Symbol"
DstPort 1
}
Line {
SrcBlock "hold"
SrcPort 2
Points [10, 0; 0, 35]
DstBlock "Terminator"
DstPort 1
}
Annotation {
Name "two bits are combined to a 4-ary symbol.\nM"
"SB first"
Position [267, 7]
VerticalAlignment "top"
}
}
}
Block {
BlockType Reference
Name "Channel"
Ports [1, 1]
Position [485, 114, 565, 156]
SourceBlock "librnew/Channel"
SourceType "AWGN channel, fixed parameter"
m "0"
variance "0.001"
s "12345"
}
Block {
BlockType Clock
Name "Clock"
Position [245, 165, 265, 185]
Decimation "10"
}
Block {
BlockType Clock
Name "Clock1"
Position [495, 20, 515, 40]
Decimation "10"
}
Block {
BlockType SubSystem
Name "Error rate"
Ports [2]
Position [910, 225, 990, 265]
Orientation "down"
CopyFcn "sbiterr([],[],[],'CopyBlock')"
DeleteFcn "sbiterr([],[],[],'DeleteBlock')"
LoadFcn "sbiterr([],[],[],'LoadBlock')"
StartFcn "sbiterr([],[],[],'Start')"
StopFcn "sbiterr([],[],[],'Stop')"
NameChangeFcn "sbiterr([],[],[],'NameChange')"
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "Symbol/bit error counter"
MaskDescription "Use the input data from the 1st port as the ref"
"erence signal to detect the number of errors and error rate of the 2nd signal"
"."
MaskHelp "The signal from the first port must be a scalar"
". The second input port can be a vector with a delay to the first port signal"
". The comparison happens only at the sampling point."
MaskPromptString "Bit per symbol:|Number of digits on display:|De"
"lay between 1st port and 2nd port:|Sample time (sec):"
MaskStyleString "edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on"
MaskCallbackString "|||"
MaskEnableString "on,on,on,on"
MaskVisibilityString "on,on,on,on"
MaskToolTipString "on,on,on,on"
MaskVarAliasString ",,,"
MaskInitialization "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
MaskDisplay "disp('Error\\nmeter')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "2|10|1|1"
System {
Name "Error rate"
Location [255, 368, 509, 510]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [15, 45, 35, 65]
}
Block {
BlockType Inport
Name "in_2"
Position [15, 60, 35, 80]
Port "2"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [65, 46, 100, 79]
Inputs "2"
}
Block {
BlockType "S-Function"
Name "S-function"
Ports [1]
Position [130, 52, 195, 78]
FunctionName "sbiterr"
Parameters "num_lin, K, TDelay, Sample"
}
Line {
SrcBlock "in_2"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "S-function"
DstPort 1
}
}
}
Block {
BlockType Fcn
Name "Fcn"
Position [285, 162, 355, 188]
ShowName off
Expr "cos(4*pi*u)"
}
Block {
BlockType Fcn
Name "Fcn1"
Position [535, 17, 630, 43]
ShowName off
Expr "2*cos(4*pi*u)"
}
Block {
BlockType "S-Function"
Name "Integrate and Dump\n"
Ports [1, 1]
Position [730, 108, 810, 152]
FunctionName "schdint"
Parameters "td, ts, limit"
MaskType "Scheduled reset integration"
MaskDescription "Reset the state to be zero(s) at the\nscheduled"
" reset sample point."
MaskHelp "This block resets the state(s) to be zero(s) at"
" the reset time points. The reset interval can be a two-element vector with t"
"he second element as offset. The computation sample time must be smaller than"
" the reset interval. The block resets the state value to be the remainder of "
"the state divided by the modulo bound when the absolute value of the state is"
" larger than the modulo bound."
MaskPromptString "Scheduled reset time interval and offset (sec):"
"|Computation sample time and offset (sec):|Modulo bound:"
MaskStyleString "edit,edit,edit"
MaskTunableValueString "on,on,on"
MaskCallbackString "||"
MaskEnableString "on,on,on"
MaskVisibilityString "on,on,on"
MaskToolTipString "on,on,on"
MaskVarAliasString ",,"
MaskInitialization "td=@1;ts=@2;limit=@3;"
MaskDisplay "disp('Scheduled\\nreset-int')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "1|.01|999"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [380, 117, 405, 148]
ShowName off
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [660, 112, 685, 143]
ShowName off
}
Block {
BlockType Scope
Name "a(t)"
Ports [1]
Position [120, 225, 150, 255]
NamePlacement "alternate"
Location [224, 436, 1147, 536]
Open off
NumInputPorts "1"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
TimeRange "25.000000"
YMin "-3"
YMax "3"
DataFormat "Array"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -