Mercurial > hg > ishara
annotate dsp/imagspec.m @ 32:c3b0cd708782
Imported core dsp tools.
author | samer |
---|---|
date | Sun, 20 Jan 2013 13:48:47 +0000 |
parents | |
children |
rev | line source |
---|---|
samer@32 | 1 function X=imagspec(A,P) |
samer@32 | 2 % IMAGSPEC - convert mag/phase spectrum to wave |
samer@32 | 3 % |
samer@32 | 4 % imagspec :: [[M+1,L]]~'magnitude', [[M+1,L]]~'phase' -> [[2*M,L]]~'signal'. |
samer@32 | 5 % imagspec :: [[M+1,L]]~'magnitude' -> [[2*M,L]]~'signal'. |
samer@32 | 6 % |
samer@32 | 7 % Second form uses random phases. |
samer@32 | 8 |
samer@32 | 9 n=size(A,1); |
samer@32 | 10 if nargin<2, |
samer@32 | 11 % make up random phases |
samer@32 | 12 P=exp(2*i*pi*rand(size(A))); |
samer@32 | 13 end |
samer@32 | 14 A=[A; A(n-1:-1:2,:)]; |
samer@32 | 15 phi=[P; conj(P(n-1:-1:2,:))]; |
samer@32 | 16 X=real(ifft(phi.*A)); % get waveform |
samer@32 | 17 |
samer@32 | 18 |
samer@32 | 19 |