编写程序实现控制信号平滑滤波,消除变送器噪声造成调节阀频繁小幅动作。
调节阀“抖动”终结者 —— 基于信号平滑滤波的工业过程控制实践“现场最怕的不是大故障而是小抖动。阀门一天动作上万次机械寿命就在一次次无意义的小幅震荡中耗尽。真正稳定的系统不是反应最快的而是最懂过滤噪声的。”—— 哈尔滨工程大学《工业过程控制》课程核心思想延伸一、实际应用场景描述在化工精馏塔、锅炉汽包、反应釜温控等连续过程控制场景中调节阀是执行机构的“手脚”其稳定性直接决定产品质量与设备寿命┌──────────────────────────────────────────────┐│ 典型过程控制回路带噪声干扰 ││ ││ [被控对象] 精馏塔/锅炉/反应釜 ││ • 温度、压力、流量、液位等热工参数 ││ • 大滞后、大惯性、非线性特性 ││ • 对控制平稳性要求极高 ││ │ ││ ▼ 过程响应慢几十秒~几分钟 ││ ┌────────────────────────────┐ ││ │ 测量变送环节 │ ││ │ • 热电偶/热电阻/压力变送器 │ ││ │ • 4~20mA 电流信号 │ ││ │ • 电磁干扰变频器/电机 │ ←── 噪声源 ││ │ • 接线松动/接触不良 │ ←── 噪声源 ││ │ • 模数转换量化误差 │ ←── 噪声源 ││ └────────────┬───────────────┘ ││ │ 含噪测量值 (PV_noisy) ││ ▼ ││ ┌────────────────────────────┐ ││ │ PID控制器常规 │ ││ │ • 比例(P)放大误差 │ ││ │ • 积分(I)消除余差 │ ││ │ • 微分(D)预判趋势 │ ││ │ ⚠️ 噪声被放大导致控制量抖动 │ ││ └────────────┬───────────────┘ ││ │ 抖动的控制输出 (MV_jitter) ││ ▼ ││ ┌────────────────────────────┐ ││ │ 调节阀执行机构 │ ││ │ • 气动/电动调节阀 │ ││ │ • 机械结构有死区/回差 │ ││ │ • 频繁小幅动作 → 磨损 │ ←── 痛点 ││ │ • 阀杆填料摩擦 → 卡涩 │ ←── 痛点 ││ └────────────┬───────────────┘ ││ │ 阀门开度指令 ││ ▼ ││ ┌────────────────────────────┐ ││ │ 被控对象再次反馈 │ ││ │ • 过程响应滞后掩盖高频抖动 │ ││ │ • 操作员误以为“控制正常” │ ││ └───────────────────────────┘ ││ ││ 核心矛盾: 变送器噪声(快) vs 过程响应(慢) ││ 解决方案: 在PID前加入信号平滑滤波环节 │└──────────────────────────────────────────────┘为什么噪声会导致阀门“发抖”这是一个典型的“快干扰、慢过程”失配问题1. 变送器噪声电磁干扰、接线松动、电源纹波等产生的高频噪声通常几Hz~几十Hz2. PID 放大作用比例环节会将微小的测量波动放大 Kp 倍3. 微分环节敏感微分对快速变化的噪声极其敏感产生剧烈脉冲4. 执行机构响应虽然过程本身响应慢但阀门位置反馈灵敏会跟随噪声抖动5. 机械磨损加剧阀门每天动作数千次填料、阀杆、密封件快速老化二、引入痛点2.1 现场的真实困境场景 现场发生了什么 根因“阀门一天坏仨” “调节阀阀杆断裂一个月换了三次” 噪声导致高频小幅振荡“产品纯度波动” “精馏塔顶产品纯度忽高忽低” 阀门抖动破坏稳态流量“电费异常升高” “压缩机频繁加载卸载电耗飙升” 回流阀/进料阀频繁动作“DCS报警不断” “PV偏差报警每分钟触发几十次” 噪声触发虚假偏差“维护人员崩溃” “每天80%时间在调阀位没空巡检” 噪声掩盖真实工艺问题2.2 核心矛盾过程控制的核心矛盾是“测量噪声”与“执行平稳”的冲突。变送器采集的是“真值噪声”而调节阀执行的是“指令噪声”。如果不加处理高频噪声会被PID放大最终导致执行机构“疲于奔命”。2.3 我们要解决什么用一段精简的 Python 程序构建一个 带信号平滑滤波的PID控制系统实现1. 多种滤波算法 —— 滑动平均、一阶滞后、中值滤波2. 自适应滤波 —— 根据噪声强度自动调整滤波强度3. 死区滞环 —— 防止微小波动触发阀门动作4. 变化率限制 —— 限制阀门动作速度保护机械5. 性能量化 —— 对比滤波前后的阀门动作次数与磨损三、核心逻辑讲解3.1 理论基础信号平滑与噪声抑制本工具基于哈工程《工业过程控制》第三章“过程特性”和第四章“PID控制器”① 噪声来源与特性噪声频谱分布:┌─────────────────────────────────┐│ 幅值 ▲ ││ │ ●●●●●●●●●●●●●●● ││ │ ● ● ││ │● ● ││ │ ●││ └────────────────────────→ 频率│ 低频 中频 高频 ││ (过程) (干扰) (噪声) │└─────────────────────────────────┘噪声类型:• 白噪声: 均匀分布各频率分量相等• 脉冲噪声: 偶发尖峰由电磁干扰引起• 周期性噪声: 工频干扰(50Hz)、变频器谐波• 量化噪声: A/D转换的舍入误差② 常用滤波算法对比滤波方式 原理 优点 缺点 适用场景滑动平均 取N个采样的算术平均 算法简单抑制随机噪声 滞后较大对脉冲不敏感 平稳过程一阶滞后 y(k)αx(k)(1-α)y(k-1) 连续平滑无滞后积累 对突变响应慢 大多数场合中值滤波 取N个采样的中值 有效抑制脉冲噪声 对连续变化响应慢 电磁干扰严重卡尔曼滤波 最优估计算法 理论最优自适应 计算复杂需调参 高精度要求死区滞环 设置不灵敏区 彻底消除微小抖动 牺牲部分控制精度 阀门保护③ 一阶滞后滤波最常用y(k) \alpha \cdot x(k) (1-\alpha) \cdot y(k-1)其中- y(k) 当前滤波输出- x(k) 当前原始采样- y(k-1) 上一次滤波输出- \alpha 滤波系数0~1越小越平滑截止频率f_c \frac{\alpha}{2\pi T_s}其中 T_s 为采样周期。④ 死区与滞环Deadband Hysteresis死区滞环特性:输出 ▲│δ │ ┌───────────────│ │0 │────┼───────────────→ 输入│ │-δ │ └───────────────│└─────────────────────规则:• 当 |输入-输出| δ 时输出保持不变• 当 输入-输出 δ 时输出 输入 - δ• 当 输出-输入 δ 时输出 输入 δ作用: 彻底消除微小波动引起的阀门动作⑤ 变化率限制Rate Limiting\Delta u_{max} K_{rate} \cdot T_s其中- \Delta u_{max} 单步最大变化量- K_{rate} 变化率限制系数- T_s 采样周期3.2 控制策略设计┌──────────────────────────────────────────────┐│ 带信号平滑的PID控制策略 ││ ││ 设定值(SP) ││ │ ││ ▼ ││ ┌───────────────┐ ││ │ 比较器 │←─────────────────────┐ ││ │ e SP - PV │ │ ││ └───────┬───────┘ │ ││ │ e(t) │ ││ ▼ │ ││ ┌─────────────────────────────────────┐ │ ││ │ 信号平滑滤波模块 │ │ ││ │ ┌───────────────────────────────┐ │ │ ││ │ │ 1. 中值滤波滤除脉冲 │ │ │ ││ │ │ 2. 一阶滞后平滑随机噪声 │ │ │ ││ │ │ 3. 死区滞环消除微小波动 │ │ │ ││ │ └───────────────────────────────┘ │ │ ││ └───────┬───────────────────────────┘ │ │ ││ │ e_filtered(t) │ │ ││ ▼ │ │ ││ ┌─────────────────────────────────────┐ │ │ ││ │ PID控制器 │ │ │ ││ │ • 比例(P): Kp · e_filtered │ │ │ ││ │ • 积分(I): Ki ∫e_filtered dt │ │ │ ││ │ • 微分(D): Kd · de_filtered/dt │ │ │ ││ │ • 抗积分饱和 │ │ │ ││ └───────┬───────────────────────────┘ │ │ ││ │ MV_raw(t) │ │ ││ ▼ │ │ ││ ┌─────────────────────────────────────┐ │ │ ││ │ 执行器信号处理模块 │ │ │ ││ │ ┌───────────────────────────────┐ │ │ ││ │ │ 1. 变化率限制保护机械 │ │ │ ││ │ │ 2. 输出限幅硬件安全 │ │ │ ││ │ │ 3. 死区处理消除颤振 │ │ │ ││ │ └───────────────────────────────┘ │ │ │ ││ └───────┬───────────────────────────┘ │ │ ││ │ MV_final(t) → 调节阀 │ │ ││ ▼ │ │ ││ ┌─────────────────────────────────────┐ │ │ ││ │ 被控对象大滞后 │ │ │ ││ │ • 温度/压力/流量/液位 │ │ │ ││ │ • 响应缓慢过滤高频抖动 │ │ │ ││ └───────┬───────────────────────────┘ │ │ ││ │ PV_raw(t) │ │ ││ ▼ │ │ ││ ┌─────────────────────────────────────┐ │ │ ││ │ 测量变送环节含噪声 │ │ │ ││ │ • 传感器噪声 │ │ │ ││ │ • 电磁干扰 │ │ │ ││ │ • 量化误差 │ │ │ ││ └─────────────────────────────────────┘ │ │ ││ │ │ ││ 核心思想: 在PID前滤除噪声在输出侧保 │ │ ││ 护执行机构中间过程保持线性 │ │ │└───────────────────────────────────────────┴──┘四、代码讲解面向对象设计4.1 类结构总览类名 职责 设计模式FilterConfig 滤波器配置dataclass 值对象SignalFilter 信号平滑滤波器抽象基类 策略模式MovingAverageFilter 滑动平均滤波器 具体策略FirstOrderLagFilter 一阶滞后滤波器 具体策略MedianFilter 中值滤波器 具体策略AdaptiveFilter 自适应滤波器 装饰器模式DeadbandHysteresis 死区滞环处理器 具体策略RateLimiter 变化率限制器 具体策略FilteredPIDController 带滤波的PID控制器 聚合根ValveSimulator 调节阀仿真模型 领域模型ProcessSimulator 过程对象仿真 领域模型NoiseGenerator 噪声发生器 工厂模式PerformanceAnalyzer 性能分析器 封装Visualizer 可视化工具 封装4.2 核心代码精简版CSDN友好完整源码约 280 行包含 8 个类、多种滤波算法、死区滞环、变化率限制、性能分析。以下为可直接运行的精简核心版。调节阀信号平滑滤波仿真 —— 消除变送器噪声引起的频繁动作参考哈尔滨工程大学《工业过程控制》第三章过程特性与第四章PID控制器from dataclasses import dataclass, fieldfrom typing import List, Tuple, Optional, Dequefrom enum import Enum, autofrom abc import ABC, abstractmethodimport numpy as npimport matplotlib.pyplot as pltfrom collections import dequeimport mathfrom datetime import datetime# # 1. 基础数据结构值对象# dataclassclass FilterConfig:滤波器配置 —— 值对象# 一阶滞后滤波alpha: float 0.1 # 滤波系数 (0~1)越小越平滑# 滑动平均滤波window_size: int 5 # 窗口大小# 中值滤波median_window: int 3 # 中值窗口大小奇数# 死区与滞环deadband: float 0.5 # 死区宽度 (%)hysteresis: float 0.2 # 滞环宽度 (%)# 变化率限制rate_limit: float 2.0 # 最大变化率 (%/s)# 自适应滤波adaptive_enabled: bool Falsenoise_threshold: float 0.3 # 噪声检测阈值# 通用参数sample_time: float 1.0 # 采样周期 (s)max_sim_time: float 1800.0 # 最大仿真时间 (s)dataclassclass PIDConfig:PID控制器配置 —— 值对象kp: float 1.0 # 比例增益ki: float 0.05 # 积分增益kd: float 0.1 # 微分增益output_min: float 0.0 # 输出下限 (%)output_max: float 100.0 # 输出上限 (%)anti_windup: bool True # 抗积分饱和dataclassclass ValveConfig:调节阀配置 —— 值对象deadzone: float 0.3 # 机械死区 (%)hysteresis: float 0.2 # 机械滞环 (%)max_rate: float 5.0 # 最大动作速度 (%/s)response_time: float 0.5 # 响应时间常数 (s)stiction: float 0.1 # 静摩擦力 (%)dataclassclass ProcessConfig:过程对象配置 —— 值对象gain: float 1.0 # 过程增益time_constant: float 60.0 # 时间常数 (s)dead_time: float 10.0 # 纯滞后 (s)noise_level: float 0.2 # 噪声水平 (%)# # 2. 滤波器接口与实现策略模式# class SignalFilter(ABC):信号滤波器抽象基类abstractmethoddef filter(self, value: float) - float:滤波处理passabstractmethoddef reset(self):重置滤波器状态passclass FirstOrderLagFilter(SignalFilter):一阶滞后滤波器 —— 最常用def __init__(self, alpha: float 0.1):self.alpha max(0.0, min(1.0, alpha))self.prev_output: float 0.0self.initialized: bool Falsedef filter(self, value: float) - float:if not self.initialized:self.prev_output valueself.initialized Truereturn value# y(k) α·x(k) (1-α)·y(k-1)output self.alpha * value (1 - self.alpha) * self.prev_outputself.prev_output outputreturn outputdef reset(self):self.prev_output 0.0self.initialized Falseclass MovingAverageFilter(SignalFilter):滑动平均滤波器def __init__(self, window_size: int 5):self.window_size max(1, window_size)self.buffer: Deque[float] deque(maxlenself.window_size)def filter(self, value: float) - float:self.buffer.append(value)return sum(self.buffer) / len(self.buffer)def reset(self):self.buffer.clear()class MedianFilter(SignalFilter):中值滤波器 —— 抑制脉冲噪声def __init__(self, window_size: int 3):self.window_size max(1, window_size)if self.window_size % 2 0:self.window_size 1 # 确保奇数self.buffer: Deque[float] deque(maxlenself.window_size)def filter(self, value: float) - float:self.buffer.append(value)return np.median(list(self.buffer))def reset(self):self.buffer.clear()class AdaptiveFilter(SignalFilter):自适应滤波器 —— 根据噪声强度调整滤波强度def __init__(self, base_filter: SignalFilter,noise_threshold: float 0.3, base_alpha: float 0.1):self.base_filter base_filterself.noise_threshold noise_thresholdself.base_alpha base_alphaself.prev_value: float 0.0self.noise_estimate: float 0.0def filter(self, value: float) - float:# 估计噪声强度当前值与上一值的差值if hasattr(self.base_filter, alpha):noise abs(value - self.prev_value)self.noise_estimate 0.9 * self.noise_estimate 0.1 * noise# 根据噪声强度调整滤波系数if self.noise_estimate self.noise_threshold:# 噪声大增强滤波self.base_filter.alpha min(0.3, self.base_alpha * 2)else:# 噪声小减弱滤波self.base_filter.alpha max(0.05, self.base_alpha)self.prev_value valuereturn self.base_filter.filter(value)def reset(self):self.base_filter.reset()self.prev_value 0.0self.noise_estimate 0.0# # 3. 死区与滞环处理器# class DeadbandHysteresis:死区滞环处理器 —— 消除微小波动def __init__(self, deadband: float 0.5, hysteresis: float 0.2):self.deadband deadbandself.hysteresis hysteresisself.prev_output: float 0.0self.last_direction: int 0 # -1:下降, 0:静止, 1:上升def process(self, input_value: float, reference: float 0.0) - float:死区滞环处理input_value: 输入值reference: 参考值通常为设定值或上一输出error input_value - reference# 死区判断if abs(error) self.deadband:return self.prev_output# 滞环判断if error self.deadband:# 正向超过死区if self.last_direction 0:# 从静止或下降转为上升需要额外越过滞环if error self.deadband self.hysteresis:output reference (error - self.hysteresis)self.last_direction 1else:output self.prev_outputelse:# 已经在上升正常跟随output reference errorself.last_direction 1else:# 负向超过死区if self.last_direction 0:# 从静止或上升转为下降需要额外越过滞环if abs(error) self.deadband self.hysteresis:output reference (error self.hysteresis)self.last_direction -1else:output self.prev_outputelse:# 已经在下降正常跟随output reference errorself.last_direction -1self.prev_output outputreturn outputdef reset(self):self.prev_output 0.0self.last_direction 0# # 4. 变化率限制器# class RateLimiter:变化率限制器 —— 保护执行机构def __init__(self, max_rate: float 2.0, sample_time: float 1.0):self.max_rate max_rate # %/sself.sample_time sample_timeself.prev_output: float 0.0self.max_step max_rate * sample_time # 单步最大变化def limit(self, target_value: float) - float:限制变化率delta target_value - self.prev_outputif delta self.max_step:output self.prev_output self.max_stepelif delta -self.max_step:output self.prev_output - self.max_stepelse:output target_valueself.prev_output outputreturn outputdef reset(self):self.prev_output 0.0# # 5. PID控制器改进版# class FilteredPIDController:带信号滤波的PID控制器 —— 聚合根def __init__(self, pid_config: PIDConfig, filter_config: FilterConfig):self.pid_config pid_configself.filter_config filter_config# PID状态self.integral: float 0.0self.prev_error: float 0.0self.prev_output: float 0.0self.prev_pv: float 0.0# 滤波链self.filters: List[SignalFilter] []# 1. 中值滤波先滤除脉冲if filter_config.median_window 1:self.filters.append(MedianFilter(filter_config.median_window))# 2. 一阶滞后平滑随机噪声lag_filter FirstOrderLagFilter(filter_config.alpha)if filter_config.adaptive_enabled:self.filters.append(AdaptiveFilter(lag_filter,filter_config.noise_threshold,filter_config.alpha))else:self.filters.append(lag_filter)# 3. 滑动平均进一步平滑if filter_config.window_size 1:self.filters.append(MovingAverageFilter(filter_config.window_size))# 4. 死区滞环self.deadband_processor DeadbandHysteresis(filter_config.deadband, filter_config.hysteresis)# 5. 变化率限制self.rate_limiter RateLimiter(filter_config.rate_limit, filter_config.sample_time)# 统计信息self.valve_action_count: int 0self.total_valve_movement: float 0.0self.prev_filtered_error: float 0.0print(*60)print( 调节阀信号平滑滤波仿真系统)print( 基于哈尔滨工程大学《工业过程控制》)print(*60)self._print_config()def _print_config(self):打印配置信息print(f\n[CONFIG] PID参数: Kp{self.pid_config.kp}, fKi{self.pid_config.ki}, Kd{self.pid_config.kd})print(f[CONFIG] 滤波参数: α{self.filter_config.alpha}, f死区{self.filter_config.deadband}%, f滞环{self.filter_config.hysteresis}%)print(f[CONFIG] 变化率限制: {self.filter_config.rate_limit}%/s)print(f[CONFIG] 自适应滤波: {启用 if self.filter_config.adaptive_enabled else 禁用})def compute(self, setpoint: float, process_variable: float,filtered_pv: Optional[float] None) - Tuple[float, float]:计算PID输出返回: (滤波后的PV, 最终控制输出)# 1. 信号滤波链filtered process_variablefor filter_obj in self.filters:filtered filter_obj.filter(filtered)# 2. 计算误差使用滤波后的PVerror setpoint - filtered# 3. 死区滞环处理在误差层面error_processed self.deadband_processor.process(error, 0.0)# 4. PID计算# 比例项p_term self.pid_config.kp * error_processed# 积分项带抗饱和if self.pid_config.anti_windup:# 检查是否处于饱和状态if not (self.prev_output self.pid_config.output_max and error_processed 0) and \not (self.prev_output self.pid_config.output_min and error_processed 0):self.integral error_processed * self.filter_config.sample_timeelse:self.integral error_processed * self.filter_config.sample_timei_term self.pid_config.ki * self.integral# 微分项对PV微分避免设定值突变d_term 0.0if self.filter_config.sample_time 0:# 使用滤波后的PV进行微分d_term -self.pid_config.kd * \(filtered - self.prev_pv) / self.filter_config.sample_time# 总输出output p_term i_term d_term# 5. 输出限幅output max(self.pid_config.output_min,min(self.pid_config.output_max, output))# 6. 变化率限制保护阀门output_limited self.rate_limiter.limit(output)# 7. 统计阀门动作if abs(output_limited - self.prev_output) 0.01: # 超过0.01%才算动作self.valve_action_count 1利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛

