sparse discrete fourier transform

56 views (last 30 days)
tafteh
tafteh on 4 Jun 2013
Edited: tafteh on 2 Feb 2017
Hi all, I am trying to use sparse discrete fourier transform on a time series in matlab. I could not find any sample code written in matlab in that regard. Would you please help me resolving that?!
I came across this website but the code in there is written in c.
Thanks,

Accepted Answer

Matt J
Matt J on 4 Jun 2013
Edited: Matt J on 4 Jun 2013
How about something like this,
K=length(yourSignal);
%Reduced DFT matrix
M=exp( j*2*pi/K * bsxfun(@times,(0:K-1).', find(yourSignal).' - 1) );
result=M*nonzeros(yourSignal),
  2 Comments
Matt J
Matt J on 4 Jun 2013
Edited: Matt J on 4 Jun 2013
What I presented would be a faster DFT for sparse input signals. If that's not the goal, you should clarify what is.

Sign in to comment.

More Answers (1)

dongyang gao
dongyang gao on 12 Dec 2016
I also want to this code maded in matlab, could you help me ?

Community Treasure Hunt

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

Start Hunting!