news 2026/9/3 4:04:14

直接打开MATLAB,先来点刺激的——搞个巴特沃斯低通滤波器。别被名字吓到,其实就是个能让低频信号通过,高频滚犊子的电路模型。看这段

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
直接打开MATLAB,先来点刺激的——搞个巴特沃斯低通滤波器。别被名字吓到,其实就是个能让低频信号通过,高频滚犊子的电路模型。看这段

基于matlab的模拟滤波器和数字滤波器设计, 基于matlab的模拟滤波器和数字滤波器设计,其中数字滤波器包扩IIR和FIR的低通、高通、带通、带阻四大类型,模拟滤波器包括巴特沃斯( Butterworth)和切比雪夫( Chebyshev)算法下的低通、高通、带通、带阻四种类型。

% 巴特沃斯低通设计 order = 4; % 四阶就够用 cutoff = 1000; % 截止频率1kHz [z,p,k] = butter(order, 2*pi*cutoff, 's'); % 注意's'表示模拟滤波器 [sos,g] = zp2sos(z,p,k); % 转成二阶节 freqs(sos, logspace(2,5,2000)); % 画幅频特性

butter函数里那个2π看着别扭?模拟滤波器设计默认用角频率(rad/s),所以要手动把Hz转成rad/s。freqs画图时横坐标自动用rad/s显示,想看Hz的话得自己改坐标轴标签。

切比雪夫来点波纹才带劲。下面这段搞个带通,通带波纹1dB:

% 切比雪夫I型带通 wp = [900 1100]*2*pi; % 通带900-1100Hz ws = [800 1200]*2*pi; % 阻带800-1200Hz Rp = 1; Rs = 40; % 通带1dB波纹,阻带衰减40dB [n, wn] = cheb1ord(wp, ws, Rp, Rs, 's'); [b,a] = cheby1(n, Rp, wn, 's'); bode(tf(b,a)); % 波特图更直观

切比雪夫的阶数计算比巴特沃斯复杂,直接交给cheb1ord算。注意比较下切比雪夫和巴特沃斯的过渡带陡峭程度,带波纹的就是更陡——这波属于用波纹换性能。

切到数字滤波器战场,IIR用双线性变换法最常见。整个高通玩玩:

% IIR数字高通 Fs = 8000; % 采样率8kHz fc = 2000; % 截止2kHz digital_cutoff = fc/(Fs/2); % 归一化到0-1 [b,a] = butter(5, digital_cutoff, 'high'); % 五阶 freqz(b,a,1024,Fs); % 数字频率响应

注意归一化频率的处理,数字截止频率要除以奈奎斯特频率(Fs/2)。freqz的参数里给采样率能让横轴显示实际频率值。

FIR设计必须上窗函数法。整一个带阻,用汉明窗:

% FIR带阻设计 Fs = 10e3; frange = [1800 2200]; % 阻带范围 n = 50; % 50阶 b = fir1(n, [frange(1)/(Fs/2), frange(2)/(Fs/2)], 'stop', hamming(n+1)); % 零极点图观察稳定性 zplane(b,1); % FIR只有零点

FIR的阶数明显比IIR高,但线性相位优势摆在那。fir1的参数顺序有点反直觉——先给归一化截止频率数组,再指定类型。用zplane画图会看到所有零点都在单位圆内或圆上,这就是FIR绝对稳定的证据。

调试滤波器时老司机都爱用fvtool,比自带的freqz更强大:

fvtool(b,a,'Fs',Fs) % 同时显示幅频、相频、群延迟

遇到设计指标不达标时,先检查通带波纹和阻带衰减是否满足要求。实在搞不定就用fdatool图形界面调参,自动生成代码抄作业不香么?不过考试时别指望能用这招。

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

30、文件系统管理与文件比较实用指南

文件系统管理与文件比较实用指南 在计算机系统的日常管理与维护中,对文件系统空间的有效管理以及文件内容的精确比较是至关重要的操作。下面将为你详细介绍一些常用的工具和命令,帮助你更好地完成这些任务。 1. 文件系统空间信息查看 在文件系统中,inode 表的大小在文件系…

作者头像 李华
网站建设 2026/9/2 14:29:21

生成Sigma点

自适应迭代无迹卡尔曼滤波算法AIUKF 锂离子电池SOC估计 递推最小二乘法辩识电池参数 具有良好的鲁棒性,初值误差为30%,仍能快速收敛 采用马里兰大学公开数据集 DST工况估计锂离子电池的荷电状态(SOC)是个头疼的问题,电…

作者头像 李华
网站建设 2026/9/2 12:05:37

基于三菱PLC和组态王的三层电梯控制组态设计程序 带解释的梯形图程序,接线图原理图图纸,io分配

基于三菱PLC和组态王的三层电梯控制组态设计程序 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面三层电梯控制系统这玩意儿,搞工控的兄弟应该都不陌生。今天咱们来拆解一套基于三菱FX3U和组态王的实装方案,重点…

作者头像 李华
网站建设 2026/9/2 23:57:53

苍穹外卖项目复习笔记 (二) -- 小程序开发,redisTemplate,spring cache

一、 微信小程序登录 (后端实现) 后端的核心任务只有一个 拿 code 换 openid 。 1. 流程详解后端不直接处理微信界面,而是提供一个接口给小程序调用。 输入:小程序前端传来的临时登录凭证 code。处理:后端拿着这个 code appid secret 去找微…

作者头像 李华
网站建设 2026/9/2 19:57:19

48、Unix知识综合解析

Unix知识综合解析 1. 重要Unix命令 在Unix系统中,有许多用于进程创建、删除和管理的命令,以及一些杂项程序命令,它们在系统操作和管理中发挥着重要作用。 进程相关命令 - at :在指定时间执行作业,作业仅执行一次。 - batch :在系统负载不过高时执行作业。 - …

作者头像 李华