LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Defining bit depth of FFT calculation

I need very accurate calculation of phase (FFT) make by microprocessor. I’m thinking about 32 fixed point floating format with input data close to 1. My job is only to define bit depth of FFT calculation, c coding is someone else work.

Idea is to make simulation by LabView to simulate input signal with noise and FFT needed bit dept. On one side (for reference) Amplitude and Phase Spectrum VI, which is more than enough precise. On other side I need FFT function (without windowing) in which I can change bit depth of calculation.

 

Any idea where to start, I haven’t knowledge about FFT, so discrete written FFT will be right beginning? Where to find it?

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

Oldi,

 

I am not sure I understand your question.

 

LabVIEW has the FFT.vi in the Signal Processing palette.  It takes double precision floating point inputs and does the calculations vi a Call Libraray Function Node. So you do not have any control over the calculation precision.

 

If you want to simulate the accuracy of FFT calculations with different precisions, I would think you should start with the algorithm which will be used. Calculations of this type can be very sensitive to not only the data representation, but also the order of operations and the way overflows are handled.

 

Lynn

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

You are right, I need FFT algoritem made by LabView discrete functions. I need simple description of the algoritem, a lot of studies and  huge amount of time. 😞

0 Kudos
Message 3 of 4
(2,795 Views)

The LabVIEW help defines the FFT according to this equation:

 

FFT definition.png

 

It should not be difficult to implement that equation with LV functions and VIs. However, that equation is not necessarily computationally efficient and probably is not the algorithm used by the LV FFT VI.

 

What you really need to simulate is the algorithm which will be used in the microprocessor. Talk to the project manager and determine what algorithm will be used on the microprocessor. Then implement that algorithm in LV. By careful use of integer data types or the Fixed point data type you should be able to evaluate the calculation errors in various data sizes.

 

Lynn

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