📄 rf.mdl
字号:
SrcBlock "5th Order\nDecimation\nFilter"
SrcPort 1
DstBlock "I Out"
DstPort 1
}
Line {
SrcBlock "Split"
SrcPort 2
Points [10, 0; 0, 65; 100, 0]
Branch {
Points [0, -105]
DstBlock "Product1"
DstPort 1
}
Branch {
DstBlock "Product3"
DstPort 1
}
}
Line {
SrcBlock "Split"
SrcPort 1
Points [10, 0; 0, -70; 115, 0]
Branch {
DstBlock "Product"
DstPort 1
}
Branch {
DstBlock "Product2"
DstPort 1
}
}
Line {
SrcBlock "Sine Wave"
SrcPort 1
Points [25, 0]
Branch {
Points [0, 15]
DstBlock "Product2"
DstPort 2
}
Branch {
Points [0, -40]
DstBlock "Product1"
DstPort 2
}
}
Line {
SrcBlock "Cosine Wave"
SrcPort 1
Points [10, 0]
Branch {
Points [0, 120]
DstBlock "Product3"
DstPort 2
}
Branch {
Points [0, -35]
DstBlock "Product"
DstPort 2
}
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Product1"
SrcPort 1
Points [25, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Product2"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Product3"
SrcPort 1
Points [25, 0]
DstBlock "Sum"
DstPort 2
}
}
}
Block {
BlockType SubSystem
Name "A/D Converter"
Ports [1, 1]
Position [565, 429, 625, 481]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
MaskType "Ideal A/D Converter"
MaskDescription "Performs A/D Conversion. Full-scale output"
" range is full-scale input range - 1 LSB. In other words, 1 LSB is full-scal"
"e input range / 2^N, which is full-scale output range / 2^N - 1. The zero le"
"vel is midtread for unsigned input."
MaskHelp "Performs A/D Conversion. Full-scale output"
" range is full-scale input range - 1 LSB. In other words, 1 LSB is full-scal"
"e input range / 2^N, which is full-scale output range / 2^N - 1. The zero le"
"vel is midtread for unsigned input."
MaskPromptString "Full-Scale Output Range|Signed Input?|Sampl"
"ing Frequency|Number of Bits|Extra Level?"
MaskStyleString "edit,checkbox,edit,edit,checkbox"
MaskTunableValueString "on,on,on,on,on"
MaskCallbackString "||||"
MaskEnableString "on,on,on,on,on"
MaskVisibilityString "on,on,on,on,on"
MaskToolTipString "on,on,on,on,on"
MaskVariables "FSlevel=@1;signed=@2;fs=@3;N=@4;el=@5;"
MaskInitialization "N = round(N);\nqlevel = FSlevel/(2^N-1 + el"
");\nilevel = signed*FSlevel/2;\nslevel = (2^N - 1 + el)/FSlevel;\n"
MaskDisplay "disp('Ideal A/D')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "1|off|2048|2|on"
MaskVariableAliases ",,,,"
System {
Name "A/D Converter"
Location [440, 238, 922, 375]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "In1"
Position [25, 33, 55, 47]
Port "1"
Interpolate on
}
Block {
BlockType Constant
Name "Constant"
Position [70, 90, 110, 110]
Value "ilevel"
VectorParams1D on
}
Block {
BlockType Gain
Name "Gain"
Position [330, 35, 360, 65]
Gain "slevel"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Quantizer
Name "Quantizer"
Position [200, 35, 230, 65]
QuantizationInterval "qlevel"
LinearizeAsGain on
}
Block {
BlockType Rounding
Name "Rounding\nFunction"
Position [390, 35, 420, 65]
Operator "round"
}
Block {
BlockType Saturate
Name "Saturation"
Position [265, 35, 295, 65]
UpperLimit "FSlevel"
LowerLimit "0"
LinearizeAsGain on
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [140, 32, 170, 63]
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType ZeroOrderHold
Name "Zero-Order\nHold"
Position [80, 25, 110, 55]
SampleTime "1/fs"
}
Block {
BlockType Outport
Name "Out1"
Position [445, 43, 475, 57]
Port "1"
OutputWhenDisabled "held"
InitialOutput "0"
}
Line {
SrcBlock "Rounding\nFunction"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "Rounding\nFunction"
DstPort 1
}
Line {
SrcBlock "Saturation"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
SrcBlock "Quantizer"
SrcPort 1
DstBlock "Saturation"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
DstBlock "Zero-Order\nHold"
DstPort 1
}
Line {
SrcBlock "Constant"
SrcPort 1
Points [10, 0]
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Quantizer"
DstPort 1
}
Line {
SrcBlock "Zero-Order\nHold"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Digital Mirror\nSuppression"
Ports [4, 2]
Position [90, 433, 160, 492]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
MaskType "Digital Image Suppression"
MaskDescription "Perform Image Suppression in the digital do"
"main for the low IF receiver topology. The inputs are the I and Q signals of"
" both the I and Q branches. For instance, 'I,Q' is the Q output of the I chan"
"nel."
MaskHelp "Perform Image Suppression in the digital do"
"main for the low IF receiver topology. The inputs are the I and Q signals of"
" both the I and Q branches. For instance, 'I,Q' is the Q output of the I chan"
"nel."
MaskPromptString "Mask Parameter 1:"
MaskStyleString "popup(Signal Higher than LO|Signal Lower th"
"an LO)"
MaskTunableValueString "on"
MaskEnableString "on"
MaskVisibilityString "on"
MaskToolTipString "on"
MaskVariables "S=@1;"
MaskInitialization "if (S==1),\n g1=1; g2=-1;\nend;\nif (S==2)"
",\n g1=-1;g2=1;\nend;"
MaskDisplay "plot(0,0,100,100,[50,50,90,10],[90,50,50,50"
"],[70,70],[60,50],[80,75,65,60],[50,80,80,49]); text(5,35,'Q,I'); text(5,7,'Q"
",Q')\ntext(95,15,'Q'); text(98,80,'I'); text(5,95,'I,I'), text(5, 70,'I,Q');"
"\n"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "Signal Higher than LO"
System {
Name "Digital Mirror\nSuppression"
Location [447, 221, 816, 403]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
BlockType Inport
Name "I_I"
Position [25, 108, 55, 122]
Port "1"
Interpolate on
}
Block {
BlockType Inport
Name "I_Q"
Position [25, 23, 55, 37]
Port "2"
Interpolate on
}
Block {
BlockType Inport
Name "Q_I"
Position [25, 58, 55, 72]
Port "3"
Interpolate on
}
Block {
BlockType Inport
Name "Q_Q"
Position [25, 143, 55, 157]
Port "4"
Interpolate on
}
Block {
BlockType Gain
Name "Gain"
Position [95, 100, 125, 130]
Gain "g1"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Gain
Name "Gain1"
Position [95, 50, 125, 80]
Gain "g2"
Multiplication "Element-wise(K.*u)"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [255, 107, 285, 138]
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [255, 22, 285, 53]
IconShape "rectangular"
Inputs "++"
SaturateOnIntegerOverflow on
}
Block {
BlockType Outport
Name "I_Out"
Position [310, 33, 340, 47]
Port "1"
OutputWhenDisabled "held"
InitialOutput "0"
}
Block {
BlockType Outport
Name "Q_Out"
Position [310, 118, 340, 132]
Port "2"
OutputWhenDisabled "held"
InitialOutput "0"
}
Line {
SrcBlock "Q_Q"
SrcPort 1
Points [180, 0]
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "I_I"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Q_Out"
DstPort 1
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [110, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "I_Q"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -