📄 vco_phase_noise.mdl
字号:
}
Line {
SrcBlock "Sum"
SrcPort 1
Points [0, 0; 25, 0]
Branch {
DstBlock "Product4"
DstPort 1
}
Branch {
Points [0, 15]
DstBlock "Product4"
DstPort 2
}
Branch {
Points [0, -45]
DstBlock "Product2"
DstPort 2
}
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "Power Correction Factor"
DstPort 1
}
Annotation {
Name "ENBW = effective noise bandwidth"
Position [346, 210]
}
Annotation {
Name "Applying an analysis window to mini"
"mize leakage (eg hann),\nspreads the spectral energy into adjacent FFT bins. "
"\nFor accurate power measurements, this effect must be corrected. \nFor infor"
"mation on this see: \nProceedings of the IEEE Vol 66, NO 1, January 1978\nOn "
"the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform"
"\nFredric J. Harris \n"
Position [50, 242]
HorizontalAlignment "left"
}
Annotation {
Name "ENBW=Effective Noise Bandwidth"
Position [415, 83]
}
}
}
Block {
BlockType SubSystem
Name "dBc scaling"
Ports [1, 1]
Position [845, 290, 885, 350]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
System {
Name "dBc scaling"
Location [564, 118, 1012, 345]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [35, 133, 70, 147]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Reference
Name "Maximum"
Ports [1, 1]
Position [160, 75, 215, 115]
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag2"
SourceBlock "dspstat3/Maximum"
SourceType "Maximum"
fcn "Value"
reset "None"
additionalParams off
allowOverrides on
accumMode "Same as product output"
accumWordLength "32"
accumFracLength "30"
prodOutputMode "Same as input"
prodOutputWordLength "32"
prodOutputFracLength "30"
roundingMode "Floor"
overflowMode off
LockScale off
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [260, 74, 295, 161]
Inputs "/*"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Outport
Name "Out1"
Position [370, 113, 400, 127]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "In1"
SrcPort 1
Points [60, 0]
Branch {
Points [0, -45]
DstBlock "Maximum"
DstPort 1
}
Branch {
DstBlock "Product1"
DstPort 2
}
}
Line {
SrcBlock "Product1"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
Line {
SrcBlock "Maximum"
SrcPort 1
DstBlock "Product1"
DstPort 1
}
Annotation {
Name "Assume largest signal is the \"carr"
"ier\", and force this to the 1 Watt (0dB level) "
Position [235, 46]
}
}
}
Block {
BlockType Outport
Name "Power Spectrum"
Position [1015, 108, 1045, 122]
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "dBc/Hz"
Position [1010, 338, 1040, 352]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "Total Power"
Position [1015, 198, 1045, 212]
Port "3"
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "Magnitude\nFFT"
DstPort 1
}
Line {
SrcBlock "Magnitude\nFFT"
SrcPort 1
DstBlock "Spectral Averaging"
DstPort 1
}
Line {
SrcBlock "Window Scaling"
SrcPort 2
Points [0, 15; 130, 0]
Branch {
Points [0, 50]
DstBlock "Product1"
DstPort 2
}
Branch {
DstBlock "Power Correction due to bin spreading"
" \neffect of analysis window "
DstPort 1
}
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "Product1"
DstPort 1
}
Line {
SrcBlock "Product1"
SrcPort 1
DstBlock "Total Power"
DstPort 1
}
Line {
SrcBlock "Window"
SrcPort 1
DstBlock "Window Scaling"
DstPort 1
}
Line {
SrcBlock "Spectral Averaging"
SrcPort 1
Points [0, 0; 25, 0]
Branch {
DstBlock "Power Spectrum"
DstPort 1
}
Branch {
Points [0, 65]
Branch {
DstBlock "Sum2"
DstPort 1
}
Branch {
Points [0, 140]
DstBlock "dBc scaling"
DstPort 1
}
}
}
Line {
SrcBlock "Time History"
SrcPort 1
DstBlock "Data Type Conversion"
DstPort 1
}
Line {
SrcBlock "dBc scaling"
SrcPort 1
DstBlock "Product2"
DstPort 1
}
Line {
SrcBlock "Probe"
SrcPort 1
DstBlock "Selector"
DstPort 1
}
Line {
SrcBlock "Product2"
SrcPort 1
DstBlock "dBc/Hz"
DstPort 1
}
Line {
SrcBlock "Selector"
SrcPort 1
DstBlock "Product2"
DstPort 2
}
Line {
SrcBlock "Data Type Conversion"
SrcPort 1
DstBlock "Buffer"
DstPort 1
}
Line {
SrcBlock "Buffer"
SrcPort 1
Points [20, 0]
Branch {
Points [0, 95]
DstBlock "Probe"
DstPort 1
}
Branch {
Points [190, 0; 0, -150]
DstBlock "Product"
DstPort 2
}
}
Line {
SrcBlock "Window Scaling"
SrcPort 1
DstBlock "Product"
DstPort 1
}
Annotation {
Name "Then apply frequency scaling to get pow"
"er spectrum density: Watts/Hz\nThis makes the displayed noise level independe"
"nt of Frame size. "
Position [956, 411]
}
}
}
Block {
BlockType ToWorkspace
Name "To Workspace"
Position [990, 453, 1130, 487]
VariableName "Normalized_Spectrum"
MaxDataPoints "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType Display
Name "Total Power Watts in 1 Ohm"
Ports [1]
Position [890, 500, 980, 530]
}
Block {
BlockType Reference
Name "Up for dBw\nDown for dBc /Hz"
Ports [2, 1]
Position [930, 330, 965, 410]
SourceBlock "simulink/Signal\nRouting/Manual Switch"
SourceType "Manual Switch"
ShowPortLabels on
sw "0"
action "0"
}
Block {
BlockType Reference
Name "anti alias"
Ports [1, 1]
Position [250, 32, 315, 88]
SourceBlock "dsparch4/Analog\nFilter Design"
SourceType "Analog Filter Design"
method "Elliptic"
filttype "Lowpass"
N "9"
Wlo "BW*pi"
Whi "80"
Rp "1.2"
Rs "100"
}
Block {
BlockType Reference
Name "anti alias1"
Ports [1, 1]
Position [250, 142, 315, 198]
SourceBlock "dsparch4/Analog\nFilter Design"
SourceType "Analog Filter Design"
method "Elliptic"
filttype "Lowpass"
N "9"
Wlo "BW*pi"
Whi "80"
Rp "1.2"
Rs "100"
}
Block {
BlockType Reference
Name "dBc per Hz"
Ports [1]
Position [1050, 345, 1085, 395]
SourceBlock "dspsnks4/Vector\nScope"
SourceType "Vector Scope"
ScopeProperties on
Domain "Frequency"
HorizSpan "1"
DisplayProperties off
AxisGrid on
Memory off
FrameNumber on
AxisLegend off
AxisZoom off
OpenScopeAtSimStart on
OpenScopeImmediately off
FigPos "[257 516 406 166]"
AxisProperties off
XUnits "Hertz"
XRange "[-Fs/2...Fs/2]"
InheritXIncr on
XIncr "1"
XLabel "Time"
YUnits "dB"
YMin "-164.362362670898"
YMax "2.17442076291263e-006"
YLabel "dBc/Hz"
LineProperties off
ShowPortLabels off
}
Block {
BlockType Product
Name "down convert"
Ports [2, 1]
Position [150, 41, 195, 74]
RndMeth "Floor"
}
Block {
BlockType Product
Name "down convert1"
Ports [2, 1]
Position [145, 151, 190, 184]
RndMeth "Floor"
}
Block {
BlockType ZeroOrderHold
Name "sampler (imag)"
Position [375, 151, 410, 189]
SampleTime "1/(1.28*BW)"
}
Block {
BlockType ZeroOrderHold
Name "sampler (real)"
Position [380, 41, 415, 79]
SampleTime "1/(1.28*BW)"
}
Line {
SrcBlock "Input Signal"
SrcPort 1
Points [45, 0]
Branch {
Points [0, -45]
DstBlock "down convert"
DstPort 2
}
Branch {
Points [0, 50]
DstBlock "down convert1"
DstPort 1
}
}
Line {
SrcBlock "down convert"
SrcPort 1
DstBlock "anti alias"
DstPort 1
}
Line {
SrcBlock "anti alias"
SrcPort 1
DstBlock "sampler (real)"
DstPort 1
}
Line {
SrcBlock "Sine Wave1"
SrcPort 1
DstBlock "down convert"
DstPort 1
}
Line {
SrcBlock "Sine Wave2"
SrcPort 1
DstBlock "down convert1"
DstPort 2
}
Line {
SrcBlock "anti alias1"
SrcPort 1
DstBlock "sampler (imag)"
DstPort 1
}
Line {
SrcBlock "down convert1"
SrcPort 1
DstBlock "anti alias1"
DstPort 1
}
Line {
SrcBlock "sampler (real)"
SrcPort 1
Points [45, 0; 0, 45]
DstBlock "Real-Imag to\nComplex"
DstPort 1
}
Line {
SrcBlock "sampler (imag)"
SrcPort 1
Points [50, 0; 0, -50]
DstBlock "Real-Imag to\nComplex"
DstPort 2
}
Line {
SrcBlock "Real-Imag to\nComplex"
SrcPort 1
Points [65, 0; 0, 105; -185, 0; 0, 45; 35, 0]
Branch {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -