📄 ooknyqmf.mdl
字号:
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, 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 [535, 22, 630, 48]
ShowName off
Expr "2*cos(4*pi*u)"
}
Block {
BlockType Fcn
Name "Fcn1"
Position [260, 140, 355, 170]
ShowName off
Expr "cos(4*pi*u)"
}
Block {
BlockType Gain
Name "Gain1"
Position [810, 112, 835, 138]
Gain "1/20"
}
Block {
BlockType SubSystem
Name "Noise variance"
Ports []
Position [479, 75, 585, 99]
BackgroundColor "lightBlue"
ShowName off
OpenFcn "setnoise"
FontSize 12
FontAngle "italic"
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "noise"
MaskDisplay "disp('Noise variance')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Noise variance"
Location [136, 230, 381, 439]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "cyan"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
}
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [395, 118, 425, 142]
ShowName off
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [650, 113, 680, 137]
ShowName off
}
Block {
BlockType SubSystem
Name "Raised-Cosine\nreceive filter"
Ports [1, 1]
Position [710, 103, 790, 147]
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "R-C filter"
MaskDescription "Design a raised cosine filter and use it to fil"
"ter the input signal."
MaskHelp "This block designs a raised cosine filter using"
" the specified parameter. The filter is used to filter the input signal. You "
"can optionally use the sinc filter in the filtering computation."
MaskPromptString "Symbol interval (sec):|Computation sampling tim"
"e (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol interv"
"al):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc filter"
" (1 or 0, suggest 1):"
MaskStyleString "edit,edit,edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on,on,on"
MaskCallbackString "|||||"
MaskEnableString "on,on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on"
MaskVarAliasString ",,,,,"
MaskInitialization "td=@1;if length(td)>1,off=td(2);td=td(1);else,o"
"ff=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil,R,d"
"elay);x=@6/2;"
MaskDisplay "disp('R-C\\nfilter')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "1|.05|0.82|6|'FIR'|0"
System {
Name "Raised-Cosine\nreceive filter"
Location [131, 545, 589, 761]
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 [35, 30, 55, 50]
}
Block {
BlockType DiscreteFilter
Name "Filter"
Position [255, 31, 310, 69]
Numerator "num"
Denominator "den"
SampleTime "ts"
}
Block {
BlockType SubSystem
Name "Memory Impulse"
Ports [2, 1]
Position [155, 30, 225, 70]
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "Impulse"
MaskDescription "1/sinc filter:"
MaskHelp "When the threshold is greater than zero, th"
"is block outputs an impulse signal, which begins at the raising edge of the s"
"econd input and lasts the holding time. The impulse holds a constant amplitud"
"e, which equals the amplitude of the first input at the begining of the impul"
"se. A clock raising edge will trigger next impulse. When the threshold is les"
"s or equal to zero, this block faithfully outputs the first input."
MaskPromptString "Holding time:|Threshold for clock pulse: "
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskInitialization "ts=@1;thr=@2;x=thr>0;"
MaskDisplay "disp('1/sinc')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "ts|x"
System {
Name "Memory Impulse"
Location [541, 520, 939, 745]
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 [35, 185, 55, 205]
}
Block {
BlockType Inport
Name "in_2"
Position [25, 30, 45, 50]
Port "2"
}
Block {
BlockType Constant
Name "Constant"
Position [210, 155, 230, 175]
Value "x"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [155, 90, 180, 110]
}
Block {
BlockType Switch
Name "Switch"
Position [295, 124, 320, 156]
Threshold ".5"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [205, 84, 240, 116]
SampleTime "ts"
}
Block {
BlockType SubSystem
Name "discrete\nRising edge\ndetector"
Ports [1, 1]
Position [65, 26, 120, 54]
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "Edge Detection"
MaskDescription "Rising edge detection:"
MaskHelp "When the input signal rising edge passe"
"d the given shreshold, this block outputs one, otherwise outputs zero."
MaskPromptString "Threshold:|Sampling time:"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskInitialization "thld=@1;ts=@2;"
MaskDisplay "disp('Edge\\nDetector')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "thr|ts"
System {
Name "discrete\nRising edge\ndetector"
Location [419, 521, 808, 713]
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 [10, 15, 30, 35]
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator"
Position [135, 18, 165, 42]
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator1"
Position [200, 88, 230, 112]
}
Block {
BlockType RelationalOperator
Name "Relational\nOperator2"
Position [265, 23, 295, 47]
Operator ">"
}
Block {
BlockType UnitDelay
Name "Unit Delay"
Position [120, 87, 170, 103]
SampleTime "ts"
}
Block {
BlockType Constant
Name "one1"
Position [30, 135, 60, 155]
Value "thld"
}
Block {
BlockType Outport
Name "out_1"
Position [340, 25, 360, 45]
}
Line {
SrcBlock "in_1"
SrcPort 1
Points [10, 0]
Branch {
DstBlock "Relational\nOperator"
DstPort 1
}
Branch {
Points [0, 70]
DstBlock "Unit Delay"
DstPort 1
}
}
Line {
SrcBlock "Unit Delay"
SrcPort 1
DstBlock "Relational\nOperator1"
DstPort 1
}
Line {
SrcBlock "one1"
SrcPort 1
Points [35, 0]
Branch {
Points [0, -110]
DstBlock "Relational\nOperator"
DstPort 2
}
Branch {
Points [80, 0; 0, -40]
DstBlock "Relational\nOperator1"
DstPort 2
}
}
Line {
SrcBlock "Relational\nOperator"
SrcPort 1
DstBlock "Relational\nOperator2"
DstPort 1
}
Line {
SrcBlock "Relational\nOperator1"
SrcPort 1
Points [5, 0; 0, -60]
DstBlock "Relational\nOperator2"
DstPort 2
}
Line {
SrcBlock "Relational\nOperator2"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
}
}
Block {
BlockType Outport
Name "out_1"
Position [355, 130, 375, 150]
}
Line {
SrcBlock "in_2"
SrcPort 1
DstBlock "discrete\nRising edge\ndetector"
DstPort 1
}
Line {
SrcBlock "discrete\nRising edge\ndetector"
SrcPort 1
Points [5, 0; 0, 55]
DstBlock "Product"
DstPort 1
}
Line {
SrcBlock "Constant"
SrcPort 1
Points [15, 0; 0, -25]
DstBlock "Switch"
DstPort 2
}
Line {
SrcBlock "Switch"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
Line {
SrcBlock "in_1"
SrcPort 1
Points [35, 0]
Branch {
Points [185, 0]
DstBlock "Switch"
DstPort 3
}
Branch {
Points [0, -90]
DstBlock "Product"
DstPort 2
}
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "Zero-Order\nHold"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
Points [15, 0; 0, 30]
DstBlock "Switch"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Pulses deivide\nsame sample time1"
Ports [0, 1]
Position [35, 71, 95, 109]
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "Pulse generator"
MaskDescription "Vector pulses with sample rate of each puls"
"e as Sample_time ./Divider. "
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -