📄 qamnrzbw.mdl
字号:
DstPort 1
}
Branch {
DstBlock "ButterworthLP filter"
DstPort 1
}
}
Line {
SrcBlock "Product1"
SrcPort 1
Points [35, 0]
Branch {
DstBlock "x_s(t)"
DstPort 1
}
Branch {
DstBlock "ButterworthLP filter1"
DstPort 1
}
}
Line {
SrcBlock "noisy\n16-QAM\nsignal"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "r(t)"
DstPort 1
}
Branch {
Points [45, 0]
Branch {
Points [0, -75]
DstBlock "Product"
DstPort 1
}
Branch {
Points [0, 75]
DstBlock "Product1"
DstPort 2
}
}
}
Line {
SrcBlock "Fcn1"
SrcPort 1
Points [10, 0]
DstBlock "Product1"
DstPort 1
}
Line {
SrcBlock "Fcn"
SrcPort 1
Points [10, 0; 0, -35]
DstBlock "Product"
DstPort 2
}
Line {
SrcBlock "ButterworthLP filter"
SrcPort 1
Points [50, 0]
Branch {
DstBlock "s_rc(t)"
DstPort 1
}
Branch {
Points [60, 0]
Branch {
Points [0, -65]
DstBlock "receiver diagrams"
DstPort 1
}
Branch {
DstBlock "threshold\ndetector"
DstPort 1
}
}
}
Line {
SrcBlock "ButterworthLP filter1"
SrcPort 1
Points [55, 0]
Branch {
DstBlock "s_rs(t)"
DstPort 1
}
Branch {
Points [95, 0]
Branch {
Points [0, -180]
DstBlock "receiver diagrams"
DstPort 2
}
Branch {
DstBlock "threshold\ndetector_"
DstPort 1
}
}
}
Line {
SrcBlock "threshold\ndetector"
SrcPort 1
Points [35, 0]
Branch {
DstBlock "v_c(t)"
DstPort 1
}
Branch {
Points [0, 40]
DstBlock "4-ASK demap"
DstPort 1
}
}
Line {
SrcBlock "threshold\ndetector_"
SrcPort 1
Points [35, 0]
Branch {
DstBlock "v_s(t)"
DstPort 1
}
Branch {
Points [0, -35]
DstBlock "4-ASK demap1"
DstPort 1
}
}
Line {
SrcBlock "4-ASK demap"
SrcPort 1
Points [15, 0]
DstBlock "16-QAM"
DstPort 1
}
Line {
SrcBlock "4-ASK demap1"
SrcPort 1
Points [15, 0]
DstBlock "16-QAM"
DstPort 2
}
Line {
SrcBlock "16-QAM"
SrcPort 1
Points [20, 0]
Branch {
DstBlock "detected\nsymbols"
DstPort 1
}
Branch {
DstBlock "v(t)"
DstPort 1
}
}
}
}
Block {
BlockType SubSystem
Name "Transmitter"
Ports [0, 4]
Position [200, 100, 275, 195]
ShowPortLabels off
TreatAsAtomicUnit off
System {
Name "Transmitter"
Location [-2, 191, 1010, 565]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType "S-Function"
Name "16 QAM"
Ports [2, 1]
Position [165, 135, 220, 190]
AncestorBlock "simulink3/Functions\n& Tables/Direct Look-U"
"p\nTable (n-D)"
FunctionName "sfun_nddirectlook"
Parameters "numInputs,mxTable,clipFlag,tabIsInput,numTD"
"ims"
MaskType "LookupNDDirect"
MaskDescription "Table member selection. Inputs are zero-ba"
"sed indices into the table, e.g., an input of 3 returns the fourth element in"
" that dimension. Block can also be used to select a column or 2-D matrix out"
" of the table."
MaskPromptString "Number of table dimensions: |Explic"
"it number of table dimensions:|Inputs select this object from table:|Make tab"
"le an input|Table data:|Action for out of range input:"
MaskStyleString "popup(1|2|3|4|More...),edit,popup(Element|C"
"olumn|2-D Matrix),checkbox,edit,popup(None|Warning|Error)"
MaskTunableValueString "off,on,off,off,on,on"
MaskCallbackString "nddirectico('dialog')|||nddirectico('dialog"
"')||"
MaskEnableString "on,on,on,on,on,on"
MaskVisibilityString "on,off,on,on,on,on"
MaskToolTipString "on,on,on,on,on,on"
MaskVarAliasString ",,,,,"
MaskVariables "maskTabDims=@1;explicitNumDims=@2;outDims=@"
"3;tabIsInput=@4;mxTable=@5;clipFlag=@6;"
MaskInitialization "if tabIsInput == 1\n tWhat = ' T';\n yT ="
" 1/(3+maskTabDims-outDims);\nelse\n tWhat = ' ';\n yT = 0;\nend\nif maskTab"
"Dims >= 5\n numTDims = explicitNumDims;\nelse\n numTDims = maskTabDims;\nen"
"d\nnumInputs = numTDims - (outDims-1);\nif strcmp(get_param(bdroot(gcb),'Blo"
"ckDiagramType'),'library')\n dimsChar = 'n';\nelse\n dimsChar = sprintf('%d"
"',numTDims);\nend\n[x,y] = nddirectico('plotdata', numTDims, tabIsInput, outD"
"ims);\nxp = x((end-3):end); yp = y((end-3):end);\nx = x(1:(end-4)); y = y(1:("
"end-4));\n"
MaskDisplay "text(0.5,0.9, sprintf(' %c-D T[k]',dimsChar"
"), 'HorizontalAlignment','center')\nplot(x,y)\npatch(xp, yp)\ntext(0.03,yT,tW"
"hat)\n"
MaskSelfModifiable on
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "normalized"
MaskValueString "2|1|Element|off|[0 1 2 3; 4 5 6 7; 8 9 10 1"
"1; 12 13 14 15]|Warning"
}
Block {
BlockType SubSystem
Name "4-ASK"
Ports [1, 1]
Position [200, 69, 280, 111]
TreatAsAtomicUnit off
MaskType "M-ASK mapping"
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 signal in the range [-1, 1]. The coded signal can be modulated using analog"
"\\nmodulation blocks. Input digits are in the range [0, M-1], where M is the "
"M-ary number. The input symbol interval can be a two-element vector with the "
"second element being offset. The default value offset is 0. Use the MODMAP fu"
"nction 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"
MaskVarAliasString ","
MaskVariables "N=@1;td=@2;"
MaskInitialization "Ac=1;Kc=Ac*2/(N-1);"
MaskDisplay "disp('MASK\\nmapping')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "4|1"
System {
Name "4-ASK"
Location [148, 182, 646, 482]
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 [60, 60, 80, 80]
}
Block {
BlockType Gain
Name "Gain"
Position [200, 55, 240, 85]
Gain "Kc"
}
Block {
BlockType Constant
Name "Gain diff"
Position [200, 126, 235, 154]
Value "Ac"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [270, 93, 290, 117]
Inputs "+-"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [120, 54, 155, 86]
SampleTime "td"
}
Block {
BlockType Outport
Name "out_1"
Position [335, 95, 355, 115]
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Zero-Order\nHold"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "out_1"
DstPort 1
}
Line {
SrcBlock "Gain diff"
SrcPort 1
Points [10, 0; 0, -30]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [5, 0; 0, 30]
DstBlock "Sum1"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "4-ASK1"
Ports [1, 1]
Position [200, 229, 280, 271]
TreatAsAtomicUnit off
MaskType "M-ASK mapping"
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 signal in the range [-1, 1]. The coded signal can be modulated using analog"
"\\nmodulation blocks. Input digits are in the range [0, M-1], where M is the "
"M-ary number. The input symbol interval can be a two-element vector with the "
"second element being offset. The default value offset is 0. Use the MODMAP fu"
"nction 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"
MaskVarAliasString ","
MaskVariables "N=@1;td=@2;"
MaskInitialization "Ac=1;Kc=Ac*2/(N-1);"
MaskDisplay "disp('MASK\\nmapping')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "4|1"
System {
Name "4-ASK1"
Location [148, 182, 646, 482]
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 [60, 60, 80, 80]
}
Block {
BlockType Gain
Name "Gain"
Position [200, 55, 240, 85]
Gain "Kc"
}
Block {
BlockType Constant
Name "Gain diff"
Position [200, 126, 235, 154]
Value "Ac"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [270, 93, 290, 117]
Inputs "+-"
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [120, 54, 155, 86]
SampleTime "td"
}
Block {
BlockType Outport
Name "out_1"
Position [335, 95, 355, 115]
}
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 "4-ary source"
Ports [0, 1]
Position [15, 68, 75, 112]
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "Read from workspace"
MaskDescription "Read from a workspace variable at\nsampling"
" time point."
MaskHelp "This
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -