Start out with a signal 256 pixels long and interpolate this directly using the Fourier transform into a signal which has 1024 points

1 vue (au cours des 30 derniers jours)
Start out with a signal 256 pixels long and interpolate this directly using the Fourier transform into a signal which has 1024 points. I'm fairly new to MATLAB but I understand this is using interpft(x,n) and I tried using the example given on the website but I keep getting a weird result. Can anyone tell me what I'm missing/doing wrong? Thank you!!

Réponses (1)

J. Webster
J. Webster le 13 Avr 2016
Not exactly sure what you're doing. But I think you should look up something called Nyquist Upsampling.
The method is you take the fourier transform of your data, then zero-pad the transform so that it has as many samples as you need (1024). Then do an inverse transform. The result will have 1024 numbers in the array. This, I think, is faster and cleaner than using interpolation.
Remember that the transform output will have positive frequencies first, then negative frequencies reversed, so be careful where you put the zeros.

Community Treasure Hunt

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

Start Hunting!

Translated by