LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

3d graph scale multiplier??

Hi!

need some help here. i try to make a spectral analyzer for a non-stationary signal using STFT in labview 8.0. The result (which is a 2D matrix) then displayed in a 3d graph, right now using the 3d surface vi. the problem is, i want to add multiplier to two of the graph axis, so they are not only displaying the index of my 2D matrix, but represent my actual frequency and time axis (i'm thinking something like the scale.multiplier property node from the intensity graph function). Is there such option in 3d graph?


If there is not any, i'm thinking about converting the 2d matrix to three vector of x, y, z coordinates, then multipying the vector manually. But then, i don't have idea how to convert it.

so, anyone can help me?

thanks in advance
0 Kudos
Message 1 of 12
(5,244 Views)

"... i'm thinking about converting the 2d matrix to three vector of x, y, z coordinates, then multipying the vector manually."

That should do it.

If you have trouble please post your code and data and we'll try to be of further assistance.

Ben

PS: Please post code and data for followup Q's Trying to solve 3-d problem in a 2-d language using only text is a nightmare.

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 2 of 12
(5,224 Views)
sorry, for the text only question,, it was late at night and i too stressed out to pull a good question. btw, problem solved, just like u said, it works! thx ben!
0 Kudos
Message 3 of 12
(5,211 Views)
Hi!
I have exactly the same problem. The only things is that I haven't figured out yet, how to convert and scale the vectors. Could anyone give me a clue?

Thanks
0 Kudos
Message 4 of 12
(5,109 Views)

Hi Xaran

The LabVIEW help describes the output of the STFT Spectogram as "STFT Spectrogram {X} is a 2D array that describes the time waveform energy distribution in the joint time-frequency domain. The number of rows, time axis, in STFT Spectrogram {X} is equal to the number of elements in the time waveform divided by time increment and then rounded up. The number of columns, frequency axis, in STFT Spectrogram {X} is equal to (window length/2) + 1. " I am not sure if you are using this particular VI or something else.

Another option is to perform the scaling and offsets as given in the example "Moving STFT PtByPt.vi" available in the Example Finder. Hope this helps.

 

0 Kudos
Message 5 of 12
(5,086 Views)
Hello there,, so, are you using the 3D surface vi like me? If so, u can supply the scaled x and y array to the x and y vector input of the vi (look here). In my case, i didn't need to convert the 2D Matrix. I just build a new vector with the appropriate size.

hope that helps!
0 Kudos
Message 6 of 12
(5,080 Views)

Hi!

We need some help here. We try to make a spectral analyzer for a non-stationary signal using various vi (power spectrum, cross spectrum) in labview 6.1. We want to display the result in a 3D graph, using the 3d surface vi. Our problem is that we want to display the time and actual frequencies, and not the index of the 2D matrix.

Could anyone help us ?

Thanks in advance

0 Kudos
Message 7 of 12
(4,728 Views)

Then use a parametric plot which gives you the option to control the triplet (X,Y,Z) where each poin is plotted.

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 8 of 12
(4,725 Views)

I join an example of the vi I try to develop.

 

 

0 Kudos
Message 9 of 12
(4,723 Views)
You will find attached a WORD showing the 3D plot that my VI (adapation waterfall2) currently produces with, I suppose, the default axis labels. I want to see instead "frequency content" in Hz and "time" in msec on the horizontal axis. How am I suppose to do the axis scaling or labelling? 
0 Kudos
Message 10 of 12
(4,711 Views)