How to convert 3d one-sided power spectrum to two-sided one for ifft

I have a 3d one-sided power spectrum matrix and want to use ifft to convert it to real-valued time(space) domain values. The ifft requires the PSD to be two-sided and conjugate symmetric.
The conversion is simple for 1d PSD matrix, but I really do not know how to do it for 3d. Do anyone know how to convert 3d one-sided PSD to conjugate symmetric two-sided PSD?
Many thanks in advance.

Answers (1)

ifft(_,"symmetric" ) supports one-side spectrum. no need to convert.
use ifft(X, Nfft, 3, "symmetric") instead.

1 Comment

ifft(_,"symmetric") requires the upper half of the input to filled in. It can be filled in with zeros, but it still needs to be filled in.
It's my understanding that a power spectrum does not include phase information, which would be needed before using ifft, et. al.
Though not 100% clear from the question, I suspect that the correct function to use would be ifftn, if the phase data were available.

Sign in to comment.

Asked:

Pan
on 14 May 2016

Commented:

on 11 Feb 2026

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!