what is the sampling frequency in wavelet method?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello. I have a 1-D signal with 300 samples during 30 secs. I've extracted the frequencies which are involve in the signal already in order to compare with wavelet method.I used following codes to determine the frequencies of the signal.I guess my problem is with determining the "Fs" value. I've selected 300,100,10,... but the output was nonsense, cause the frequencies suppose to be in range of 0.1Hz,0.05Hz. but with selected "Fs" values the frequencies are about 30,10,0.7 which are not the expected frequencies.Also I would like to ask How can I estimate the damping of each frequency modes. Thanks for a fast reply
%%------system data-------
Fs=100; % what should it be? my time interval is 0.1 but it doesn't work too
t=0:299;
x=data; % its my signal value
%%------------------------
wname = 'morl';
scales = 1:1:128;
coefs = cwt(x,scales,wname);
freq = scal2frq(scales,wname,1/Fs);
surf(t,freq,abs(coefs)); shading('interp');
xlabel('Time'); ylabel('Frequency');
figure;
wscalogram('image',coefs,'scales',freq,'ydata',x);
hold on
figure;
plot(freq,coefs)
2 Kommentare
Ajay
am 25 Jul. 2013
Hello, I believe the sampling frequency is not of much importance in your problem. withUsing Scal2frq is not going to give you the actual frequencies involved in the signal. It just provides the pseudo-frequencies which may not match with the actual frequencies. The pseudo frequencies depends on the type of wavelet and its center frequencies. So, first thing is you have to find a way to figure out the actual frequencies involved in it also please let me know if u do that.
Akzeptierte Antwort
Youssef Khmou
am 20 Jul. 2013
hi,
you have N=300 points for duration t=30 secs , then the samle rate is f=N/t=10Hz
or you can perform this way :
T=linspace(0,30,300);
Fs=ceil(inv(T(2)-T(1)));
The Nyquist condition is respected because you mentioned that the expected frequencies are 0<f<0.1 Hz .
5 Kommentare
Youssef Khmou
am 21 Jul. 2013
i think you can use visualization technique, like logarithmic scale to expand the closer values :
semilogx(Freqq(1:end/2),(Fy(1:end/2)));
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Continuous Wavelet Transforms finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!