当前位置: 首页 > ops >正文

EMD算法

EMD算法原理和动图讲解:https://www.cnblogs.com/gshang/p/15842773.html

close all;%% 参数设置
fs = 25;           % 采样率 (Hz)
T = 20;             % 信号时长 (秒)
t = 0:1/fs:T-1/fs;  % 时间向量
A = 0.5;            % 呼吸信号振幅 (cm)
f_resp = 0.25;      % 呼吸频率 (Hz) [每分钟15次]
phi = pi/4;         % 初始相位 (rad)
SNR_dB = 5;         % 目标信噪比 (dB)%% 生成呼吸信号
signal_clean = A * sin(2*pi*f_resp*t + phi);%% 噪声生成与信噪比控制
% 计算信号功率
signal_power = mean(signal_clean.^2);% 根据SNR计算噪声功率
SNR_linear = 10^(SNR_dB/10);
noise_power = signal_power / SNR_linear;% 生成高斯白噪声
noise = sqrt(noise_power) * randn(size(t));%% 合成带噪声信号
signal_noisy = signal_clean + noise;%% 可视化
figure('Name' ,'生产信号');
% 时域波形
subplot(2,1,1);
plot(t, signal_clean, 'b');
title('呼吸信号时域波形:纯净信号');
xlabel('时间 (s)');
ylabel('幅度 (cm)');
grid on;
subplot(2,1,2);
plot(t, signal_noisy, 'r--');
title('呼吸信号时域波形,信噪比3db:含噪信号');
xlabel('时间 (s)');
ylabel('幅度 (cm)');% 频谱分析
figure('Name' ,'频谱分析');
N = length(signal_clean);
f = (0:N/2)*fs/N;% 计算功率谱密度
[pxx_clean, f_clean] = pwelch(signal_clean, [], [], [], fs);
[pxx_noisy, f_noisy] = pwelch(signal_noisy, [], [], [], fs);
subplot(2,1,1);
plot(f_clean, 10*log10(pxx_clean), 'b');
title('呼吸信号频谱分析 (dB/Hz):纯净信号');
xlabel('频率 (Hz)');
ylabel('功率谱密度');subplot(2,1,2);
plot( f_noisy, 10*log10(pxx_noisy), 'r--');
title('呼吸信号频谱分析 (dB/Hz):含噪信号');
xlabel('频率 (Hz)');
ylabel('功率谱密度');
grid on;%% 验证信噪比
measured_snr = 10*log10(signal_power / var(noise));
fprintf('实际信噪比: %.2f dB\n', measured_snr);% EMD分解
[IMFs, residual] = emd(signal_noisy, 'MaxNumIMF', 5);
% 可视化
figure('Name' ,'可视化');
subplot(6,1,1); 
plot(t, signal_noisy); 
title('仿真信号');
for i = 1:size(IMFs,2)subplot(6,1,i+1); plot(t,IMFs(:,i));title(['IMF_', num2str(i)]);
end
subplot(6,1,6); 
plot(t,residual); 
title('残余分量');

在这里插入图片描述在这里插入图片描述在这里插入图片描述

http://www.xdnf.cn/news/12653.html

相关文章:

  • 复变函数极限介绍与MATLAB演示
  • 【仿生机器人】仿生机器人智能架构:从感知到个性的完整设计
  • 从零开始的python学习(七)P102+P103+P104+P105+P106+P107
  • Python 中的上下文管理器:使用 with 关键字高效管理资源
  • 【Redis系列 04】Redis高可用架构实战:主从复制与哨兵模式从零到生产
  • 第10篇《数据库中间件集成监控与全链路观测系统设计》
  • 2007-2023年数字经济上市公司专利申请获得数据
  • [学习] GNSS信号跟踪环路原理、设计与仿真(仿真代码)
  • 关于汉语普通话元音音位最好归纳为几个的问题
  • 【Linux庖丁解牛】—系统文件I/O !
  • 【LRU】 (最近最少使用)
  • 《开篇:课程目录》
  • sendDefaultImpl call timeout(rocketmq)
  • 免费批量文件重命名工具
  • Burp Suite 基础
  • Redis:List类型
  • 外贸网站服务器选择Siteground还是Hostinger,哪个更好?
  • leetcode刷题日记——1.组合总和
  • 常用函数库之 - std::function
  • 从零设计一个智能英语翻译API:架构与实现详解
  • 打卡第47天
  • Day15
  • Java编程之适配器模式
  • 【题解】[UTPC2024] C.Card Deck
  • CF2056 D. Unique Median(2200)
  • 快速部署和启动Vue3项目
  • Pytorch学习——自动求导与计算图
  • 在Ubuntu22.04 系统中安装Docker详细教程
  • 大话软工笔记—需求分解
  • 大数据(2) 大数据处理架构Hadoop