www.pudn.com > tftb2002toolbox.rar > movsc2wv.m
function M=movsc2wv(N,Np);
%MOVSC2WV Movie illustrating the passage from the scalogram to the WVD.
% M=MOVSC2WV(N,Np) generates the movie frames illustrating the passage
% from the scalogram to the WVD using different smoothing gaussian
% windows in the affine smoothed pseudo-WVD.
%
% N : number of points for the signal;
% Np : number of snapshots (default : 8)
% M : matrix of movie frames.
%
% Example :
% M=movsc2wv(128,15); movie(M,10);
% O. Lemoine - June 1996.
% Copyright (c) 1996 by CNRS (France).
%
% ------------------- CONFIDENTIAL PROGRAM --------------------
% This program can not be used without the authorization of its
% author(s). For any comment or bug report, please send e-mail to
% f.auger@ieee.org
if nargin<1,
error('At least one argument required');
elseif nargin==1,
Np=8;
end
Np=odd(Np)-1;
M = moviein(Np);
t1=N/4; t2=3*N/4; t3=t1; t4=t2;
f1=0.15; f2=f1; f3=0.35; f4=f3;
t=1:N;
T=sqrt(2*N);
sig1=amgauss(N,t1,T).*fmconst(N,f1,t1);
sig2=amgauss(N,t2,T).*fmconst(N,f2,t2);
sig3=amgauss(N,t3,T).*fmconst(N,f3,t3);
sig4=amgauss(N,t4,T).*fmconst(N,f4,t4);
sig=sig1+sig2+sig3+sig4;
fmin=.05; fmax=.45; Nf=N;
[tfr,t,f]=tfrscalo(sig,t,16,fmin,fmax,Nf);
Max=max(max(tfr)); V=[0.1 0.3 0.5 0.7 0.9]*Max;
contour(t,f,tfr,V);
xlabel('Time'); ylabel('Frequency'); axis('xy')
M(:,1) = getframe;
Ng0=round(fliplr(linspace(2,N/10,Np/2-1)));
Nh0=round(linspace(N/4,3*N/4,Np/2-1));
for k=2:Np/2,
[tfr,t,f]=tfrspaw(sig,t,0,Nh0(k-1),Ng0(k-1),fmin,fmax,Nf,1);
Max=max(max(tfr)); V=[0.1 0.3 0.5 0.7 0.9]*Max;
contour(t,f,tfr,V);
xlabel('Time'); ylabel('Frequency'); axis('xy')
M(:,k) = getframe;
end
[tfr,t,f]=tfrwv(sig);
Max=max(max(tfr)); V=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]*Max;
contour(t,f,tfr,V);
axis([1 N fmin fmax]);
xlabel('Time'); ylabel('Frequency'); axis('xy')
M(:,Np/2+1) = getframe;
for k=Np/2+2:Np,
M(:,k) =M(:,Np+2-k);
end