• 【数字信号去噪】基于matlab粒子滤波器与FBS、MAP平滑方法数字信号去噪【含Matlab源码 2179期】


    ✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
    🍎个人主页:海神之光
    🏆代码获取方式:
    海神之光Matlab王者学习之路—代码获取方式
    ⛳️座右铭:行百里者,半于九十。

    更多Matlab仿真内容点击👇
    Matlab图像处理(进阶版)
    路径规划(Matlab)
    神经网络预测与分类(Matlab)
    优化求解(Matlab)
    语音处理(Matlab)
    信号处理(Matlab)
    车间调度(Matlab)

    ⛄一、平滑分解简介

    根据奈奎斯特定理,采样频率必须大于等于有用信号最高频率的2倍。假设对心电信号的采样满足奈奎斯特采样定理,则实测信号采样频率的1/2为有用心电信号的最高频率。通过三点平滑滤波,可以将频率大于1/2采样频率的信号滤除,将滤除的信号定义为第1阶平滑分解分量(sdc1)。而剩余信号中的最高频率则为前一阶提取频率的下限。继续按剩余信号最高频率的1/2进行新的平滑滤波提取,平滑滤波点数为前一级平滑滤波点数的2倍减1。直到平滑点数大于1/2数据长度且小于数据长度时分解结束。平滑分解方法描述如下。

    设实际检测到的心电信号为s(n),n=1,2,…,N为样本序号,N为信号长度。记第k阶平滑分解分量为sdck(n),剩余信号记为rk(n),k=1,2,…,M。M=int(lb2(N-1))为最大分解阶数。

    1)当k=1时
    在这里插入图片描述
    2)当k≥2时
    在这里插入图片描述
    在以上各式中,当i<1或i>N时,s(i)和rk-1(i)取相应的数据端点值。

    1. 信号重构
      在这里插入图片描述

    ⛄二、部分源代码

    close all
    T=100; %Number of Time Steps
    n=10; %Number of Particles
    m=1; %Number of iterations

    for iter=1:m
    %Mean and standard deviation of state equation
    a=.6; b=.2;
    %Mean and standard deviation of state equation
    c=2; d=.2;

    %Simulate the dynamical system x and y, initializing x(1)=x0
    x0=rand;
    [x,y]=simulate(a,b,c,d,x0,T);

    %Particle Filter, particles initialized at xf(:,1)=X0
    X0=random(‘uniform’,0,1,n,1);
    tic
    [xf,wftilda]=pfilter(a,b,c,d,X0,y);
    toc

    %Particle Smoothing (FBS)
    tic
    [wstilda wstilda2,wstilda3]=fbssmoother(a,b,xf,wftilda);
    toc

    %Particle Smoother (Maximum A-posterior) initialized at xf(:,1)=X20
    %Initialization
    X20=zeros(n,1);
    tic
    [psi,delta,meanm,wstilda4,wstilda5]=mapsmoother(a,b,c,d,X20,xf,wftilda,y);
    toc

    %Estimation of filter and fbs smoother posterior means at time t
    for t=2:T
    meanf(t)=xf(:,t)‘*wftilda(:,t);
    means(t)=xf(:,t)’*wstilda(:,t);
    meansf(t)=xf(:,t)'*wstilda(:,t);
    end

    %Computes the MSE of filter, fbs, and map
    FilterMSE(iter)=norm(x(2:end)-meanf(2:end),‘fro’)/norm(x(2:end),‘fro’)
    FBSsmootherMSE(iter)=norm(x(2:end)-means(2:end),‘fro’)/norm(x(2:end),‘fro’)
    MAPsmootherMSE(iter)=norm(x(2:end)-meanm(2:end),‘fro’)/norm(x(2:end),‘fro’)
    %Computes the Likelihood of filter, fbs, and map
    LL(iter)=likelihood(y,x,a,b,c,d)
    FilterLL(iter)=likelihood(y,meanf,a,b,c,d)
    FBSsmootherLL(iter)=likelihood(y,means,a,b,c,d)
    MAPsmootherLL(iter)=likelihood(y,meanm,a,b,c,d)
    end

    if m==1
    %Plots of simulated x vs the estimated xhat of filter, fbs, and map
    hold on
    plot(x(2:end),‘k’,‘linewidth’,2)
    plot(meanf(2:end),‘:r*’,‘linewidth’,2)
    plot(means(2:end),‘:go’,‘linewidth’,2)
    plot(meanm(2:end),‘:bd’,‘linewidth’,2)
    xlabel(‘time’)
    ylabel(‘state’)
    h = legend(‘True State’,‘Filter’,‘FBS-Smoother’,‘MAP-Smoother’);
    else
    fmean=mean(FilterMSE)
    smean=mean(FBSsmootherMSE)
    mmean=mean(MAPsmootherMSE)
    fll=mean(FilterLL)
    sll=mean(FBSsmootherLL)
    mll=mean(MAPsmootherLL)
    end

    ⛄三、运行结果

    在这里插入图片描述

    ⛄四、matlab版本及参考文献

    1 matlab版本
    2014a

    2 参考文献
    [1]张淼,魏国.心电信号平滑分解阈值去噪方法[J].哈尔滨工程大学学报. 2020,41(09)

    3 备注
    简介此部分摘自互联网,仅供参考,若侵权,联系删除

    🍅 仿真咨询
    1 各类智能优化算法改进及应用

    生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

    2 机器学习和深度学习方面
    卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

    3 图像处理方面
    图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

    4 路径规划方面
    旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

    5 无人机应用方面
    无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

    6 无线传感器定位及布局方面
    传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

    7 信号处理方面
    信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

    8 电力系统方面
    微电网优化、无功优化、配电网重构、储能配置

    9 元胞自动机方面
    交通流 人群疏散 病毒扩散 晶体生长

    10 雷达方面
    卡尔曼滤波跟踪、航迹关联、航迹融合

  • 相关阅读:
    spring initializr脚手架搭建详解
    安装torchtext遇到的坑及解决办法
    批量循环查询
    虚拟机配置桥接模式
    jquery广告图片切换效果
    代码随想录算法训练营Day45 | 动态规划(7/17) LeetCode 70. 爬楼梯 (进阶) 322. 零钱兑换 279.完全平方数
    点击百度网盘安装包无反应
    FreeRTOS——删除任务
    CMake中list的使用
    【leetcode】【剑指offer Ⅱ】030. 插入、删除和随机访问都是 O(1) 的容器
  • 原文地址:https://blog.csdn.net/TIQCmatlab/article/details/127424874