一维离散信号平滑滤波与小波消噪

本文主要介绍我在自主设计滤波器的过程中经历的挫折,无数次的尝试与最终的收获

你好! 这是篇文章是良雨的第一篇博客,欢迎交流学习经验~

滤波初尝试

从网上download了滤波部分,平滑窗滤波,没有什么技术含量看的懂知道用importdata导入数据。
clear all; close all;
clc;
% importdata 函数允许加载各种数据的不同格式的文件
data=importdata(‘TEK0001.csv’); %读取csv数据文件
% disp(data0); %disp函数:显示文本或数组
for i=1:2250
voltagechange(i,1)=data(i,4);
figure(1)
plot(voltagechange)
xlabel(‘数目’),ylabel(‘y/voltagechange’); %添加标签
hold on;
end
figure(2)
m=15;%表示平滑滤波窗长度,这是长度为奇数的情况
%前m/2,最后m/2个点没滤波,设为原来的值就行
for i=1:length(voltagechange)-m+1
y(i+(m-1)/2)=sum(voltagechange(i:i+m-1))/m;
end
plot(y);
figure(3)
[thr,sorh,keepapp]=ddencmp(‘den’,‘wv’,y);
xd=wdencmp(‘gbl’,y,‘db4’,2,thr,sorh,keepapp);%小波消噪
xlabel(‘时间 t/s’);ylabel(‘频率 f/Hz’);
plot(xd);
title(‘消噪后的信号’)
一维离散信号平滑滤波与小波消噪
一维离散信号平滑滤波与小波消噪

第二版(转频域)

得到的信号波形是可以用来波动特征提取的,但是遇到了前方信号有延迟的情况,函数是封装好的,也不太理解,虽然很直观但是担心有用的波动信号也被滤掉,因此开始试图向频域靠近。
想起来曾经学过的数字信号处理,想拿出来显摆一下,但是确实忘了不少,作为一个重新入门的菜鸟肯请各位批评指正!!!!