Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted

02-14-2020 06:13 AM

Options

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Dear all,

We have a short-time Fourier transform ( STFT), and Gabor filter VI programs are available in an advanced signal processing toolkit. Similarly, is there any possibility of 2-D STFT and 2-D Gabor filter VI programs in LabVIEW. If we don't have these VI programs in the LabVIEW, How we could proceed to implement these 2-D filters in the LabVIEW cRIO (compact RIO) environment. Anyone can guide me in this problem.

Thanks and regards

Sukumar.

Solved! Go to Solution.

Highlighted
Options

02-15-2020 05:04 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

I know about the Short-Time Fourier Transform of a signal, which is a 2-D plot of the signal spectrum as a function of time (sometimes called Time-Frequency Analysis), and I think there are functions in LabVIEW that can perform this (but it helps to both understand LabVIEW and also Signal Theory), but I've not heard of 2-D STFT (which sounds, to me, like looking at a 3-D representation of how a 2-D Fourier Transform changes as a function of time). I'm pretty sure that here is no LabVIEW function to do this.

Bob Schor

Highlighted
Options

02-16-2020 06:08 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Taking a guess, I wonder if you mean you'd like to consider the simultaneous behaviour of the FFTs of two different physical signals (for example, vibration in X and Y directions, leading to the "2D" mention).

If so, I think you may still want to use the same VIs, but you'll need to consider how to combine your outputs to give the desired display. Like Bob_Schor said, this might result in a 3D plot.

Highlighted
Options

02-16-2020 09:12 AM - edited 02-16-2020 09:14 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

Thank you so much for your advice.

Is it possible to implement a time-frequency analysis for a 2-D signal (images) in the LabVIEW environment?. kindly share your views about this problem. Incase if possible, what is the better approach to computing a time-frequency analysis for images (2-D signal)?

Highlighted
Options

Solution

Accepted by NAGINENI

02-16-2020 12:08 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report to a Moderator

@NAGINENI wrote:

Is it possible to implement a time-frequency analysis for a 2-D signal (images) in the LabVIEW environment?. kindly share your views about this problem.

I would say that it is __possible__ (as you can certainly __state__ the problem, and can come up with an algorithm that allows you to do the computation), but __displaying__ the result may give you some problems, as you need to create a plot in four dimensions (hard to do on our present 2D display devices).

To explain: Consider a 1D signal whose spectrum you wish to know. You do an FFT, and produce a 2D plot of Amplitude (or sometimes Power) as a function of Frequency. Now you want to ask "How does the Spectrum vary over Time?", so you do something like a Short Time Fourier Transform and let Time be one of your variables, resulting in a 3D plot with Time and Frequency being the independent variables and Amplitude (or Power) being the dependent variable. This is often plotted as an Intensity Graph, with Time on the X axis, Frequency on the Y, and Intensity as the Z axis for Amplitude/Power.

Now you want to do the same thing for a 2D Transfer function of an Image, which starts out as a 3D plot, with two Spatial Frequencies as the X and Y axes and Amplitude/Power typically plotted as Z/Intensity. How are you going to show Time? One way, of course, is to make a Video and let Time be "time". Keep Spatial Frequencies "isolated" from Time. For example, suppose you are acquiring Videos at 30 images/second. Take each Image and do a 2D transform of it, creating a 2D Intensity "Image", and save these Images in an AVI file that you can view at 30 images/second.

Bob Schor