MATLAB中小波分析尺度/频率转换的基本思想
不知道有人发过没,发一下个人的理解吧
MATLAB中计算小波分析尺度所对应的频率,采用的计算方法为:
A way to do it is to compute the center frequency, Fc, of the wavelet and to use the following relationship.
Fa=Fc/(a*Delta) =Fs*Fc/a
where
[*]a is a scale. [*]Delta is the sampling period= 1/Fs[*]Fc is the center frequency of a wavelet in Hz. [*]Fa is the pseudo-frequency corresponding to the scale a, in Hz. 采用的计算函数为F = scal2frq(A,'wname',DELTA)其内部调用了如下计算函数F = centfrq(wname)./(a.*delta);
其中centfrq为小波的中心频率计算函数,中心频率的含义可由其MATLAB代码实现分析出来:
MATLAB中,用小波母函数的DFT中,幅度(模)最大点所对应的频率,作为对小波函数“中心频率”的估计(The frequency maximizing the FFT of the wavelet modulus is Fc),并用于尺度/频率的转换。
这是一种“近似”方法,这也是为什么MATLAB把计算出的频率称为pseudo-frequencies
switch wtype
case 1 , = wavefun(wname,iter);
case 2 , = wavefun(wname,iter);
case 3 , = wavefun(wname,iter);
case 4 , = wavefun(wname,iter);
case 5 , = wavefun(wname,iter);
end
T = max(xval)-min(xval);
% T is the size of the domain of psi.
n = length(psi);
psi = psi-mean(psi);
% psi is numerically centered.
psiFT = fft(psi);
% computation of the modulus
sp = (abs(psiFT));
% of the FT.
% Compute arg max of the modulus of the FT (center frequency).
= max(sp);
if indmax > n/2
indmax = n-indmax+2;
% indmax is always >= 2.
end
per = T/(indmax-1);
% period corresponding to the maximum.
freq = 1/per;
% associated frequency.
计算各种小波函数的“波形”,给出“采样”的横纵坐标(当然了,计算机只能处理有限的离散点),分别为xval、psi。
采样点数为2^iter个,iter默认取8,即默认采256点
计算时域支撑宽度,即横坐标宽度
小波函数的采样点数
函数值去“直流”
小波函数做离散傅里叶变换
计算变换后有限复序列各元素的模
计算模最大的点对应的下标
考虑到实信号FFT结果是双边谱,必须考虑下标在负频率部分的情形,此时减去indmax才是对应的正频率。这是计算机计算精度有限造成的,理论上实小波函数的FFT应该是严格对称的。所以模最大点在正负频率各一个;但计算机实现必然只有一个,可能在正也可能在负。这里也可以看出MATLAB的算法是十分可靠细致的,考虑到了方方面面。
用模最大点对应的“频率”作为信号频率;注意该函数里的freq还是归一化的频率。
这也是为什么在scalfrq中要除以一个采样间隔。
[ 本帖最后由 Robotech 于 2009-5-27 15:26 编辑 ]
回复 楼主 Robotech 的帖子
感觉对理解很有用!问一下,比如对图像信号来说,逐个像素的取值处理,那么采样频率是不是就是1?即fs=1?
因为看到文献中大都是fa=fc/a,想知道这样理解的对不对?
回复 楼主 Robotech 的帖子
楼主,问一下,如果求得了尺度频率,有什么用?对于确定一段信号的频率有什么帮助?急!!!谢谢!信号在附件中 本帖最后由 VibInfo 于 2016-10-13 15:28 编辑
原帖由 cuixuepeng 于 2009-9-14 12:08 发表
楼主,问一下,如果求得了尺度频率,有什么用?对于确定一段信号的频率有什么帮助?急!!!谢谢!
信号在附件中
尺度——>频率后,时间-尺度图,可以转换为时间-频率图,更容易与物理意义对应
其他原文和MATLAB帮助已经很明白了 回复 4 # Robotech 的帖子
请教一下,时间和尺度是什么关系呢?怎么确定的啊?
页:
[1]