Takes a signal in and performs a full harmonic analysis, including measuring the fundamental frequency tone and harmonics, and returning the fundamental frequency, all harmonic amplitude levels, and the total harmonic distortion (THD). The data type you wire to the signal in input determines the polymorphic instance to use. Details Examples
Use the pull-down menu to select an instance of this VI.

![]() |
stop search at Nyquist should be set to TRUE (default) to include only frequencies less than the Nyquist frequency, or half the sampling rate, in the harmonic search.
When set to FALSE, this VI continues searching the frequency domain beyond Nyquist by assuming that these higher frequency components have aliased according to the following equation. aliased f = Fs – (f modulo Fs) where Fs = 1/dt = sampling rate. |
||||||||||||
![]() |
signal in is the input time-domain signal. | ||||||||||||
![]() |
export signals selects the signal to export to exported signals.
|
||||||||||||
![]() |
highest harmonic controls the highest harmonic, including the fundamental tone, used for the harmonic analysis. For example, for 3rd harmonic analysis, this control should be set to 3 to measure the fundamental, second, and third harmonic. | ||||||||||||
![]() |
error in describes error conditions that occur before this VI or function runs.
The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
| ||||||||||||
![]() |
advanced search controls the frequency domain search area, which is the center frequency and width, used for finding the fundamental frequency tone of the signal.
| ||||||||||||
![]() |
exported signals contains the signals specified by export signals.
| ||||||||||||
![]() |
detected fundamental frequency contains the detected fundamental frequency resulting from searching the frequency domain. Use advanced search to set the frequency search range. All harmonics are measured at integer multiples of this fundamental frequency. | ||||||||||||
![]() |
THD contains the measured total harmonic distortion up to and including the highest harmonic. THD is defined as the ratio of the RMS sum of the harmonics to the amplitude of the fundamental tone. To compute THD as a percentage, you must multiply it by 100. | ||||||||||||
![]() |
components level contains the array of amplitudes of the measured harmonics in volts if the signal in is in volts. The array index is the harmonic number including 0 (DC), 1 (fundamental), 2 (second harmonic),... n (nth harmonic), up to and including the highest harmonic. | ||||||||||||
![]() |
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces.
Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
| ||||||||||||
![]() |
measurement info returns information about your measurement, mainly warnings for inconsistencies in your input signal.
|
The multichannel waveform array input should be the result of a multichannel acquisition where each element of the array of waveforms is a distinct and separate channel of data.

![]() |
stop search at Nyquist should be set to TRUE (default) to include only frequencies less than the Nyquist frequency, or half the sampling rate, in the harmonic search.
When set to FALSE, this VI continues searching the frequency domain beyond Nyquist by assuming that these higher frequency components have aliased according to the following equation. aliased f = Fs – (f modulo Fs) where Fs = 1/dt = sampling rate. |
||||||||||||
![]() |
signals in is the array of input time-domain signals. | ||||||||||||
![]() |
export signals selects the signal to export to exported signals.
|
||||||||||||
![]() |
highest harmonic controls the highest harmonic, including the fundamental tone, used for the harmonic analysis. For example, for 3rd harmonic analysis, this control should be set to 3 to measure the fundamental, second, and third harmonic. | ||||||||||||
![]() |
error in describes error conditions that occur before this VI or function runs.
The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
| ||||||||||||
![]() |
advanced search controls the frequency domain search area, which is the center frequency and width, used for finding the fundamental frequency tone of the signal.
| ||||||||||||
![]() |
exported signals is an array of exported signals.
| ||||||||||||
![]() |
detected fundamental frequencies is an array containing the detected fundamental frequency resulting from searching the frequency domain for each waveform. | ||||||||||||
![]() |
THD is an array containing the measured total harmonic distortion for each waveform. | ||||||||||||
![]() |
components levels is a cluster containing an array of amplitudes of the measured harmonics for each waveform.
| ||||||||||||
![]() |
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces.
Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
| ||||||||||||
![]() |
measurements info is an array that returns information about your measurement, mainly warnings for inconsistencies in your input signal.
|
This VI is designed to process a single channel or multiple channels continuously, typically from within a For Loop or a While Loop.
Refer to the following VIs for examples of using the Harmonic Distortion Analyzer VI: