Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
This Document is not yet Rated  Rate this Document

How do I Zero-Pad an FFT in DIAdem?

Primary Software: DIAdem
Primary Software Version: 10.0
Primary Software Fixed Version: N/A
Secondary Software: N/A

Problem:
Does DIAdem provide functionality for performing a zero-padded FFT?

Solution:
DIAdem 10.0 and earlier use only the samples up to a power of 2 when performing a Fast Fourier Transform (FFT). For instance, even if 1000 data points are present, DIAdem will only use 512 of them when performing an FFT.

Therefore, when using DIAdem 10.0 and earlier, you may want to use a process called zero-padding, which simply means adding a set of zeros to the end of a channel in order to reach a power of 2 (to perform an FFT with all available points efficiently). In order to do this, you can use VB Script to add zeros programmatically to a channel prior to performing the FFT. The following code is an example of how this can be done:

ChNum = 1 'Channel Number to modify
Length = ChnLength(ChNum)
PadNum = 10 'Number of zeros to insert
Call ChnReAlloc(ChNum, Length + PadNum)
Call ChnAreaInsert0(ChNum, Length+1, 10)


Please note that this method uses a channel that is already configured; it could be modified to create a new channel with the appended zeros by using the ChnAlloc function.

Note: This has been modified in DIAdem versions 10.1 and above such that these additional points will be used by using a discrete FFT.

Related Links:

Attachments:





Report Date: 12/05/2006
Last Updated: 04/30/2007
Document ID: 444963GJ

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit