MATLAB code and examples

function C = CWT_temp2(x, sampling_freq, freq_step)

scrsz = get(0,'ScreenSize');
H1 = figure('Position',[(3*scrsz(3))/4 1  scrsz(3)/4 scrsz(4)/4]);

sigma = 40;
K =1;

fo = 20;
so = 1;
tau = 0:length(x)-1; tau = (1/sampling_freq).*tau;
time_duration = tau(length(tau));
Cx = [];
fv = [];
for fs = 0.01:freq_step:(sampling_freq/2)
    figure(H1)
    title(fs)
    fv = [fv fs];
    s = (fo.*so)/fs;
    factor = (1/(K.*sigma.*sqrt(s)));
    exp_fun = exp(i.*2.*pi.*(fo/s).*tau);
    w = factor.*exp(-((sigma.*tau/s).^2)).*exp_fun;

    Cxt = (1/sqrt(fs)).*(1/sampling_freq).*ifft(fft(x).*fft(w));

    Cx = [Cx;Cxt];
end

close(H1);
figure
subplot(211), plot(tau, x);
grid; title('signal'); xlabel('time (sec)'); ylabel('amplitude');
axis tight;

subplot(212), imagesc(tau, fv, abs(Cx).^2); axis xy;
title('CWT'); xlabel('time (sec)'); ylabel('frequency (Hz)');

C = Cx;


CWT of chirp signal

 
 

CWT of displacement signal

 
 



ELEC 631 - Spring 1999