LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Why the frequence I measured is double of my input signal‘s frequency range?

Solved!
Go to solution

I build a vi to generate a sweep sine signal,the frequency range is 0—50Hz,but when I measure it,I find that the frequency range is 0—100Hz。

 

I check over it and stil cannot find the problem. PLEASE help me out!!!Smiley Sad

The picture below shows my program.

无标题.png5NYBM6{6H9G0B%OSU(TG9H0.png

 

Also, I attach my vi here and hope somebody can give me some help.

0 Kudos
Message 1 of 6
(3,717 Views)

Take a look at your generated sweep:

100Hz.PNG

 

Right at the end, for the highest frequency, there are 10 points per period. That's 10 x 0.001 seconds = 0.01s = 100Hz.

 

Therefore your sweep is generating a 0Hz to 100Hz sine wave, and not 0-50Hz as you think.

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 2 of 6
(3,697 Views)
Solution
Accepted by Lancelot3718

Perhaps consider the Chirp Pattern function:

chirp_pattern.PNG

chirp_pattern_FFT.PNG

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 3 of 6
(3,692 Views)

YEAH~~,Thank you very much. Your anwser helps me a lot.

 

But I still cannot find the mistakes in my program, can you tell me where is the problem?Heart

 

0 Kudos
Message 4 of 6
(3,637 Views)

I'll admit I'm not sure where the issue is. Your final value for frequency into the SinePtbyPt function is 50, so you're not asking for 100Hz. Therefore, it must be something about the way in which the Sine function is called, and the phase relationship as the frequency increases. You might be seeing a phase sweep phenomenon that is artificially adjusting your sine frequency as you time progress. Maybe someone else with more experience using this function will comment.

 

BTW, you don't need the timed loop for this unless you are specifically intending to display the data on the chart in real time. You can just use a normal while loop.

Thoric (CLA, CLED, CTD and LabVIEW Champion)


Message 5 of 6
(3,608 Views)

Thank you, as you guess, this Vi will be used in a real time control system. Smiley LOL


Thoric 已写:

I'll admit I'm not sure where the issue is. Your final value for frequency into the SinePtbyPt function is 50, so you're not asking for 100Hz. Therefore, it must be something about the way in which the Sine function is called, and the phase relationship as the frequency increases. You might be seeing a phase sweep phenomenon that is artificially adjusting your sine frequency as you time progress. Maybe someone else with more experience using this function will comment.

 

BTW, you don't need the timed loop for this unless you are specifically intending to display the data on the chart in real time. You can just use a normal while loop.


 

0 Kudos
Message 6 of 6
(3,595 Views)