LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Reversing the FFT outcomes

Hi from Sth.Korea. I've currently started using Labview to make ANC system.

 

As a beginner, I've made quite simple FFT circuit and ran into a problem.

 

1st, I wanted to create FFT output of the sin wave and create FFt.

 

2nd, after the FFT, I've tried to reverse the FFT output.

 

The problem is, when I made reverse form of the FFT, the outcome was quite

 

different with what I've used as input. The amplitude became really small and I can't figure out why...

 

Please help me you awesome people around the world~

0 Kudos
Message 1 of 6
(3,399 Views)

There are a variety of ways to scale Fourier coefficients. One way is to arrange the forward and reverse formulations to be the same except for the interchange of Time and Frequency domains -- when you do this, you need to normalize both sums by dividing by 1/sqrt(N).  Another (common) way is to ignore N for the forward transform, and divide by N for the Inverse -- if you read the LabVIEW Help for the Inverse FFT, you'll see this is the convention used by LabVIEW.  The numbers you get out are 1/N as big as you "expect" -- you can fix this by rescaling your plot's Y Axis by N (or multiplying your IFFT values by N).

 

Bob "It's all in the Math" Schor

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

First, I changed and cleaned up your block diagram a little.

 

Second, you were close. The output of the FFT should feed directly into the InvFFT. No normalization is needed there.

 

The only place you need to normalize the amplitude (by 2/N) is before you plot the FFT results. The units for the FFT are are N/2*Vpk (for freq > 0). Multiplying N/2*Vpk by 2/N leaves you with Vpk. Note: the DC unit is handled slightly different.

 

from NI example - FFT and Power Spectrum Units.vi

Units Table.PNG

 

 

bd.png

 

fp.PNG

Message 3 of 6
(3,345 Views)

I'm so sorry for being late to say thank you. Your answer was a literally tremendous help to me. Once again, Thank you!!! 

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

Good evening! I have questions regarding the usage of Active Noise Cancelling(ANC).

 

I'm trying to create a simple active noise cancellation system using Labview adaptive filter algorithm to cancel few sine wave noise.

 

The thing is that, should I use FPGA when cancelling just sine wave?

 

By the way, I use labview 2018 and already have COMPACT RIO.

 

Hoping for your answers.

 

0 Kudos
Message 5 of 6
(3,288 Views)

If you use LabVIEW on windows only, It may occur two problems.

 

1. Phase shift

2. Limit of frequency shift

 

Even if you're using a nice instrument device, the feedback algorithm should be run on the software.

 

Using FPGA is a better solution.

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