📄 oqpnrzbw.mdl
字号:
DstBlock "ButterworthLP filter1"
DstPort 1
}
}
Line {
SrcBlock "noisy\nOQPSK-\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 "QPSK demap"
SrcPort 1
Points [25, 0]
Branch {
DstBlock "detected\nbits"
DstPort 1
}
Branch {
DstBlock "v(t)"
DstPort 1
}
}
Line {
SrcBlock "ButterworthLP filter1"
SrcPort 1
Points [5, 0]
Branch {
Points [65, 0]
DstBlock "s_rs(t)"
DstPort 1
}
Branch {
Points [130, 0]
Branch {
Points [0, -180]
DstBlock "receiver diagrams"
DstPort 2
}
Branch {
DstBlock "threshold\ndetector_"
DstPort 1
}
}
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "Transport\nDelay"
DstPort 1
}
Line {
SrcBlock "Transport\nDelay"
SrcPort 1
Points [20, 0]
Branch {
DstBlock "x_c(t)"
DstPort 1
}
Branch {
DstBlock "ButterworthLP filter"
DstPort 1
}
}
Line {
SrcBlock "ButterworthLP filter"
SrcPort 1
Points [0, 0]
Branch {
Points [65, 0]
DstBlock "s_rc(t)"
DstPort 1
}
Branch {
Points [105, 0]
Branch {
Points [0, -65]
DstBlock "receiver diagrams"
DstPort 1
}
Branch {
DstBlock "threshold\ndetector"
DstPort 1
}
}
}
Line {
SrcBlock "threshold\ndetector"
SrcPort 1
Points [20, 0]
Branch {
Points [0, 45]
DstBlock "QPSK demap"
DstPort 1
}
Branch {
DstBlock "v_c(t)"
DstPort 1
}
}
Line {
SrcBlock "threshold\ndetector_"
SrcPort 1
Points [20, 0]
Branch {
Points [0, -65]
DstBlock "QPSK demap"
DstPort 2
}
Branch {
Points [0, 10]
DstBlock "v_s(t)"
DstPort 1
}
}
}
}
Block {
BlockType SubSystem
Name "Transmitter"
Ports [0, 3]
Position [200, 72, 275, 158]
ShowPortLabels off
TreatAsAtomicUnit off
System {
Name "Transmitter"
Location [-9, 157, 1003, 436]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Clock
Name "Clock"
Position [555, 155, 575, 175]
Decimation "10"
}
Block {
BlockType Fcn
Name "Fcn1"
Position [615, 130, 710, 160]
ShowName off
Expr "cos(4*pi*u)"
}
Block {
BlockType Fcn
Name "Fcn2"
Position [615, 175, 710, 205]
ShowName off
Expr "sin(4*pi*u)"
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [770, 83, 800, 107]
ShowName off
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [770, 233, 800, 257]
ShowName off
}
Block {
BlockType SubSystem
Name "QPSK"
Ports [1, 2]
Position [110, 115, 185, 155]
TreatAsAtomicUnit off
MaskType "MPSK"
MaskDescription "QASK mapping with circle constellation. The"
" constellation is defined in NIC, RIC and PIC."
MaskHelp "This block maps a digital signal onto in-ph"
"ase and quadratic components, which are outputs in the first and second outpu"
"t port respectively. The circle constellation is defined in NIC, RIC, and PIC"
". The input symbol interval can be a two-element vector with the second eleme"
"nt being offset. The default value offset is 0. Use the MODMAP function to se"
"e the constellation."
MaskPromptString "Number of symbols in each circle NIC:|Radii"
" in each circle RIC:|Phase shift in each circle PIC (rad):|Symbol interval an"
"d 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);y1=[y1;y1];y1=y1(:);y2=i"
"mag(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"
System {
Name "QPSK"
Location [572, 160, 1070, 460]
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 [40, 35, 60, 55]
}
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]
}
Block {
BlockType Outport
Name "Imag"
Position [290, 115, 310, 135]
Port "2"
}
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 "Source"
Ports [0, 2]
Position [25, 96, 55, 149]
ShowPortLabels off
TreatAsAtomicUnit off
System {
Name "Source"
Location [13, 444, 550, 683]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType SubSystem
Name "Bits"
Ports [0, 1]
Position [25, 48, 85, 92]
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "Read from workspace"
MaskDescription "Read from a workspace variable at\nsamp"
"ling time point."
MaskHelp "This block reads from a workspace varia"
"ble at a given sample time. The column number is the block output vector leng"
"th. When the simulation reaches the end of the variable (eof), the block will"
" cyclically output from the first row of the variable or output zeros based o"
"n the repeat flag entree."
MaskPromptString "Variable (column_number=block_output_le"
"ngth):|Data output sample time (sec):|Repeat flag (1: repeat read, 0: output "
"zeros after eof).|Initial output:"
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 "var=@1;td=@2;ts=td(1);if (length(td)>=2"
"),off=td(2);else off=0;end;cyc=@3;ini=@4;[x,y]=srcsicon(7);"
MaskDisplay "plot(0,0,100,100,x,y);disp('Rd wksp')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "randint(2000,1,2)|.5|1|1"
System {
Name "Bits"
Location [355, 528, 737, 675]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType "S-Function"
Name "Message source"
Ports [1, 1]
Position [180, 53, 255, 97]
BackgroundColor "yellow"
FunctionName "trigwksp"
Parameters "var,thd,cyclFlag,ini"
MaskType "Read from workspace"
MaskDescription "The raising edge of input pulse tri"
"gger the block output the next row from the workspace variable."
MaskHelp "This block reads the data from a wo"
"rkspace variable. The output is refreshed at the raising edge of the input pu"
"lse."
MaskPromptString "Read the variable:|Threshold for th"
"e input pulse:|Cyclic read variable (1) or amend zeros (0).|Output before fir"
"st trigger:"
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 "var=@1;thd=@2;cyclFlag=@3;ini=@4;"
MaskDisplay "disp('Triggered\\nread')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "var|.1|cyc|ini"
}
Block {
BlockType SubSystem
Name "Pulses deivide\nsame sample time1"
Ports [0, 1]
Position [50, 56, 110, 94]
ShowPortLabels off
TreatAsAtomicUnit off
MaskType "Pulse generator"
MaskDescription "Vector pulses with sample rate of e"
"ach pulse as Sample_time ./Divider. "
MaskHelp "This block generator a vector pulse"
"s. The output length is the same as the vector defined in \"Divider\". The it"
"h element of the output has the sample time Sample_time/Divider(i). All eleme"
"nts in \"Divider\" must be integers."
MaskPromptString "Sample time (scalar, sec):|Divider "
"(integer vector):|Offset (have same dimension as Divider:"
MaskStyleString "edit,edit,edit"
MaskTunableValueString "on,on,on"
MaskCallbackString "||"
MaskEnableString "on,on,on"
MaskVisibilityString "on,on,on"
MaskToolTipString "on,on,on"
MaskVarAliasString ",,"
MaskInitialization "samp_time=@1;out_divid=@2;offset=@3"
";"
MaskDisplay "disp('Vector\\nPulse')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "ts|1|off"
System {
Name "Pulses deivide\nsame sample time1"
Location [55, 192, 283, 286]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
ZoomFactor "100"
Block {
BlockType "S-Function"
Name "S-function1"
Ports [0, 1]
Position [40, 31, 105, 59]
FunctionName "homopuls"
Parameters "samp_time, out_divid, offset"
}
Block {
BlockType
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -