• 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.1E6

    The 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)xSampleRate

    Exemple2
    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