MATLAB MATLAB Fourier Synthesis: Create Signal from Spectrum

AI Thread Summary
To recreate a time signal from a frequency spectrum using Fourier synthesis, the inverse transform (IFFT) is typically the method of choice, assuming the original Fourier transform was performed using a standard FFT. The discussion highlights the importance of understanding the FFT shift command, which can affect the synthesis process. For those working with a discrete cosine transform, the synthesis may be more complex, and specific properties of the signal could complicate the inverse process. It is recommended to consult the manual for examples and to review the wiki on discrete cosine transforms for additional insights. The synthesis can be performed using a code structure that sums the contributions of harmonics based on their power and the fundamental frequency.
Branny12000
Messages
15
Reaction score
0
Hi I wanted to check how to do a Fourier synthesis to recreate a signal from a frequency spectrum. So I basically have the frequency spectrum so I have the power of the fundamental frequency and the harmonics. Is there a way I can do a synthesis to create a time signal?
 
Physics news on Phys.org
If you have the spectra you should be able to just do an inverse transform (ifft).
There are a few things that can cause problems (read up on the fftshift command in the manual); but it should not be very difficult.

Have a look at some examples in the manual.
 
is there are a way I can do it from Fourier synthesis using a version of the code
for i =1:n (N = no of harmonics)
y = y + p(n)*cos(2*pi*n*f*t)

end

where P(n) is the power and f is the fundamental frequency
 
Only if the original Fourier transform was done using a discrete cosine transform and the signal had some unusual properties(I think?); the inverse transform fir the cosine transform is as far as I know more complicated than what you have in your program
Hence, I guess the answer is perhaps yes for some signals but not in general.

Have a look at the wiki for discrete cosine transforms if this is really what you need. If your spectra was calculated from the usual FFT you need to use the IFFT function.
 

Similar threads

Replies
8
Views
2K
Replies
10
Views
3K
Replies
10
Views
3K
Replies
5
Views
2K
Replies
9
Views
5K
Replies
4
Views
2K
Replies
1
Views
2K
Back
Top