LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Must I reset the FPGA FFT when changing input signal?

Solved!
Go to solution

Hi,

 

I have a FlexRIO based application where I need to do FFT on multiple incoming signals. The signals will be ordered so that I first receive e.g. 4096 samples from Ch1, then 4096 samples from Ch2 etc. This means that I don't have to do the FFT's in parallell and I would like to reuse the windowing and FFT implementation to reduce the resource usage.

 

I plan on using the Scaled Window Express VI followed by the FFT Express VI

http://zone.ni.com/reference/en-XX/help/371599J-01/lvfpga/fpga_scaled_window/

http://zone.ni.com/reference/en-XX/help/371599J-01/lvfpga/fpga_fft/

and I will be using them inside a SCTL.

 

This figure is from the help section of the FFT and will help illustrate the question:

 

 

There is a reset terminal for both the windowing and the FFT VI.

Are there any internal registers in the Windowing and FFT that forces Frame 1, Frame 2,... to be from the same signal or is it possible to first input in a frame from Ch1, the next frame belonging to Ch2, the next to Ch3 and so on and still get valid results?

Another way to ask the same question: Must I reset the window and FFT when changing input signal?

 

 

Thanks,

Anders

0 Kudos
Message 1 of 4
(2,738 Views)

Hi Anders,

 

My name is Ben and I'm one of the Applications Engineers at National Instruments and I'll try and answer your queries as best as possible.

With regards to processing multiple signal sources, you could have it so that a 1d-array of signals (decimate and then build array) is fed into the signals input of the FFT Express VI - this should emulate the series style of FFT'ing as opposed to parallel.

 

And in answering your second question, I think it would be necessary to reset the window and FFT when changing the input signal because otherwise the next input signal would be accumulated onto the previous signal.

 

Best regards,

Ben

0 Kudos
Message 2 of 4
(2,650 Views)

Hello Ben and thank you for the answer.

 

I'm not sure I'm following what you mean.

What I meant was that Frame 1 for example would be from Ch0, Frame2 from Ch3, Frame 3 from Ch 2 etc (the frame number have no relation to the channel number and the channels are not necessarily in any particular order):

 

Frame 1, 1024 samples from Ch0

Frame 2, 1024 samples from Ch3

Frame 3, 1024 samples from Ch2

 

Considering that even if all frames came from the same signal:

 

Frame 1, 1024 samples from Ch0

Frame 2, 1024 samples from Ch0 (1024 new samples, not the same as in Frame 1 and no overlapping is done)

Frame 3, 1024 samples from Ch0

 

the frames could still be very different and contain completely different signals. Frame 1 could contain a broadband signal, Frame 2 a narrowband signal and Frame 3 just noise. If there are internal registers and accumulations in the FFT, that would affect cases with very varying signals in the same channel as well.

 

Best regards

Anders

0 Kudos
Message 3 of 4
(2,641 Views)
Solution
Accepted by topic author cyphish

Hi Cyphish,

 

When using the LabVIEW FPGA FFT express vi and the scaled windows express vi the computations are done point by point so there will be no problem when passing through it different types of measurements. As a result, you should have no problem with your application.

 

Best regards

 

Menelaos.K

0 Kudos
Message 4 of 4
(2,583 Views)