Forums › General Discussions › Spike version 3.7.2

- This topic has 5 replies, 2 voices, and was last updated 1 year, 3 months ago by Andrew.

- AuthorPosts

mclineParticipantI 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

AndrewModeratorMichael,

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

mclineParticipantAndrew,

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.

AndrewModeratorThank 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

mclineParticipantAndrew, 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

AndrewModeratorMichael,

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

- AuthorPosts

You must be logged in to reply to this topic.