How to conserve memory for Fast Fourier Results?
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
Matt J
2013-3-10
If 128K takes up "a lot of memory in MATLAB", you need to upgrade your computer, my friend.
采纳的回答
Matt J
2013-3-10
编辑:Matt J
2013-3-10
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
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!