📄 cohendist.m
字号:
function cwd = CohenDist(sig,sigma)
% CohenDist -- Choi William Distribution
% Usage
% cwd = CohenDist(sig,sigma)
% Inputs
% sig 1-d signal
% sigma Choi William distribution parameter
% Outputs
% cwd complex-valued matrix representing the Choi & William
% distribution of periodic signal with rows corresponding
% to frequencies and columns corresponding to times.
%
% Side Effects
% Image Plot of the Choi & William distribution
%
% See Also
% Interpol2
%
% References
% Mallat's book, sections 4.5.3 and 4.5.4
%
sig = sig(:);
N = length(sig);
sig = Interpol2(sig);
f = [zeros(2*N,1); sig; zeros(2*N,1)];
ambig = zeros(N, N);
phi = zeros(N, N);
smambig = zeros(N, N);
n = 1 : 2 : 2*N-1;
for p = 0 : N-1,
tplus = 2*N + n + p;
tminus = 2*N + n - p;
x = conj(f(tplus)) .* f(tminus);
ambig(: , p+1) = fft(x);
end
i = (-N/2-1:N/2-2);
ix = exp(-(i.^2)./(sigma.^2));
for j = -N/2-1:N/2-2,
phi(:,j+N/2+2) = (ix.^(j^2)');
end
phi = fftshift(phi);
smambig = (phi .* ambig);
cwd = (ifft2(smambig))';
abstf = real(cwd(1:N/2,:)) .* (real(cwd(1:N/2,:))>= zeros(N/2,N));
tfmax = max(max(abstf));
tfmin = min(min(abstf));
colormap(1-gray(256))
%colormap(hot)
image(linspace(0,N,N),linspace(0,N/2,N/2),256*(abstf-tfmin)/(tfmax-tfmin));
axis('xy')
title('');
xlabel('Time')
ylabel('Frequency')
% Written by Maureen Clerc and Jerome Kalifa, 1997
% clerc@cmapx.polytechnique.fr, kalifa@cmapx.polytechnique.fr
%
% Part of WaveLab Version 802
% Built Sunday, October 3, 1999 8:52:27 AM
% This is Copyrighted Material
% For Copying permissions see COPYING.m
% Comments? e-mail wavelab@stat.stanford.edu
%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -