-
RE: DPOJET phase noise
Hi Yan,
IMHO (but please double check it is Friday and Beer Time here 8PM)
The TIE Time Interval Error Jitter Trend is sampled by your actual measured signal.
your Jitter FFT Max Frequency will be 1MHz/2
your Jitter FFT Min Frequency will be 1/(RecordLength*SamplingRate)
your Jitter FFT number of points should be half of number of TIE samples (here this should equate to 1E6x(RecordLength*SamplingRate)
your Jitter FFT RBW should be (FFT_Max_Frequency-FFT_Min_Frequency)/FFT_Number_of_Points
Jitter FFT RBW=(FFT_Max_Frequency-FFT_Min_Frequency)/(1.56e9x(RecordLength*SamplingRate)
Now regarding the phase noise plot (assumptions here)
I have run the PhaseNoise Plot with your settings on my scope, then I saved the PhaseNois ePLot as .mat file
then I opened it insid eMatlab
dataphasenoise=load('D:\DOCUMENTS\Phase Noise\Phase Noise 1MHz Sinawave 1.56GSas.mat');
then I digged inside it:
dataphasenoise.DPOJET.Plot.line
ans =
struct with fields:
XData: [50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 1050 … ]
YData: [-99.8782 -97.3776 -96.4661 -96.6948 -102.6597 -101.1378 -102.5144 -105.3665 -102.7922 … ]
ZData: [1×0 double]
Color: [1 0.5000 0]
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
MarkerSize: 6
MarkerEdgeColor: 'auto'
MarkerFaceColor: 'none'
Tag: 'Spectrum'
Looking at XDATA so it seems that RBW is 50Hz
Have a great weekend!
Kind regards
Pascal
-
RE: Compute samples required when BUJ is used within DPOJET
Hello Mathias
Unfortunately Tektronix is not documenting officially a specific formula to compute the Total Record Length required in order to get a full Jitter Decomposition with a Single Deep Memory Waveform Acquisition.
But based on experimentation in order to compute the Record Length to achieve SPECTRAL+BUJ Jitter Decomposition in ARBITRARY MODE with a Window of 24UI with Constant FREQUENCY Clock Recovery Algorithm the practical Algoryhtm is:
JitterDecompositionRecordLength=(minAnalyzedUI/Data-Rate)xSampleRate with minAnalyzedUI=2.1E6The 2.1E6 value was initially found empirically but eventually got its explanation with the following formula (Thank you Mark.G)
minAnalyzedUI = 2^ceil(log2(minBujUI * 6))With default DPOJET minBUJ UIs of 200k (in DPOJET Preferences), this translate to a Need to Capture 2097152 UIs (2.1e6 UIs)
Exemple1
Sample Rate= 100GSa/s
Datarate=1Gb/s
Pattern= PRBS23=32767 bits
JitterDecompositionRecordLength=(2.1E6/1E9)x100E9=210MPts
If you use the same Formula with PERIODIC MODE, you will get a DPOJET Warning about not getting enough pattern repeat but DPOJET will still Provide the results based on ARBITRARY MODE analysis (so It is advised to set the ARBITRARY Analysis window to 24UI)
if you want to absolutely get the result of PATTERN MODE Jitter decomposition, the Record Length might become Very High and is dependant on the PRBS/PATTERN Length transmitted by DUT
Jitter DecompositionRecordLength=(101xPatternLength/Datarate)xSampleRateExemple2
Sample Rate= 100GSa/s
Datarate=1Gb/s
Pattern= PRBS23=32767 bits
JitterDecompositionRecordLength=331MPts
Also, as discussed, if You use a PLL Clock Recovery Algorithm, you will need to compute DPOJET BLANKING TIME (PLL Lock Time)
by default DPOJET use a BLANKING TIME of 4/FPLL (FPLL beeing the bandwidth of the PLL)
So the Additional RecordLength to account for the PLL Blanking Time is:
BlankingTImeRecordLength= (4/FPLL)xSamplingRate
You will add the JitterDecomposition Min Record Length with the BlankingTImeRecordLength to get the required Total Record Length required in order to get Jitter Decomposition with a Single Waveform Acquisition
Kind regards
Pascal