"HYUNCHUL" wrote in message <l8lnnj$i62$1@newscl01ah.mathworks.com>...
> I have downloaded a function of Wigner ville distribution like below
>
> function [ nWD, f, t ] = wvd( x, Fs )
> %WVD compute discrete wignerville distribution
> % x  analytic signal
> % Fs  sampling frequency
>
> [N, xcol] = size(x);
> if N<xcol
> x = x.';
> N = xcol;
> end
>
> WD = zeros(N,N);
> t = (1:N)/Fs;
> f = (1:N)*Fs/(N);
>
> for ti = 1:N
> taumax = min([ti1,Nti]);
> % taumax = min([ti1,Nti,round(N/2)1]);
> tau = taumax:taumax;
> WD(tautau(1)+1,ti) = x(ti+tau).*conj(x(titau));
> end
>
> nWD = 2.*fft(WD);
>
> end
>
> My main problem is that this WVD function always present symmetric peak. For instance, I have a time series (1x50) and I would like to represent the frequency bands from 050Hz from the time series. However, I get always a half of the range of the frequency band 025Hz. Also, if a timerseries whose central frequency is at above 25hz, the WVD results is distributed due to the limitation of the frequency bands.
>
> Could you please help me out to work out this problem?
>
To me it reads as if you have 50 samples in total. Then it is difficult to ever estimate more than 25 Fourier coefficients (as they in general are complex). Read up on the Nyquist frequency and Nyquist rate. Then to get to estimates of Fourier components from 050 Hz you need more samples  preferably at higher sampling frequency. Finally to get anything out of the WV it is my understanding that you'd need a longer timeseries.
HTH,
