滤波信号总结

本文介绍了如何使用低通滤波器对含有噪声的加速度信号进行滤波,以及VMD滤波方法在模态分解中的应用,展示了信号处理在实际工程中的应用过程。
摘要由CSDN通过智能技术生成

目录

1.低通滤波器滤波信号

2.VMD 滤波


1.低通滤波器滤波信号

clear

clc

close all

% 生成加速度时程信号

fs = 200; % 采样频率为200Hz

duration = 2 * 60; % 时长为2分钟

t = (0:1/fs:duration-1/fs)'; % 时间向量

% 生成白噪声

noise_power = 0.1; % 噪声功率

noise = sqrt(noise_power) * randn(size(t));

% 构造加速度信号

% 这里使用sin函数作为加速度信号的示例,你可以根据需要修改这部分代码

frequency = 1; % 加速度信号的频率

amplitude = 1; % 加速度信号的幅值

acceleration_signal = amplitude * sin(2 * pi * frequency * t);

% 添加白噪声到加速度信号

acceleration_with_noise = acceleration_signal + noise;

% 使用低通滤波器滤除噪声

cutoff_frequency = 3; % 截止频率为10Hz,你可以根据需要调整这个值

[b, a] = butter(10, cutoff_frequency / (fs/2), 'low'); % 4阶低通滤波器设计

filtered_acceleration = filtfilt(b, a, acceleration_with_noise);

% 绘制加速度信号、带噪声的加速度信号和滤波后的加速度信号

figure(1);

subplot(3,1,1);

plot(t, acceleration_signal);

title('Acceleration Signal');

xlabel('Time (s)');

ylabel('Acceleration');

subplot(3,1,2);

plot(t, acceleration_with_noise);

title('Acceleration Signal with Noise');

xlabel('Time (s)');

ylabel('Acceleration');

subplot(3,1,3);

plot(t, filtered_acceleration);

title('Filtered Acceleration Signal');

xlabel('Time (s)');

ylabel('Acceleration');

2.VMD 滤波

clear

clc

close all

filelocation='H:\2.模态测试\程序';

cd(filelocation);

fs=200;

signal=importdata(fullfile(filelocation,'1.断面未滤波衰减时程.xlsx'));

t=1/fs:1/fs:length(signal)/fs;

figure(1)

plot(t,signal)

set(gcf,'Units','centimeters','Position',[1 18 14 8])

imf = vmd(signal);

[p,q] = ndgrid(t,1:size(imf,2));

figure(2)

plot3(p,q,imf)

grid on

xlabel('Time Values')

ylabel('Mode Number')

zlabel('Mode Amplitude')

set(gcf,'Units','centimeters','Position',[15 18 14 8])

figure(3)

plot(p(:,5),imf(:,5))

grid on

xlabel('Time Values')

ylabel('Mode Number')

zlabel('Mode Amplitude')

set(gcf,'Units','centimeters','Position',[29 18 14 8])

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值