📄 librnew.mdl
字号:
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "Abs"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "MASK map"
Ports [1, 1]
Position [130, 93, 210, 137]
ShowPortLabels off
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
MaskType "MASK map"
MaskDescription "Map a digital symbol onto an analog\nsignal in "
"the range [-1, 1] using M-ary\namplitude shift keying modulation mapping."
MaskHelp "This block maps an input digit signal onto a si"
"gnal in the range [-1, 1]. The coded signal can be modulated using analog\\nm"
"odulation blocks. Input digits are in the range [0, M-1], where M is the M-ar"
"y number. The input symbol interval can be a two-element vector with the seco"
"nd element being offset. The default value offset is 0. Use the MODMAP functi"
"on to see the constellation."
MaskPromptString "M-ary number (input integers in range [0, M-1])"
":|Input symbol interval and offset (sec):"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskInitialization "N=@1;Ac=1;Kc=Ac*2/(N-1);td=@2;"
MaskDisplay "disp('MASK\\nmap')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "4|1"
MaskVariableAliases ","
System {
Name "MASK map"
Location [520, 162, 902, 335]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [40, 30, 60, 50]
Port "1"
LatchInput off
Interpolate on
}
Block {
BlockType Gain
Name "Gain"
Position [180, 25, 220, 55]
Gain "Kc"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Constant
Name "Gain diff"
Position [180, 96, 215, 124]
Value "Ac"
VectorParams1D on
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [250, 63, 270, 87]
IconShape "rectangular"
Inputs "+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [100, 24, 135, 56]
SampleTime "td"
}
Block {
BlockType Outport
Name "out_1"
Position [315, 65, 335, 85]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [5, 0; 0, 30]
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Gain diff"
SrcPort 1
Points [10, 0; 0, -30]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Zero-Order\nHold"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "QPSK"
Ports [1, 2]
Position [435, 185, 510, 225]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
MaskType "MPSK"
MaskDescription "QASK mapping with circle constellation. The con"
"stellation is defined in NIC, RIC and PIC."
MaskHelp "This block maps a digital signal onto in-phase "
"and quadratic components, which are outputs in the first and second output po"
"rt respectively. The circle constellation is defined in NIC, RIC, and PIC. Th"
"e input symbol interval can be a two-element vector with the second element b"
"eing offset. The default value offset is 0. Use the MODMAP function to see th"
"e constellation."
MaskPromptString "Number of symbols in each circle NIC:|Radii in "
"each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval and of"
"fset (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"
MaskVariables "N=@1;A=@2;P=@3;td=@4;"
MaskInitialization "y1=apkconst(N,A,P);y1=[y1;y1];y1=y1(:);y2=imag("
"y1);y1=real(y1);x=[-sum(N) 1:sum(N)-1;1:sum(N)-1 10*sum(N)]-.5;x=x(:);"
MaskDisplay "disp('MPSK\\nmapping')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "[4]|[sqrt(2)]|[pi/4]|1"
MaskVariableAliases ",,,"
System {
Name "QPSK"
Location [572, 160, 1070, 460]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [40, 35, 60, 55]
Port "1"
LatchInput off
Interpolate on
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold1"
Position [95, 29, 130, 61]
SampleTime "td"
}
Block {
BlockType Lookup
Name "imag part1"
Position [190, 112, 225, 138]
InputValues "x"
OutputValues "y2"
}
Block {
BlockType Lookup
Name "real part"
Position [195, 32, 230, 58]
InputValues "x"
OutputValues "y1"
}
Block {
BlockType Outport
Name "Real"
Position [290, 35, 310, 55]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Imag"
Position [290, 115, 310, 135]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Zero-Order\nHold1"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold1"
SrcPort 1
Points [0, 0; 25, 0]
Branch {
DstBlock "real part"
DstPort 1
}
Branch {
Points [0, 80]
DstBlock "imag part1"
DstPort 1
}
}
Line {
SrcBlock "real part"
SrcPort 1
DstBlock "Real"
DstPort 1
}
Line {
SrcBlock "imag part1"
SrcPort 1
DstBlock "Imag"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "QPSK demap"
Ports [2, 1]
Position [585, 179, 660, 226]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
MaskType "MPSK demapping"
MaskDescription "Reverse the QASK map. Input in-phase\nand quadr"
"ature components from the\ntwo inputs. Output demapped signal."
MaskHelp "This block demaps a QASK mapped signal using ci"
"rcle constellation. You can place this block after a QAM demodulation block. "
"The circle constellation is defined in NIC, RIC, and PIC. The symbol interval"
" can be a two elements vector with the first element being offset. The defaul"
"t offset is zero. Use function MODMAP to view the constellation."
MaskPromptString "Number of symbols on each circle NIC::|Radii fo"
"r each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval and "
"offset (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"
MaskVariables "N=@1;A=@2;P=@3;td=@4;"
MaskInitialization "y1=apkconst(N,A,P);y2=imag(y1);y1=real(y1);"
MaskDisplay "disp('MPSK\\ndemapping')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "[4]|[sqrt(2)]|[pi/4]|1"
MaskVariableAliases ",,,"
System {
Name "QPSK demap"
Location [104, 488, 602, 788]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType Inport
Name "real"
Position [20, 45, 40, 65]
Port "1"
LatchInput off
Interpolate on
}
Block {
BlockType Inport
Name "imag"
Position [20, 130, 40, 150]
Port "2"
LatchInput off
Interpolate on
}
Block {
BlockType "S-Function"
Name "Minimum1"
Ports [1, 1]
Position [390, 95, 450, 115]
FunctionName "arymimai"
Parameters "'min'"
PortCounts "[]"
SFunctionModules "''"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [275, 55, 300, 75]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [275, 140, 300, 160]
Inputs "2"
Multiplication "Element-wise(.*)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [205, 48, 225, 77]
ForegroundColor "red"
IconShape "rectangular"
Inputs "+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [345, 88, 365, 117]
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum6"
Ports [2, 1]
Position [205, 133, 225, 162]
ForegroundColor "blue"
IconShape "rectangular"
Inputs "+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [95, 39, 130, 71]
ForegroundColor "red"
SampleTime "td"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold1"
Position [95, 124, 130, 156]
ForegroundColor "blue"
SampleTime "td"
}
Block {
BlockType Constant
Name "imag_pt"
Position [140, 179, 165, 201]
BackgroundColor "yellow"
Value "y2"
VectorParams1D on
}
Block {
BlockType Constant
Name "real_pt"
Position [145, 94, 170, 116]
BackgroundColor "green"
Value "y1"
VectorParams1D on
}
Block {
BlockType Outport
Name "out_1"
Position [470, 95, 490, 115]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Minimum1"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "Minimum1"
DstPort 1
}
Line {
SrcBlock "Product1"
SrcPort 1
Points [10, 0; 0, -40]
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "Product"
SrcPort 1
Points [10, 0; 0, 30]
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Sum6"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
Points [0, 5]
DstBlock "Product1"
DstPort 2
}
Branch {
Points [0, -5]
DstBlock "Product1"
DstPort 1
}
}
Line {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -