📄 qpswnymf.mdl
字号:
". 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|12|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 "Mux"
SrcPort 1
DstBlock "S-function"
DstPort 1
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "in_2"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
}
}
Block {
BlockType SubSystem
Name "Receiver"
Ports [1, 1]
Position [650, 62, 725, 148]
ShowPortLabels off
TreatAsAtomicUnit off
System {
Name "Receiver"
Location [11, 423, 1019, 701]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "noisy\nQPSK-\nsignal"
Position [25, 145, 45, 165]
}
Block {
BlockType Clock
Name "Clock"
Position [145, 140, 165, 160]
ShowName off
Decimation "10"
}
Block {
BlockType Fcn
Name "Fcn"
Position [185, 119, 265, 141]
ShowName off
Expr "2*cos(4*pi*u)"
}
Block {
BlockType Fcn
Name "Fcn1"
Position [185, 159, 265, 181]
ShowName off
Expr "-2*sin(4*pi*u)"
}
Block {
BlockType Gain
Name "Gain1"
Position [510, 212, 535, 238]
ShowName off
Gain "1/4"
}
Block {
BlockType Gain
Name "Gain2"
Position [510, 77, 535, 103]
ShowName off
Gain "1/4"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [300, 74, 330, 101]
ShowName off
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [295, 213, 325, 237]
ShowName off
}
Block {
BlockType SubSystem
Name "QPSK demap"
Ports [2, 1]
Position [795, 124, 870, 171]
TreatAsAtomicUnit off
MaskType "MPSK demapping"
MaskDescription "Reverse the QASK map. Input in-phase\nand q"
"uadrature components from the\ntwo inputs. Output demapped signal."
MaskHelp "This block demaps a QASK mapped signal usin"
"g circle constellation. You can place this block after a QAM demodulation blo"
"ck. The circle constellation is defined in NIC, RIC, and PIC. The symbol inte"
"rval can be a two elements vector with the first element being offset. The de"
"fault offset is zero. Use function MODMAP to view the constellation."
MaskPromptString "Number of symbols on each circle NIC::|Radi"
"i for 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"
MaskVarAliasString ",,,"
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"
System {
Name "QPSK demap"
Location [104, 488, 602, 788]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "real"
Position [20, 45, 40, 65]
}
Block {
BlockType Inport
Name "imag"
Position [20, 130, 40, 150]
Port "2"
}
Block {
BlockType "S-Function"
Name "Minimum1"
Ports [1, 1]
Position [390, 95, 450, 115]
FunctionName "arymimai"
Parameters "'min'"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [275, 55, 300, 75]
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [275, 140, 300, 160]
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [205, 48, 225, 77]
ForegroundColor "red"
Inputs "+-"
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [345, 88, 365, 117]
}
Block {
BlockType Sum
Name "Sum6"
Ports [2, 1]
Position [205, 133, 225, 162]
ForegroundColor "blue"
Inputs "+-"
}
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"
}
Block {
BlockType Constant
Name "real_pt"
Position [145, 94, 170, 116]
BackgroundColor "green"
Value "y1"
}
Block {
BlockType Outport
Name "out_1"
Position [470, 95, 490, 115]
}
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 {
SrcBlock "Sum1"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
Points [0, 5]
DstBlock "Product"
DstPort 2
}
Branch {
Points [0, -5]
DstBlock "Product"
DstPort 1
}
}
Line {
SrcBlock "imag_pt"
SrcPort 1
Points [10, 0; 0, -35]
DstBlock "Sum6"
DstPort 2
}
Line {
SrcBlock "Zero-Order\nHold1"
SrcPort 1
DstBlock "Sum6"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "real_pt"
SrcPort 1
Points [5, 0; 0, -35]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "imag"
SrcPort 1
DstBlock "Zero-Order\nHold1"
DstPort 1
}
Line {
SrcBlock "real"
SrcPort 1
DstBlock "Zero-Order\nHold"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Rolloff"
Ports []
Position [415, 29, 527, 51]
BackgroundColor "lightBlue"
ShowName off
OpenFcn "setrloff"
FontSize 12
FontAngle "italic"
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "rolloff"
MaskDisplay "disp('Rolloff-Factor')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Rolloff"
Location [136, 230, 381, 439]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "cyan"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
}
}
Block {
BlockType SubSystem
Name "Root-RC\nreceive filter"
Ports [1, 1]
Position [410, 68, 490, 112]
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "R-C filter"
MaskDescription "Design a raised cosine filter and use it to"
" filter the input signal."
MaskHelp "This block designs a raised cosine filter u"
"sing 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"
" time (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol in"
"terval):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc fi"
"lter (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);el"
"se,off=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil"
",R,delay);x=@6/2;"
MaskDisplay "disp('R-C\\nfilter')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "1|.05|.5|6|'FIR/Sqrt'|0"
System {
Name "Root-RC\nreceive filter"
Location [131, 545, 589, 761]
Open off
ModelBrowserVisibility off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -