同步挤压变换是一种在信号处理中常用的技术,可以用 MATLAB 编写如下的代码:
function y = synchrosqueeze(x, gamma, J, alpha)
% x: 待处理信号
% gamma: 挤压参数
% J: 尺度数
% alpha: 常数,通常为1
% 将信号进行小波变换
[c,l] = wavedec(x,J,'db4');
% 将小波系数进行挤压
for j = 1:J
cj = detcoef(c,l,j);
cj_hat = synchrosqueeze_single(cj,gamma,alpha);
c