基于改进高斯-拉普拉斯滤波器的一维时间序列平滑与降噪(MATLAB)

以图像处理为例,拉普拉斯算子是基于图像的二阶导数来找到边缘并搜索过零点,传统的拉普拉斯算子常产生双像素宽的边缘,对于较暗区域中的亮斑进行边缘检测时,拉普拉斯运算就会使其变得更亮。因此,与梯度算子一样,拉普拉斯算子不能抑制图像的噪声。如果有一种算子能够将高斯平滑滤波器与拉普拉斯算子结合起来,在进行边缘检测之前先平滑掉噪声,一定能够取得良好的效果,因此,高斯---拉普拉斯算子被提出。鉴于此,采用一种改进的高斯-拉普拉斯滤波器对一维时间序列进行平滑与降噪,运行环境为MATLAB R2018,测试了地震信号,微震信号。

Matlab 复制代码
clc
clear 
close all
%load Input example
load mport1-1.txt
x=mport1_1';
% Sigma and Filter Order 
% Tune sigma, and N according to the application you want to use.
sigma = 0.5;
N = 10;
% For More Scaling dividing by sigma.
[Gaussian_1D_2_Diff_Modified]=IGLF(sigma,N) /sigma;
% Filtering The Input (Denoising the Input Signal)
Output = filter (Gaussian_1D_2_Diff_Modified,1,x);
% Output Squaring 
Output = Output.^2;
% For more smoothing, average movabale window is obatined for m samples
% with k stride (moving by k samples)
% Adjustce m, and k according to the application you want to use.
Output_More_Smoothing = zeros(1,size(x,2));
m = 8;
k = 1;
count = 1;
 for j=1:k:(length(Output))-max([m k])
 Output_More_Smoothing(count)=(mean(Output(j:j+m-1)));
 count = count +1;
 end
 
% Plotting 
% Plotting the Cofficients of MLOG.
figure(1)
plot( (1:N), Gaussian_1D_2_Diff_Modified, 'LineWidth',3)
xlabel('Index (n)','FontSize',14,'FontWeight','bold')
ylabel('MLOG Mask Values','FontSize',14,'FontWeight','bold')
title('MLOG MASK','FontSize',14,'FontWeight','bold')
set(gca,'fontsize',12,'FontWeight','bold')
% Plotting Input, Output of MLOG, and Smoothed Output Signal.
figure(2)
subplot(3,1,1),plot(1:length(x),x)
xlabel('Sample Index','FontSize',14,'FontWeight','bold')
ylabel('Count','FontSize',14,'FontWeight','bold')
title('Input Signal','FontSize',14,'FontWeight','bold')
set(gca,'fontsize',12,'FontWeight','bold')
subplot(3,1,2),plot(1:length(Output), Output)
xlabel('Sample Index','FontSize',14,'FontWeight','bold')
ylabel('Count^2','FontSize',14,'FontWeight','bold')
title('Output Signal of IGLF Filter','FontSize',14,'FontWeight','bold')
set(gca,'fontsize',12,'FontWeight','bold')
subplot(3,1,3),plot(1:length(Output_More_Smoothing), Output_More_Smoothing)
xlabel('Sample Index','FontSize',14,'FontWeight','bold')
ylabel('Count^2','FontSize',14,'FontWeight','bold')
title('Smoothed Output Signal','FontSize',14,'FontWeight','bold')
set(gca,'fontsize',12,'FontWeight','bold')


知乎学术咨询:
https://www.zhihu.com/consult/people/792359672131756032?isMe=1
  • 擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。
相关推荐
波动几何1 分钟前
工作流重构方法技能workflow-refactor
人工智能
nix.gnehc2 分钟前
从范式到工程:Plan & Execute + Nacos MCP 构建 AI Agent 的实践之路
人工智能·agent·mcp
工一木子6 分钟前
Browser MCP:让 Cursor 直接操控你的真实浏览器
人工智能
测试员周周9 分钟前
【Appium 系列】第17节-XMind用例转换 — 从思维导图到 YAML
java·服务器·人工智能·单元测试·appium·测试用例·xmind
ujainu12 分钟前
CANN pto-isa:AI 编译为什么需要虚拟指令集
人工智能
AI周红伟15 分钟前
通用业务智能体OpenClaw+Skills+RAG+Agent构建案例实操
大数据·人工智能·windows·百度·copilot
Fleshy数模19 分钟前
基于 CSV 数据分析的课堂教学问题诊断与改进建议系统
数据库·人工智能·大模型·llm
甲维斯25 分钟前
Claude Code 桌面版 和 CLI 自动模式和跳过所有授权!
人工智能
信奥胡老师26 分钟前
B3968 [GESP202403 五级] 成绩排序
数据结构·算法
我材不敲代码27 分钟前
Python 基础:列表的切片与嵌套列表使用技巧
开发语言·python