📄 rf.mdl
字号:
Position [15, 38, 45, 52]
Port "1"
Interpolate on
}
Block {
BlockType Reference
Name "Complex\nGain"
Ports [1, 1]
Position [65, 114, 105, 146]
SourceBlock "RF/Complex Blocks/Complex\nGain"
SourceType "Complex Gain"
G "A(1)"
}
Block {
BlockType Reference
Name "Complex\nGain1"
Ports [1, 1]
Position [225, 114, 265, 146]
SourceBlock "RF/Complex Blocks/Complex\nGain"
SourceType "Complex Gain"
G "A(2)"
}
Block {
BlockType Reference
Name "Complex\nGain2"
Ports [1, 1]
Position [395, 114, 435, 146]
SourceBlock "RF/Complex Blocks/Complex\nGain"
SourceType "Complex Gain"
G "A(3)"
}
Block {
BlockType Reference
Name "Complex\nGain3"
Ports [1, 1]
Position [575, 114, 615, 146]
SourceBlock "RF/Complex Blocks/Complex\nGain"
SourceType "Complex Gain"
G "A(4)"
}
Block {
BlockType Reference
Name "Complex\nGain4"
Ports [1, 1]
Position [130, 289, 170, 321]
Orientation "left"
SourceBlock "RF/Complex Blocks/Complex\nGain"
SourceType "Complex Gain"
G "B(1)"
}
Block {
BlockType Reference
Name "Complex\nGain5"
Ports [1, 1]
Position [305, 289, 345, 321]
Orientation "left"
SourceBlock "RF/Complex Blocks/Complex\nGain"
SourceType "Complex Gain"
G "B(2)"
}
Block {
BlockType Reference
Name "Complex\nGain6"
Ports [1, 1]
Position [480, 289, 520, 321]
Orientation "left"
SourceBlock "RF/Complex Blocks/Complex\nGain"
SourceType "Complex Gain"
G "B(3)"
}
Block {
BlockType Reference
Name "Complex\nGain7"
Ports [1, 1]
Position [650, 289, 690, 321]
Orientation "left"
SourceBlock "RF/Complex Blocks/Complex\nGain"
SourceType "Complex Gain"
G "B(4)"
}
Block {
BlockType Reference
Name "Complex\nQuantizer"
Ports [1, 1]
Position [815, 194, 875, 246]
SourceBlock "RF/Complex Blocks/Complex\nQuantizer"
SourceType "Complex Comparator"
L_Out_C "-1"
H_Out_C "1"
Bound_C "0"
}
Block {
BlockType Reference
Name "Complex Pole"
Ports [1, 1]
Position [190, 191, 265, 249]
SourceBlock "RF/Complex Blocks/Complex Pole"
SourceType "Complex Pole"
c "c(1)"
d "d(1)"
ts "ts"
}
Block {
BlockType Reference
Name "Complex Pole1"
Ports [1, 1]
Position [360, 191, 435, 249]
SourceBlock "RF/Complex Blocks/Complex Pole"
SourceType "Complex Pole"
c "c(2)"
d "d(2)"
ts "ts"
}
Block {
BlockType Reference
Name "Complex Pole2"
Ports [1, 1]
Position [540, 191, 615, 249]
SourceBlock "RF/Complex Blocks/Complex Pole"
SourceType "Complex Pole"
c "c(3)"
d "d(3)"
ts "ts"
}
Block {
BlockType Reference
Name "Complex Pole3"
Ports [1, 1]
Position [710, 191, 785, 249]
SourceBlock "RF/Complex Blocks/Complex Pole"
SourceType "Complex Pole"
c "c(4)"
d "d(4)"
ts "ts"
}
Block {
BlockType Reference
Name "Complex Sum"
Ports [2, 1]
Position [130, 200, 170, 240]
SourceBlock "dspcmplx/Complex Sum"
SourceType "Complex Sum"
Inputs "++"
}
Block {
BlockType Reference
Name "Complex Sum1"
Ports [3, 1]
Position [305, 200, 345, 240]
SourceBlock "dspcmplx/Complex Sum"
SourceType "Complex Sum"
Inputs "+++"
}
Block {
BlockType Reference
Name "Complex Sum2"
Ports [3, 1]
Position [480, 200, 520, 240]
SourceBlock "dspcmplx/Complex Sum"
SourceType "Complex Sum"
Inputs "+++"
}
Block {
BlockType Reference
Name "Complex Sum3"
Ports [3, 1]
Position [650, 200, 690, 240]
SourceBlock "dspcmplx/Complex Sum"
SourceType "Complex Sum"
Inputs "+++"
}
Block {
BlockType Outport
Name "Out1"
Position [930, 213, 960, 227]
Port "1"
OutputWhenDisabled "held"
InitialOutput "0"
}
Line {
SrcBlock "Complex\nQuantizer"
SrcPort 1
Points [20, 0]
Branch {
Points [0, 180; -190, 0]
Branch {
Points [-175, 0]
Branch {
Points [-175, 0]
Branch {
Points [-175, 0]
DstBlock "Complex\nGain4"
DstPort 1
}
Branch {
DstBlock "Complex\nGain5"
DstPort 1
}
}
Branch {
DstBlock "Complex\nGain6"
DstPort 1
}
}
Branch {
Points [0, -95]
DstBlock "Complex\nGain7"
DstPort 1
}
}
Branch {
DstBlock "Out1"
DstPort 1
}
}
Line {
SrcBlock "Complex Pole3"
SrcPort 1
DstBlock "Complex\nQuantizer"
DstPort 1
}
Line {
SrcBlock "Complex Sum3"
SrcPort 1
DstBlock "Complex Pole3"
DstPort 1
}
Line {
SrcBlock "Complex\nGain2"
SrcPort 1
Points [10, 0; 0, 75]
DstBlock "Complex Sum2"
DstPort 1
}
Line {
SrcBlock "Complex\nGain3"
SrcPort 1
Points [5, 0; 0, 75]
DstBlock "Complex Sum3"
DstPort 1
}
Line {
SrcBlock "Complex Sum2"
SrcPort 1
DstBlock "Complex Pole2"
DstPort 1
}
Line {
Labels [1, 0]
SrcBlock "Complex\nGain6"
SrcPort 1
Points [-25, 0; 0, -70]
DstBlock "Complex Sum2"
DstPort 3
}
Line {
SrcBlock "Complex\nGain7"
SrcPort 1
Points [-20, 0; 0, -70]
DstBlock "Complex Sum3"
DstPort 3
}
Line {
SrcBlock "Complex Pole1"
SrcPort 1
DstBlock "Complex Sum2"
DstPort 2
}
Line {
SrcBlock "Complex Pole2"
SrcPort 1
DstBlock "Complex Sum3"
DstPort 2
}
Line {
SrcBlock "Complex Sum"
SrcPort 1
DstBlock "Complex Pole"
DstPort 1
}
Line {
SrcBlock "Complex\nGain5"
SrcPort 1
Points [-20, 0; 0, -70]
DstBlock "Complex Sum1"
DstPort 3
}
Line {
SrcBlock "In1"
SrcPort 1
Points [0, 0]
Branch {
Points [155, 0]
Branch {
Points [165, 0]
Branch {
Points [0, 85]
DstBlock "Complex\nGain2"
DstPort 1
}
Branch {
Points [190, 0]
DstBlock "Complex\nGain3"
DstPort 1
}
}
Branch {
Points [0, 85]
DstBlock "Complex\nGain1"
DstPort 1
}
}
Branch {
DstBlock "Complex\nGain"
DstPort 1
}
}
Line {
SrcBlock "Complex\nGain1"
SrcPort 1
Points [5, 0; 0, 75]
DstBlock "Complex Sum1"
DstPort 1
}
Line {
SrcBlock "Complex\nGain"
SrcPort 1
Points [5, 0]
DstBlock "Complex Sum"
DstPort 1
}
Line {
SrcBlock "Complex Sum1"
SrcPort 1
DstBlock "Complex Pole1"
DstPort 1
}
Line {
SrcBlock "Complex Pole"
SrcPort 1
DstBlock "Complex Sum1"
DstPort 2
}
Line {
SrcBlock "Complex\nGain4"
SrcPort 1
Points [-10, 0]
DstBlock "Complex Sum"
DstPort 2
}
}
}
Block {
BlockType SubSystem
Name "4th Order Quadrature\nBandpass Sigma-Delta"
"\nwith Mismatch"
Ports [1, 1]
Position [355, 85, 395, 135]
ShowPortLabels on
TreatAsAtomicUnit off
RTWSystemCode "Auto"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
MaskType "Fourth Order Quadrature Bandpass Sigma-Delt"
"a with Mismatch"
MaskDescription "Fourth Order Quadrature Bandpass Sigma-Delt"
"a. After Stephen Jantzi, \"Quadrature Bandpass Delta-Sigma Modulation for Di"
"gital Radio,\" Ph.D. dissertation, University of Toronto. More information o"
"n parameters can be found in the above reference."
MaskHelp "Fourth Order Quadrature Bandpass Sigma-Delt"
"a. After Stephen Jantzi, \"Quadrature Bandpass Delta-Sigma Modulation for Di"
"gital Radio,\" Ph.D. dissertation, University of Toronto. More information o"
"n parameters can be found in the above reference."
MaskPromptString "Noise Transfer Function Poles (4)|Noise Tra"
"nsfer Function Zeros (4)|Signal Transfer Function Zeros (3)|Maximum Signal Ga"
"in (usually 1)|Coefficient Standard Error (Percent Nominal Value)|Sampling Fr"
"equency"
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"
MaskVariables "NTF_Poles=@1;NTF_Zeros=@2;STF_Zeros=@3;STF_"
"Gain=@4;ErrorStd=@5;fs=@6;"
MaskInitialization "ts = 1/fs;\n\n[H,W]=freqz(poly(STF_Zeros),p"
"oly(NTF_Poles));\nk = -STF_Gain / max(H);\n\n% Calculate modulator coefficien"
"ts\nd = real(NTF_Zeros) - 1;\nc = imag(NTF_Zeros);\n\nBeta = poly(NTF_Poles);"
"\nz = NTF_Zeros;\nB(4) = - (z(4)+z(3)+z(2)+z(1)) - Beta(2);\nB(3)=B(4)*(z(3)+"
"z(2)+z(1))+z(4)*z(3)+z(4)*z(2)+z(4)*z(1)+z(3)*z(2);\nB(3) = B(3)+z(3)*z(1)+z("
"2)*z(1)-Beta(3);\nB(2) = -B(4)*(z(3)*z(2)+z(3)*z(1)+z(2)*z(1)) + B(3)*(z(2)+z"
"(1));\nB(2) = B(2) - (z(4)*z(3)*z(2)+z(4)*z(3)*z(1)+z(4)*z(2)*z(1)+z(3)*z(2)*"
"z(1)) - Beta(4);\nB(1) = B(4)*z(3)*z(2)*z(1) - B(3)*z(2)*z(1) + B(2)*z(1);\nB"
"(1) = B(1) + z(4)*z(3)*z(2)*z(1) - Beta(5);\nb = real(B);\nf = imag(B);\n\nAl"
"pha = k*poly(STF_Zeros);\nA(4) = Alpha(1);\nA(3) = A(4)*(z(3)+z(2)+z(1)) + Al"
"pha(2);\nA(2) = -A(4)*(z(3)*z(2)+z(3)*z(1)+z(2)*z(1)) + A(3)*(z(2)+z(1)) + Al"
"pha(3);\nA(1) = A(4)*z(3)*z(2)*z(1) - A(3)*z(2)*z(1) + A(2)*z(1) + Alpha(4);"
"\na = real(A);\ne = imag(A);\n\na = a + a .* ErrorStd/100 .* randn(1, length("
"a));\nb = b + b .* ErrorStd/100 .* randn(1,length(b));\nc1 = c + c .* ErrorSt"
"d/100 .* randn(1,length(c));\nc2 = c + c .* ErrorStd/100 .* randn(1,length(c)"
");\nd1 = d + d .* ErrorStd/100 .* randn(1,length(d));\nd2 = d + d .* ErrorStd"
"/100 .* randn(1,length(d));\ne = e + e .* ErrorStd/100 .* randn(1,length(e));"
"\nf = f + f .* ErrorStd/100 .* randn(1,length(f));\n"
MaskDisplay "plot(0,0,100,100,[40,10],[80,80],[40,10,20,"
"10,40],[40,40,60,80,80],[50,90,70,50],[40,40,80,40])"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "conj([0.67605+0.28003i 0.84752+0.10317i 0.6"
"7224+0.52633i 0.87023-0.35538i])|conj([0.94544+0.3258i 0.92388+0.38268i 0.898"
"9+0.43815i 0.92388-0.38268i])|conj([0.79335-0.60876i 0.13053+0.99144i 0.87023"
"-0.35538i])|0.95|1|80E6"
MaskVariableAliases ",,,,,"
System {
Name "4th Order Quadrature\nBandpass Sigma-Delt"
"a\nwith Mismatch"
Location [19, 83, 1001, 547]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
AutoZoom on
Block {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -