在前面的文章里曾经说过,小波基的选择根据领域的不同而不同,例如机械振动冲击信号分析中常用的morlet小波,结构损伤识别中常用的Marr小波,字典学习中效果较好的Laplace小波,图像处理中比较好用的双树复小波,还有地震信号处理中经常使用的Ricker小波,这篇文章简要描述下Ricker小波及其频率切片小波变换。
Ricker小波是地震信号分析处理中最常用的地震子波形式,其数学模型为:

下图为Ricker小波的示意图,主频是20 Hz,延迟时间为0.2 s,采样频率为200 Hz/s。可以看出,时域波形和频谱峰值分别对应信号时延和主频。此外,Ricker小波时域和频域都具有紧支性,且能量有限。对地震信号的谱分解的精确度越高,越能精确刻画地下介质层的精确构造,为地震资料解释、油气勘探等提供资料。
sampleLen = 1000; % 波形采样点数
fs = 1000; % 采样频率/Hz
fm = 75; % 中心频率/Hz
fig = 0; % 是否画图
ap = 0.7; % 子波峰值位置
no = -25; % 加入白噪声/db,wgn函数的参数
timeDic = 1000*(0:1/fs:1/fs*(sampleLen-1)); % 转化为ms
% 生成Ricker小波及相应的加噪信号
[OriData, noisedData, noise]
waveData = OriData;
% 计算功率谱
N = length(waveData);%数据长度
%i = 0:N-1;
%t = i/fs;
f = (0:N-1)*fs/N;%横坐标频率
waveData2 = fft(waveData,N);%进行fft变换
mag = abs(waveData2);%幅值
Opower = mag.^2;
%含噪声数据计算
noisedData2 = fft(noisedData,N);%进行fft变换
mag = abs(noisedData2);%幅值
NDpower = mag.^2;
% 仅噪声数据计算
noise2 = fft(noise,N);%进行fft变换
mag = abs(noise2);%幅值
%f = (0:N-1)*fs/N;%横坐标频率
Npower = mag.^2;
</