From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Spectrum analysis, strange behaviour

Solved!
Go to solution

Hi!.

I've created this VI that perform a spectral analysis of a simple sinusoidal signal of wich I can change the frequency in a range from 100 to 1000 Hz.

I've noted that if I choose a frequency's value like 340,350,..., 460... and so on, I see in the spectral graph exactly the expected signal's amplitude value, in this example: 4

uno.png

Instead, If I set a value like 341, 342, 343,... and so on until the next "round" value I don't see the same exact amplitude value (4) but a lowest value and the graph is more scattered around the max value:

due.png

 

Any idea?

Thanks in advance

0 Kudos
Message 1 of 6
(2,298 Views)
Solution
Accepted by mforbiz

You take 1000 samples which is 100 ms of data; your frequency resolution is 10 Hz. When your frequency doesn’t fall exactly on a 10 Hz bin, it is spread out over multiple bins depending on the window.

 

mcduff

Message 2 of 6
(2,273 Views)

McDuff is right, add another 0 to your sample rate and you'll get perfect 1-Hz matching again.

0 Kudos
Message 3 of 6
(2,261 Views)

You only get a single line if the sample contain an integer number of cycles.

If you don't have an integer number of cycles in the signal, you get spectral leakage.

 

 

0 Kudos
Message 4 of 6
(2,224 Views)

Hi mcduff.

Sorry for delay.

You're right.

I'll try with windowing

Thanks

0 Kudos
Message 5 of 6
(2,163 Views)

Hi Bert.

I think you intend to add another 0 to number of sample.#Sample.png

0 Kudos
Message 6 of 6
(2,162 Views)