相关新闻

deit_tiny_distilled_patch16_224.fb_in1k实战教程:3行代码实现图像嵌入提取与特征可视化

deit_tiny_distilled_patch16_224.fb_in1k实战教程:3行代码实现图像嵌入提取与特征可视化

deit_tiny_distilled_patch16_224.fb_in1k实战教程:3行代码实现图像嵌入提取与特征可视化 【免费下载链接】deit_tiny_distilled_patch16_224.fb_in1k 项目地址: https://ai.gitcode.com/hf_mirrors/timm/deit_tiny_distilled_patch16_224.fb_in1k deit_tin…

2026/10/21 17:16:40 阅读更多 →
Comedy框架在微服务中的应用:构建可扩展的分布式系统

Comedy框架在微服务中的应用:构建可扩展的分布式系统

Comedy框架在微服务中的应用:构建可扩展的分布式系统 【免费下载链接】comedy Node.js actor framework. 项目地址: https://gitcode.com/gh_mirrors/co/comedy Comedy是一个专为Node.js设计的actor框架,它通过基于角色模型的架构,帮助…

2026/10/21 12:22:13 阅读更多 →
如何用Video2X AI视频增强工具让老视频重获新生

如何用Video2X AI视频增强工具让老视频重获新生

如何用Video2X AI视频增强工具让老视频重获新生 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video2x 你是否曾经…

2026/10/21 10:33:16 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/22 10:18:38 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/22 11:01:53 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/22 9:44:47 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/22 10:42:00 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/22 10:40:08 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/22 10:56:37 阅读更多 →

日新闻

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/22 1:47:45 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/21 21:32:28 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/22 5:12:39 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 21:50:56 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 21:51:55 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 16:24:48 阅读更多 →