LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LV2014 vs LV2016: FFT Express VI and FFT-to-Spectrum VI

Hi all,

 

My application uses FFT (Fast Fourier Transform) functions on the FPGA as well as Host VIs. In the FPGA VI, I'm using the FFT Express VI, and in the Host VI I'm using the FFT-to-Spectrum VI. Previously on LabVIEW 2014, I got correct results. But the same code on LabVIEW 2016 is giving me incorrect results.

 

I’m attaching the FPGA VI and a screen capture of the Host VI. This is in LV2014. I just made copies of the VI’s and opened the copies in LV2016 and re-saved them in LV2016. Of course I also had to install the 2016 drivers and Xilinx compilation tools on the hardware. When I had everything set up, I ran the LV2016 VIs, and I got a completely different frequency spectrum than what I got with LV2014.

Then I did Google search to see if there are differences, but I didn’t find any. Then I tried different things such as feeding a known single sine wave from a signal generator. Even this does not give me the correct frequency spectrum as expected (i.e. a single spike at the frequency and near zero at all other frequencies). I double-checked the signal generator using an oscilloscope, and it is good.

So the only change is I opened the VI in LV2016 instead of LV2014. Has anyone encountered the same issues when moving from LV2014 to LV2016? 

 

Would really appreciate your inputs.

 

Thanks.

Download All
0 Kudos
Message 1 of 6
(3,360 Views)

Forgot to add the hardware - it's NI 9146 chassis with NI 9234 modules.

0 Kudos
Message 2 of 6
(3,320 Views)

Hey Abvenk,

 

Thanks for updating with your hardware. 

Is this all on the same PC that you have updated the software on? What operating system are you running on?

Sam J.
Applications Engineer
National Instruments
0 Kudos
Message 3 of 6
(3,309 Views)

@Samuel.J wrote:

Hey Abvenk,

 

Thanks for updating with your hardware. 

Is this all on the same PC that you have updated the software on? What operating system are you running on?


Yes, it's all on the same PC running on Windows 7. 

Thanks

0 Kudos
Message 4 of 6
(3,303 Views)

According to the readme there was a change to the FFT the way you have it setup, but I'm not sure it would cause the behavior you are describing. Do you have screenshots of what output?

 

LabVIEW 2016 FPGA Module Readme

http://www.ni.com/pdf/manuals/374737f.html

 

 

Sam J.
Applications Engineer
National Instruments
0 Kudos
Message 5 of 6
(3,285 Views)

@Samuel.J wrote:

According to the readme there was a change to the FFT the way you have it setup, but I'm not sure it would cause the behavior you are describing. Do you have screenshots of what output?

 

LabVIEW 2016 FPGA Module Readme

http://www.ni.com/pdf/manuals/374737f.html

 

 


So the output I'm looking at is the frequency spectrum. In below screenshot, the first graph is the frequency spectrum of an input of 100Hz sine wave (FFT length is 64, and sampling frequency is 5120Hz, so the frequency bin size is 80Hz, so a 100Hz signal will show a peak in Bin 1). (Ignore the X-axis label 'Time' - I was just lazy to change.. it should say 'Freq Bin').100Hz spectrum.png

 

 

When I first ran the same VI's in LV2016, I got weird multiple round arches instead of a single sharp peak. After that, I made some changes where I removed the FFT function in the FPGA VI, and instead did the FFT on the Host side.

 

Now when you asked me to show some screenshots, I reverted the changes in order to do the FFT inside the FPGA VI. Strangely, when I ran the application again, I'm not getting the weird round arches. 

 

Not sure if this is some kind of cache related issue that went away when I changed the code back and forth?  

0 Kudos
Message 6 of 6
(3,272 Views)