Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

How to use point-by-point FFT in LabVIEW FPGA (NI PXLe-7965R)

Hi Everobody,,

I'm working on my graduation project implementing a real time algorithm.

We finished the simulation part of the project. But when we moved to the implementation, most of the functions dissapear. I built the necessary function from the scratch.

Once I tried to design the FFT (to be used for a hilbert transform of greater lengths), I had only one choice which is the Point-By-Point FFT (Called FFT Express VI within FPGA Math & Analysis Palette).

 

The problem is that this module accepts single element (rather than Array) and it outputs a signle element??!!

 

As I remember from DSP course, FFT of an element corresponds to a spectrum containing N-elements (where N is the length of the FFT)

I understand that if we take each element and perform FFT on it. Then, we add these spectrums (Superposition), we can get the N-FFT. That's how Pt-By-Pt module works. But if we go to the FPGA, neither the orignal FFT nor the Pt-By-Pt modules are avaliable. We only have this weird 1-By-1 FFT????

 

PS: I changed the length of the FFT to 8192, Yet, It outputs only single elemnt??? 

 

Thanks in advance for you precious help..

Message 1 of 8
(9,775 Views)

Here is the help documentation which explains the poin by point behavior. 

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

 

There are two good example of inside and outside the single-cycle loop in the LabVIEW Example finder by searching (FFT FPGA)

"FFT with Handshaking" and "Windowed FFT"

 

Hope this helps. 

 

Rick Kuhlman | LabVIEW FPGA Product Manager | National Instruments | ni.com/fpga
Check out th FPGA IPNet for browsing, downloading, and learning about LabVIEW FPGA IP Cores _

Message 2 of 8
(9,753 Views)

Hi. We are having the same problem. If the input to the FFT express VI is only one element serially, how would we produce the output spectrum that we should get? 

0 Kudos
Message 3 of 8
(9,041 Views)

Hi IrisEndong,

 

I recommend that you look at the Help documentation and the examples that Rich posted.  Here is another example for FFT in FPGA: https://decibel.ni.com/content/docs/DOC-1052

 

Hope this helps!

 

Regards,

 

Dayna P.

Applications Engineer

National Instruments

Message 4 of 8
(9,009 Views)

Those two examples don't really explain how "FFT Express VI" works. Since the VI is not found in the example.



0 Kudos
Message 5 of 8
(8,656 Views)

Hi LeoLiao78

 

Probably you have already looked at the examples that are install with the software, I have LabVIEW 2012 SP1 and I

have three examples: FFT Co-processor, FFT with Handshaking and Windowed FFT.

 

Those examples do use the FFT express VI in the FPGA. If you have not looked to those examples try to use them and it will be easier to help you with have a specific question.

 

Regards

Esteban R.

0 Kudos
Message 6 of 8
(8,645 Views)

Hi Dayna P

 

I try to use the FFT in FPGA with inside timeloop. But when I try to ran with finite mode I got result that FFT output were lost data

Here  my setup:

I am using FlexRIO 7965R simulate the signal 20khz pass to FIFO, On the STL I read data from FIFO and Do FFT(1024 points) with handshaking mode. After that I stream to host using (DMA). on the host I will read the data from DMA.

First I generate 1024 (finite) after that stop generate data, this data will pass through to FIFO and FFT will calculate but I am do not receive enough 1024 points. on the host I set the Number of data to read 1024--> I got result time out error. If I generate 2048 and set number data to read 1024 I will got the value.

My question is why does FFT do not produce the same number out put with the number of input.(Does FFT cause  lost data) 

Would you please help how can I over come this problem.

 

I am also test with continuous data I working fine.

 

Thanks and Regards

 

Luong.Tran

 

0 Kudos
Message 7 of 8
(8,577 Views)

Hi  Dayna P

 

I am sorry regarding this mistake, There error occur because i am setting system wrongly .

I have already test it . FFT function are working perfect. No data lost.

 

Thanks and Regards

 

Luong.Tran

 

smileyvery-happy: 

Applications Engineer | National Instruments
Singapore (65) 6226 5886 | Malaysia (60) 3 7948 2000 | Thailand (66) 2 298 4800
Philippines (63) 2 659 1722 | Vietnam (84) 28 3911 3150 | Indonesia (62) 21 2783 2355
0 Kudos
Message 8 of 8
(8,564 Views)