news 2026/7/9 19:22:39

直接甩干货!今天咱们唠唠用Matlab整数字滤波器的骚操作。不用示波器不用连线,导入数据直接开搞,还能实时看频谱变化,实测效果稳得一批

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
直接甩干货!今天咱们唠唠用Matlab整数字滤波器的骚操作。不用示波器不用连线,导入数据直接开搞,还能实时看频谱变化,实测效果稳得一批

数字滤波器程序,基于matlab,低通滤波器,高通滤波器,带通滤波器。 并且可进行FFT频谱分析,分析波形中所含谐波分量,并可以对特定频率波形进行提取。 不需要通过示波器观察,直接导入数据即可,快捷便利。 程序带有详细注释 图a为原始信号,图b为原始信号FFT分析结果,图c为进行带通滤后的结果对比,图d为滤波后的FFT分析结果,效果非常好

先上效果图镇楼(假装这里有四张图):

图a是原始信号曲线,明显能看出叠加了多个频率;图b的频谱分析直接暴露出50Hz和200Hz两个刺头;图c经过带通滤波后200Hz成分被精准狙击;图d的频谱干净得就像刚大扫除过的房间。

上代码!先整数据导入部分:

% 老铁直接拖拽数据文件到Workspace raw_signal = load('signal_data.mat'); t = raw_signal(:,1); % 时间序列 x = raw_signal(:,2); % 原始信号

这里要注意时间序列的采样率得算准,后面FFT要用到。建议用diff(t)自动计算采样间隔,防止手动输入翻车。

FFT分析直接套模板:

% 频谱分析三件套 Fs = 1/mean(diff(t)); % 智能获取采样率 L = length(x); % 信号长度 Y = fft(x); P2 = abs(Y/L); % 双边频谱 P1 = P2(1:L/2+1); % 取半谱 P1(2:end-1) = 2*P1(2:end-1); % 能量校正 f = Fs*(0:(L/2))/L; % 频率轴 % 画频谱图建议封装成函数 figure plot(f,P1) title('单边振幅谱') xlabel('频率(Hz)') ylabel('振幅')

重点说下这个P1的处理,很多新手会漏掉能量校正那步,导致振幅值砍半。还有频率轴的生成必须用实际采样率,别傻乎乎用归一化频率。

重头戏滤波器设计,以带通为例:

% 带通滤波器参数 order = 6; % 6阶巴特沃斯 lowcut = 150; % 下限频率 highcut = 250; % 上限频率 nyq = 0.5*Fs; % 奈奎斯特频率 low = lowcut/nyq; high = highcut/nyq; % 设计滤波器 [b,a] = butter(order, [low, high], 'bandpass'); % 滤波操作 filtered_signal = filter(b,a,x);

巴特沃斯滤波器属于万金油型,通带平坦过渡带适中。注意这里用归一化频率,别直接怼实际频率值进去。高阶滤波可能产生相位失真,需要零相位滤波的可以用filtfilt函数。

最后来个效果验证:

% 滤波前后对比 subplot(2,1,1) plot(t,x,'b',t,filtered_signal,'r') legend('原始信号','滤波后信号') % 新频谱生成 [new_f, new_P1] = custom_fft(filtered_signal, Fs); % 前面写的FFT函数 subplot(2,1,2) plot(f,P1,'b',new_f,new_P1,'r') legend('原始频谱','滤波后频谱')

重点观察阻带衰减是否到位,过渡带有没有出现吉布斯效应。如果发现滤波后信号畸变严重,八成是截止频率设置太接近有效成分了,适当放宽通带范围。

几个避坑指南:

  1. 数据长度不是2的幂时,FFT前记得做零填充
  2. 滤波器阶数别无脑怼高,超过10阶可能数值不稳定
  3. 处理完记得用fvtool(b,a)检查滤波器幅频曲线
  4. 高通滤波时注意直流分量的处理,小心基线漂移

这套方案实测在工业振动信号分析中成功抓取出轴承故障特征频率,在ECG信号处理中也能有效滤除工频干扰。需要换滤波器类型?改butter函数的第二个参数就行:

  • 低通:butter(6, high/nyq)
  • 高通:butter(6, low/nyq, 'high')
  • 带阻:butter(6, [low1,high1]/nyq, 'stop')

代码全量版已打包扔GitHub,需要的老铁评论区自取。下期预告:如何用神经网络自动识别特征频率,一键生成诊断报告。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 8:42:58

基于 S7-200 PLC 和组态王的切片机控制系统实现

基于S7-200 PLC和组态王组态切片机控制系统 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面在工业自动化领域,切片机控制系统对于生产效率和产品质量起着至关重要的作用。本文将介绍如何基于 S7 - 200 PLC 和组态王来构建一…

作者头像 李华
网站建设 2026/7/10 11:03:11

Cropper.js图像裁剪库:前端开发者的终极解决方案

Cropper.js图像裁剪库:前端开发者的终极解决方案 【免费下载链接】cropperjs JavaScript image cropper. 项目地址: https://gitcode.com/gh_mirrors/cr/cropperjs 在当今视觉内容主导的数字时代,图像处理已成为Web开发不可或缺的一部分。无论是社…

作者头像 李华
网站建设 2026/7/9 18:37:53

5分钟快速上手:Parse Dashboard完整部署与配置指南

5分钟快速上手:Parse Dashboard完整部署与配置指南 【免费下载链接】parse-dashboard A dashboard for managing Parse Server 项目地址: https://gitcode.com/gh_mirrors/pa/parse-dashboard Parse Dashboard是Parse Server的官方管理界面,为开发…

作者头像 李华
网站建设 2026/7/10 4:51:53

FanFicFare终极指南:3步快速上手网络小说下载神器

FanFicFare终极指南:3步快速上手网络小说下载神器 【免费下载链接】FanFicFare FanFicFare is a tool for making eBooks from stories on fanfiction and other web sites. 项目地址: https://gitcode.com/gh_mirrors/fa/FanFicFare FanFicFare是一款强大的…

作者头像 李华
网站建设 2026/7/10 12:00:14

计算机毕业设计|基于Java + vue水果商城系统(源码+数据库+文档)

水果商城系统 目录 基于springboot vue水果商城系统 一、前言 二、系统功能演示 详细视频演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue水果商城系统 一、前言 博主介绍…

作者头像 李华
网站建设 2026/7/10 0:39:06

Cloudflare防火墙拦截谷歌爬虫|导致收录失败怎么解决?

许多站长发现网站突然从谷歌搜索结果中“消失”,背后很可能是Cloudflare防火墙误拦截了谷歌爬虫(Googlebot),导致搜索引擎无法正常抓取页面。由于Cloudflare默认的防护规则较为严格,尤其是针对高频访问的爬虫IP&#x…

作者头像 李华