LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Obtaining logarithmic frequency resolution FRF (Sound an Vibration)

I'm fairly new to labview, but I have searched everywhere and can't find the solution to this problem. I am trying to build a VI that simply displays the phase and magnitude of the frequency response of a circuit. I am using SVFA Frequency Response (Mag-Phase).vi in the Sound and Vibration toolkit. The issue is that I want to display these on a graph with a log-scaled frequency x axis and when I do this, there is much lower resolution in the lower frequencies than the higher ones. Is there a way to have the frequency resolution scaled logarithmically so that there is more detail in the lower frequencies, resulting in an even-looking distribution? i.e. I want there to be the same number of data points between 10 and 100 as between 100 and 1,000, etc.

 

 

 

Any help would be greatly appreciated.

 

 

0 Kudos
Message 1 of 12
(2,934 Views)

@lv_novice wrote:

I'm fairly new to labview, but I have searched everywhere and can't find the solution to this problem. I am trying to build a VI that simply displays the phase and magnitude of the frequency response of a circuit. I am using SVFA Frequency Response (Mag-Phase).vi in the Sound and Vibration toolkit. The issue is that I want to display these on a graph with a log-scaled frequency x axis and when I do this, there is much lower resolution in the lower frequencies than the higher ones. Is there a way to have the frequency resolution scaled logarithmically so that there is more detail in the lower frequencies, resulting in an even-looking distribution? i.e. I want there to be the same number of data points between 10 and 100 as between 100 and 1,000, etc.

 

 

 

Any help would be greatly appreciated.

 

 


Hmmm...

I just did this:

Capture.PNG

and got this:

Capture.PNG

All I did was make the time axis log scale.  Seems to be what you (and everyone else would) want.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 2 of 12
(2,913 Views)

Thank you for your reply. I understand how to change the x axis scale to log. But as you can see on the graph that you posted, there are only about 10 data points between 1 and 10, whereas there are likely about 90 data points between 10 and 100. This results in a plot that looks "choppy" for smaller x values and smoother for large x values. I want to have more densely distributed measurements at the lower frequencies than at the higher ones so that the "smoothness" of the plot is uniform throughout. Basically, I want to see more detail at smaller frequencies.

 

We have an old HP frequency analyzer here that has a setting for this (called log res), but I haven't figured out how to implement it in LabVIEW.

 

Thanks again.

0 Kudos
Message 3 of 12
(2,909 Views)

Make yourself familar with the basics of frequency domain representation 🙂

The fouriertransformation will transform the equal spaced time domain data into a equal frequency spaced frequency domain data. The frequency step size is the inverse on the data time length ..

1000 points time domain data transforms to 500 complex frequency domain points... without data loss  (rec window 😉 )   

So if you want more data points in the lower frequency representation, you need to capture  a longer time periode time domain data. 😄

1Hz resolution equal 1sec captured time data ..  0.1Hz -> 10s

 

 

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 4 of 12
(2,888 Views)

@lv_novice wrote:

Thank you for your reply. I understand how to change the x axis scale to log. But as you can see on the graph that you posted, there are only about 10 data points between 1 and 10, whereas there are likely about 90 data points between 10 and 100. This results in a plot that looks "choppy" for smaller x values and smoother for large x values. I want to have more densely distributed measurements at the lower frequencies than at the higher ones so that the "smoothness" of the plot is uniform throughout. Basically, I want to see more detail at smaller frequencies.

 

We have an old HP frequency analyzer here that has a setting for this (called log res), but I haven't figured out how to implement it in LabVIEW.

 

Thanks again.


Oh, I misunderstood your post, then.  I was thinking of divisions on the scale, not actual data points.  Sorry about that.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 5 of 12
(2,883 Views)

Thanks for the response. I think I understand these concepts... My issue is knowing how to apply them in LabVIEW. From what I understand, you are saying that in order to have higher resolution at lower frequencies, you need to sample over a greater period of time. But when I increase the number samples received, it changes nothing. Also, what I am looking for is to have the same number of data points, but to have them logarithmically distributed over my graph. Does this make sense?

 

Thanks

0 Kudos
Message 6 of 12
(2,859 Views)

Look at the order analyses vis (at least there are some in the sound&vib module)

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 7 of 12
(2,854 Views)

 


@lv_novice wrote:

Thanks for the response. I think I understand these concepts... My issue is knowing how to apply them in LabVIEW. From what I understand, you are saying that in order to have higher resolution at lower frequencies, you need to sample over a greater period of time. But when I increase the number samples received, it changes nothing. Also, what I am looking for is to have the same number of data points, but to have them logarithmically distributed over my graph. Does this make sense?

 

Thanks


like this?

LOG-RAMP-PATTERN.png

0 Kudos
Message 8 of 12
(2,848 Views)

Not quite. Imagine this plot, but with equally spaced data points. So there would be, say, 15 points between 1 and 10, and 15 points between 10 and 100. The way it is now, there are many more packed into the higher x values.Screenshot (4).pngScreenshot (5).png

 

Thanks

0 Kudos
Message 9 of 12
(2,840 Views)

Use the interpolation vi to reduce/blow up the linear (in frequency) points to  log spaced data.

Just keep in mind you create fake data (quite modern expression :)) from real data to make it look nice.

 

Easy if you just want to show some magnitudes, the tricky part comes when you want to calculate with such data and deal with energies.... 😉

That's where the mentioned order analysis vis come in.

 

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


Message 10 of 12
(2,830 Views)