what is the sampling frequency in wavelet method?

13 views (last 30 days)
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 Comments
Ajay
Ajay on 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.
Jamais avenir
Jamais avenir on 26 Jul 2013
Hi Ajay. thanks for your comment, AS I saw in recent works,they've used Morlet wavelet in my case . also I don't know how to set the center frequency of wavelet, I thought matlab is doing it with Fourier method itself .Also I have the eigenvalues of the system too. so simply I have the frequencies that associated with the system too, but I want to run wavelet transform and see those frequencies by wavelet too. but I cant get the accurate frequencies. Is there any way to get the accurate frequencies that involve in the signal? Also I saw they estimated the damping of each frequency by calculating the decaying rate of each frequencies of the time[it has kinda formulation that i didn't get it]. do you know how to estimate the damping rate of the modes as well? Kind regards.

Sign in to comment.

Accepted Answer

Youssef  Khmou
Youssef Khmou on 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 Comments
Youssef  Khmou
Youssef Khmou on 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)));
Jamais avenir
Jamais avenir on 21 Jul 2013
Excuse me I didn't understand where to put that code.semilogx(Freqq(1:end/2),(Fy(1:end/2))); also how can I write my codes neat like your with gray fonts with multilines.aslo would you run the codes I have wrote please. Best regards

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!