フィルターのクリア

How to efficiently update a discrete time FFT?

6 ビュー (過去 30 日間)
James
James 2012 年 12 月 12 日
I have an application that needs to be optimized for speed. It's a realtime app that is required to perform a number of FFTs at relatively fast discrete time interval. The transform inputs are discretely sampled time histories of real time physical processes. Therefore the time history for a given interval is the same as the previous accept it is shifted one position and one end point is lost and one is point is added. I know there must be a straight forward way to implement a faster FFT. Can somebody point me in the right direction?

採用された回答

Matt J
Matt J 2012 年 12 月 12 日
編集済み: Matt J 2012 年 12 月 12 日
If you are doing fft(x), I assume that x(1)=x_old gets deleted and x(N) gets replaced by x_new
%pre-computations, do these only once
c=exp(pi*2i*(0:N-1)/N);
X=fft(x0); %inital FFT
%end of pre-computations
X = (X +(x_new - x_old)).*c; %update the FFT
  1 件のコメント
James
James 2012 年 12 月 12 日
I love it when things are easy. Thanks!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFourier Analysis and Filtering についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by