Mercurial > hg > ishara
diff dsp/imagspec.m @ 32:c3b0cd708782
Imported core dsp tools.
author | samer |
---|---|
date | Sun, 20 Jan 2013 13:48:47 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dsp/imagspec.m Sun Jan 20 13:48:47 2013 +0000 @@ -0,0 +1,19 @@ +function X=imagspec(A,P) +% IMAGSPEC - convert mag/phase spectrum to wave +% +% imagspec :: [[M+1,L]]~'magnitude', [[M+1,L]]~'phase' -> [[2*M,L]]~'signal'. +% imagspec :: [[M+1,L]]~'magnitude' -> [[2*M,L]]~'signal'. +% +% Second form uses random phases. + +n=size(A,1); +if nargin<2, + % make up random phases + P=exp(2*i*pi*rand(size(A))); +end +A=[A; A(n-1:-1:2,:)]; +phi=[P; conj(P(n-1:-1:2,:))]; +X=real(ifft(phi.*A)); % get waveform + + +