12-02-2011 03:22 AM
I have read all the posts that deal with this thematic and did not find any answers, that would be of use to me. However I did find a formula to convert scale to pseudo frequency. My client wants to have scalogram with Y-axis as frequency of the signal and X-axis as time of the signal. I have tried to use the Multiplier property of the graph indicator but I can't get the correct values of frequency in the Y axis. The formula I use is f = Fw / (dt*s) where f is pseudo frequency, Fw is central frequency of the used wavelet (Morlet), dt is sampling time of the signal and s is scale. Fw is 0,8125 Hz (at least that is what Matlab is telling me), dt is 0,01 s (100 Hz aqusition), scales are from numbers 1 to 128. Basically I wan't to know how to convert scale of the graph indicator. I have drawn the correct graph in Matlab, but I have to do the same in Labview. I have attached both screenshots.
Solved! Go to Solution.
12-06-2011 04:04 AM
Anyone?
12-07-2011 03:05 AM
Hello,
Can you please give me more details how are you trying to guild tha scalogram with wavelet?
The best and the easiest way is to use Continue Wavelest Transfor VI, you can find more information here http://zone.ni.com/reference/en-XX/help/371419D-01/lvwavelettk/wa_continuous_wavelet_transform/ and after that plot it on colormap.
It really depends on your set of data how you use it. My first guess would be that you mixed the y-axe with x-axe but I have to take a look to data to understand mroe how you do it.
Kind regards,
Ion Rosca
12-07-2011 06:20 AM
Thanks for the response. I can draw a scalogram from my data. But instead of the scale on the Y axis I want to have frequency. I have the formula for transformation of scale into pseudo-frequency, but I cannot use the Multiplier property because the formula is f = f0/s*dt, f is frequency in want, f0 is central frequency of Morlet wavelet, which I use for CWT, s is scale and dt is sampling time. I will attach scalogram.
12-07-2011 06:49 AM
Can you please attach your project and data?
12-07-2011 07:25 AM
Ok. Here is the VI in which I draw scalogram. Data is already in waveform constant, you will just have to run the VI to see the scalogram of data.
12-07-2011 10:30 AM
Hello,
Well, you can use property nodes in order to modify the scale.
If you right click on Scalogram, create, property node and you choose multiplier and offset.
You just calculate the offset, it is about 80.61 and the multiplier is about -0.63. And you calculate the pseudo scale.
Using property nodes you can change a lot of settings for the scalogram.
Hope that solves your issue.
Kind regards,
Ion R.
P.S. As LabVIEW is an engineering environment, it is not so obvious how you can reverse time 🙂 (nor frequency)
12-07-2011 10:36 AM
Thank you that helped me allot.
07-23-2012 08:52 AM
Hi,
I have a similar problem. I have my scalogram from an analytic wavelet transformation. Now I wanna know the min. and max. frequency.
How do i do that?
If i take the VI "Scalogram_Y-axis.Maximum", labview gives me always the max of my y-axis....
Hope someone can help me...
I added my VI, and the file from which the data comes...
07-31-2012 01:45 AM
Hi,
I am not sure, that using the wavelet transform to determine the signal frequency band is the best idea. Wavelets are used, when it is neccessary to gain information about the frequency spectrum in dependence of time. Here (if I understand you correctly) you look for an information regarding the entire signal. Therefore, I would recommend you using the FFT transform - having the amplitude spectrum will enable you to pull out the desired information.
For further information about wavelet transform I reccomend you reading http://www.ni.com/pdf/manuals/371533a.pdf .
Regards,
Marcin Iwanow