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

1 ビュー (過去 30 日間)
Amy Peters
Amy Peters 2016 年 4 月 13 日
回答済み: J. Webster 2016 年 4 月 13 日
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!!

回答 (1 件)

J. Webster
J. Webster 2016 年 4 月 13 日
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