how to calculate frequency from the wavelet toolbox?

2 次查看(过去 30 天)
I am uploading a signal and performing wavelet analysis using continous wavelet 1-D,I get the coefficient waveform,how do I now calculate the frequency of the given waveforms?

回答(2 个)

Wayne King
Wayne King 2012-4-7
You can use scal2frq to return the pseudo-frequencies corresponding to particular scales.
For example:
t = linspace(0,5,5e3);
x = cos(2*pi*100*t).*(t<1)+cos(2*pi*50*t).*(3<t)+0.3*randn(size(t));
% determine scales
fc = centfrq('cmor1-1');
% a = fc/(freq*dt)
freqrange = [20 150];
Fs = 1000;
scalerange = fc./(freqrange*(1/Fs));
scales = scalerange(end):0.2:scalerange(1);
Coeffs = cwt(x,scales,'cmor1-1');
F = scal2frq(scales,'cmor1-1',1/Fs);
contour(t,F,abs(Coeffs));
xlabel('Time'); ylabel('Frequency');
  1 个评论
Baidehi Nanda
Baidehi Nanda 2012-4-8
Is there any way to calculate frequency from the waveform that is visible on the window? Because,you see,the signal that I am referring to is a transient voltage waveform at a particular point on a power network during switching.I cant reconstruct such a signal in matrix or vector form in the command window..so.please help.

请先登录,再进行评论。


Wayne King
Wayne King 2012-4-8
If you know the scale you are visualizing you can make a correspondence using scal2frq() has I have said.

类别

Help CenterFile Exchange 中查找有关 Continuous Wavelet Transforms 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by