📄 wvdist_af.m
字号:
function afwig = WVDist_AF(sig)
% WVDist_AF -- Alias-Free Wigner-Ville Distribution
% Usage
% afwig = WVDist_AF(sig)
% Inputs
% sig 1-d signal
% Outputs
% afwig complex-valued matrix representing the alias-free
% Wigner-Ville distribution of zero-extended signal with
% rows corresponding to frequencies and columns corresponding
% to times.
%
% Side Effects
% Image Plot of the alias-free Wigner-Ville distribution
%
% See Also
% WVDist, WVDist_AF, ImagePhasePlane
%
% References
% Jechang Jeong and William J. Williams,
% "Alias-Free Generalized Discrete-Time Time-Frequency Distribution,"
% IEEE Transactions on Signal Processing, vol. 40, pp. 2757-2765.
%
sig = sig(:);
n = length(sig);
f = [zeros(n,1); sig; zeros(n,1)];
afwig = zeros(n, n);
ix = 0:(n/2-1);
zerosn = zeros(n,1);
for t=1:n,
tplus = n + t + ix;
tminus = n + t - ix;
x = zerosn;
%even indices
x(1:2:(n)) = f(tplus) .* f(tminus);
%odd indices
x(2:2:(n)) = (f(tplus+1).*f(tminus) + f(tplus).*f(tminus-1))/2;
afwig(:, t) = 2* (fftshift(fft(x)));
end
abstf = real(afwig);
tfmax = max(max(abstf));
tfmin = min(min(abstf));
colormap(1-gray(256))
image(linspace(0,1,n),linspace(0,1,n),256*(abstf-tfmin)/(tfmax-tfmin));
axis('xy')
title('Alias Free Wigner Distribution');
xlabel('Time')
ylabel('Frequency')
%
% Copyright (c) 1994-5, Shaobing Chen
%
%
% 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 + -