How to conserve memory for Fast Fourier Results?

3 views (last 30 days)
I have a 16384 vector FFT which is exactly 2^14. This vector is multiplied by another vector to get the results I need.
This takes up a lot of memory in Matlab. Since the FFT is symmetric around the middle, I want to be able to take advantage of this and reduce the size of my vector by 2 and still be able to calculate the same results.
Is it possible to achieve this?
  1 Comment
Matt J
Matt J on 10 Mar 2013
If 128K takes up "a lot of memory in MATLAB", you need to upgrade your computer, my friend.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 10 Mar 2013
Edited: Matt J on 10 Mar 2013
Here's a way to do it, bus as I commented above, I'm not sure your priorities are well-reasoned.
%%Fake data
a=5:-1:1;
x=[a, 3, fliplr(a(2:end))];
N=numel(x);
%Method 1
y1=fft(x),
%Method 2 - use only half the array
aa=x(1:N/2+1);
y2=ifft(aa,N,'symmetric')*N

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!