## Documentation Center |

Transform `iddata` object to frequency
domain data

`Datf = fft(Data)Datf = fft(Data,N)Datf = fft(Data,N,'complex')`

`Datf = fft(Data)`

`Datf = fft(Data,N)`

`Datf = fft(Data,N,'complex')`

If `Data` is a time-domain `iddata` object
with real-valued signals and with constant sampling interval `Ts`, `Datf` is
returned as a frequency-domain `iddata` object with
the frequency values equally distributed from frequency 0 to the Nyquist
frequency. Whether the Nyquist frequency actually is included or not
depends on the signal length (even or odd). Note that the FFTs are
normalized by dividing each transform by the square root of the signal
length. That is in order to preserve the signal power and noise level.

In the default case, the length of the transformation is determined
by the signal length. A second argument `N` will
force FFT transformations of length `N`, padding
with zeros if the signals in `Data` are shorter and
truncating otherwise. Thus the number of frequencies in the real signal
case will be `N/2` or `(N+1)/2`.
If `Data` contains several experiments, `N` can
be a row vector of corresponding length.

For real signals, the default is that `Datf` only
contains nonnegative frequencies. For complex-valued signals, negative
frequencies are also included. To enforce negative frequencies in
the real case, add a last argument, `'Complex'`.

Was this topic helpful?