The brand-new PN400 Phase Noise Test System is available for purchase! →

Spike version 3.7.2

Forums › General Discussions › Spike version 3.7.2

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #241872
    mcline
    Participant

    I installed the latest version of Spike, and noticed that for the same span, 10MHZ, the number of sweep points has doubled compared to version 3.5.14. For example: I have a center frequency = 2.123G, span = 10M, RBW = VBW = 1k, Auto gain/Aten, video units = power, detector = average.
    Version 3.5.14 has 32k points and 3.7.2 has 64K points. Is this expected with the 3.7.2 release?
    Thanks
    Michael

    #241873
    AndrewAndrew
    Moderator

    Michael,

    I am unable to reproduce this issue. I’m assuming you are using a BB60 device?

    Are you using different RBW shapes? Going between Flattop and the Nutall window would account for an factor of 2 difference. If I use your settings with a flattop window, I get 64k points, if I use a Nutall shape, I get 32k points.

    Andrew

    #241874
    mcline
    Participant

    Andrew,
    Thanks for the response.
    Sorry, yes I am using a BB60. And always use the default shape of flat top. See attached images.

    Attachments:
    You must be logged in to view attached files.
    #241878
    AndrewAndrew
    Moderator

    Thank you for the pictures Michael. I was able to find the reason for this difference. It is a processing change that was made last year. We altered how we process sweeps for flattop RBWs with the BB60. It should not have any effect on your measurements.

    Let me know if you have follow up questions.

    Andrew

    #241880
    mcline
    Participant

    Andrew, I have noticed effects on the measurements when calculating channel power with the following code:
    //Calculate total/Channel power
    double TotalSpecPower = 0;
    double linearpower = 0;
    double minbinsize = RBW / 3.2;
    double minFFT = 80e6 / minbinsize;
    double order = Math.Ceiling(Math.Log(minFFT, 2)); //Log, base 2, of minFFT
    double fftSize = Math.Pow(2, order); // 2^order
    var nWindowBW = (RBW * fftSize) / 80e6;

    for (int i = 0; i < FFTBIN.Length; i++)
    {
    linearpower = linearpower + Math.Pow(10, ((FFTBIN[i]) / 10));

    }
    ChannelPower = Math.Round(10 * Math.Log10((linearpower / nWindowBW)), 2);

    When using version 3.5.16 or earlier, the channel power from the code above matches Spike, but when I use version 3.6 or later, the channel power from the code above does not match the Spike channel power. I see about a 2.5 to 3db difference.
    Am I missing something in the channel power calculation code?

    Thanks
    Michael

    #241881
    AndrewAndrew
    Moderator

    Michael,

    You will have to change the algorithm slightly.

    I would continue to sum everything as linear units, and then divide through by the window bandwidth which can now be calculated with the following equation.

    nWindowBW = RBW / BinSize;

    Where RBW is what you asked for, and bin size is the frequency spacing between the sweep bins.

    This should get rid of most of the variables used to calculate nWindowBW in your above example.

    In the past we used a variable bandwidth flattop window, but now we use the standard flattop window with zero-padding to achieve arbitrary RBWs. This is a more traditional approach to arbitrary RBW selection.

    Andrew

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.