一维信号循环平移小波降噪方法(MATLAB R2021b)

循环平移算法由Coifman和Donoho最先提出,其基本原理是将信号进行循环平移,将平移后的信号降噪后再做逆循环平移,改变平移位数,多次重复上述运算,将获得的所有结果求平均,得到最后的结果。

在理想情况下,选择一个优质的平移位数,就可以获得最小震荡的信号,但往往信号含有多个奇异点,一个平移位数可能使信号中的一些奇异点位置振荡降低,对于其他位置却反之,很难由一个循环位数h,确定其对所有的奇异点位置都最佳,采用多次循环的方法,并将每次获得的结果求平均,降低震荡得到更加接近真实信号。

鉴于此,采用一循环平移小波降噪方法对一维时间序列信号进行降噪,运行环境为MATLAB R2021b。

Matlab 复制代码
switch num
    case {1,'blocks'}       % blocks.
        tt = linspace(0,1,len);  x = zeros(1,len);
        for j=1:11
            x = x + ( h(j)*(1+sign(tt-t(j)))/2 );
        end
        
    case {2,'bumps'}        % bumps.
        h  = abs(h);
        w  = 0.01*[0.5 0.5 0.6 1 1 3 1 1 0.5 0.8 0.5];
        tt = linspace(0,1,len);  x = zeros(1,len);
        for j=1:11
            x = x + ( h(j) ./ (1+ ((tt-t(j))/w(j)).^4));
        end
        
    case {3,'heavy sine'}   % heavy sine.
        x = linspace(0,1,len);
        x = 4*sin(4*pi*x) - sign(x-0.3) - sign(0.72-x);
        
    case {4,'doppler'}      % doppler.
        x = linspace(0,1,len);
        epsil = 0.05;
        x = sqrt(x.*(1-x)) .* sin( 2*pi*(1+epsil) ./ (x+epsil) );
        
    case {5,'quadchirp'}    % quadchirp.
        t = linspace(0,1,len);
        x = sin( (pi/3) * t .* (len * t.^2) );
        
    case {6,'mishmash'}     % mishmash.
        t = linspace(0,1,len);
        x = sin( (pi/3) * t .* (len * t.^2) );
        x = x + sin( pi * (len * 0.6902) * t );
        x = x + sin( pi * t .* (len * 0.125 * t) );

    完整代码:https://mbd.pub/o/bread/YpyYlp5u

        
    otherwise
        errargt(mfilename, ...
            getWavMSG('Wavelet:FunctionArgVal:Invalid_ArgVal'),'msg');
        error(message('Wavelet:FunctionArgVal:Invalid_ArgVal'));

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
腾视科技13 分钟前
腾视科技TS-SG-SM7系列AI算力模组:32TOPS算力引擎,开启边缘智能新纪元
人工智能·科技
Evand J15 分钟前
【MATLAB例程】【空地协同】UAV辅助的UGV协同定位,无人机辅助地面无人车定位,带滤波,附MATLAB代码下载链接
开发语言·matlab·无人机·无人车·uav·协同定位·ugv
chao18984418 分钟前
基于MATLAB实现多变量高斯过程回归(GPR)
开发语言·matlab·回归
极新19 分钟前
深势科技生命科学高级业务架构师孟月:AI4S 赋能生命科学研发,数智化平台的实践与落地 | 2025极新AIGC峰会演讲实录
人工智能
Light605 小时前
破局而立:制造业软件企业的模式重构与AI赋能新路径
人工智能·云原生·工业软件·商业模式创新·ai赋能·人机协同·制造业软件
Quintus五等升6 小时前
深度学习①|线性回归的实现
人工智能·python·深度学习·学习·机器学习·回归·线性回归
ytttr8736 小时前
隐马尔可夫模型(HMM)MATLAB实现范例
开发语言·算法·matlab
天远Date Lab6 小时前
Python实战:对接天远数据手机号码归属地API,实现精准用户分群与本地化运营
大数据·开发语言·python
listhi5206 小时前
基于Gabor纹理特征与K-means聚类的图像分割(Matlab实现)
开发语言·matlab
natide6 小时前
text-generateion-webui模型加载器(Model Loaders)选项
人工智能·llama