view dsp/imagspec.m @ 36:9e7be347b3a0

Renamed sequence classes to avoid clashes with seq methods; Fixed default slicing dimension while retaining behaviour of window.m; Updated use of sequences in dsp/synth.
author samer
date Thu, 24 Jan 2013 14:51:23 +0000
parents c3b0cd708782
children
line wrap: on
line source
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