<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>物理世界开发 on Mi&amp;Bee Blog</title><link>/categories/%E7%89%A9%E7%90%86%E4%B8%96%E7%95%8C%E5%BC%80%E5%8F%91/</link><description>Recent content in 物理世界开发 on Mi&amp;Bee Blog</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>蓝宝石的傻话</managingEditor><lastBuildDate>Mon, 25 May 2026 10:00:00 +0800</lastBuildDate><atom:link href="/categories/%E7%89%A9%E7%90%86%E4%B8%96%E7%95%8C%E5%BC%80%E5%8F%91/rss.xml" rel="self" type="application/rss+xml"/><item><title>IMU 原理：加速度计与陀螺仪</title><link>/posts/physical-world/imu-accelerometer-gyroscope/</link><pubDate>Fri, 15 May 2026 10:00:00 +0800</pubDate><guid>/posts/physical-world/imu-accelerometer-gyroscope/</guid><description>&lt;p&gt;运动传感系列开篇。传感器是嵌入式系统感知物理世界的窗口，IMU（Inertial Measurement Unit）是最常用的一类。这篇文章不讲高深理论，只讲 MEMS 传感器怎么工作、怎么接线、怎么读数、读出来的数据长什么样。&lt;/p&gt;</description></item><item><title>图像基础与 OpenCV 起步</title><link>/posts/physical-world/image-basics-opencv/</link><pubDate>Fri, 08 May 2026 10:00:00 +0800</pubDate><guid>/posts/physical-world/image-basics-opencv/</guid><description>&lt;h2 id="数字图像的本质"&gt;数字图像的本质&lt;/h2&gt;
&lt;p&gt;计算机视觉处理的对象是数字图像。数字图像本质上就是一个二维像素数组。&lt;/p&gt;
&lt;h3 id="像素与灰度图"&gt;像素与灰度图&lt;/h3&gt;
&lt;p&gt;灰度图是最简单的数字图像——每个像素存储一个亮度值，范围 0（纯黑）到 255（纯白）。在 Python 中，一张宽 W、高 H 的灰度图就是一个形状为 &lt;code&gt;(H, W)&lt;/code&gt; 的二维数组。&lt;/p&gt;</description></item><item><title>声波与数字信号基础</title><link>/posts/physical-world/acoustics-dsp-basics/</link><pubDate>Mon, 04 May 2026 10:00:00 +0800</pubDate><guid>/posts/physical-world/acoustics-dsp-basics/</guid><description>&lt;h2 id="相消干涉"&gt;相消干涉&lt;/h2&gt;
&lt;p&gt;主动降噪（ANC）的物理基础是声波的相消干涉。两个频率相同、相位相反的声波叠加后会相互抵消。&lt;/p&gt;
&lt;p&gt;原始噪声信号：&lt;/p&gt;
&lt;p&gt;$$
p_n(t) = A \cos(2\pi ft + \phi)
$$&lt;/p&gt;
&lt;p&gt;ANC 系统生成的反向声波：&lt;/p&gt;</description></item><item><title>自适应滤波：从 LMS 到 NLMS</title><link>/posts/physical-world/adaptive-filtering-lms-nlms/</link><pubDate>Thu, 07 May 2026 10:00:00 +0800</pubDate><guid>/posts/physical-world/adaptive-filtering-lms-nlms/</guid><description>&lt;h2 id="lms-算法"&gt;LMS 算法&lt;/h2&gt;
&lt;p&gt;自适应滤波的核心问题是：给定参考信号 &lt;code&gt;x(n)&lt;/code&gt; 和期望信号 &lt;code&gt;d(n)&lt;/code&gt;，找到一个滤波器系数向量 &lt;code&gt;w&lt;/code&gt;，使输出 &lt;code&gt;y(n)&lt;/code&gt; 逼近 &lt;code&gt;d(n)&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;最小均方（Least Mean Square, LMS）算法是解决这个问题最经典的方法，由 Widrow 和 Hoff 在 1960 年提出。核心思路是每次迭代都沿着误差曲面最陡的方向下降一步——也就是随机梯度下降。&lt;/p&gt;</description></item><item><title>FXLMS 与主动降噪系统架构</title><link>/posts/physical-world/fxlms-anc-architecture/</link><pubDate>Mon, 11 May 2026 10:00:00 +0800</pubDate><guid>/posts/physical-world/fxlms-anc-architecture/</guid><description>&lt;p&gt;主动降噪（ANC, Active Noise Control）的核心思路是用扬声器发出一个与噪声相位相反、幅值相同的声波，通过相消干涉抵消掉目标区域的噪声。落地到硬件系统，需要解决两个问题：用什么传感器感知噪声，以及用哪种控制策略生成抗噪声。这两点决定了 ANC 系统的架构分类——前馈、反馈和混合式。&lt;/p&gt;</description></item><item><title>变步长与频域自适应算法</title><link>/posts/physical-world/variable-step-frequency-domain/</link><pubDate>Thu, 14 May 2026 10:00:00 +0800</pubDate><guid>/posts/physical-world/variable-step-frequency-domain/</guid><description>&lt;h2 id="固定步长的收敛矛盾"&gt;固定步长的收敛矛盾&lt;/h2&gt;
&lt;p&gt;标准 LMS 算法和 NLMS 算法都使用固定的步长参数 $\mu$。步长大小的选择直接影响算法性能，但存在一个根本矛盾：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;大步长&lt;/strong&gt;：收敛速度快，能够快速追踪环境变化，但稳态误差大，滤波精度低&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;小步长&lt;/strong&gt;：稳态误差小，滤波精度高，但收敛速度慢，对突变响应迟缓&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这个矛盾在回声消除、主动噪声控制等应用中尤为突出——系统启动时需要快速收敛，稳态后则希望维持低误差。固定步长无法同时满足两阶段的需求。&lt;/p&gt;</description></item><item><title>嵌入式 ANC：STM32 实战</title><link>/posts/physical-world/embedded-anc-stm32/</link><pubDate>Mon, 18 May 2026 10:00:00 +0800</pubDate><guid>/posts/physical-world/embedded-anc-stm32/</guid><description>&lt;h2 id="硬件架构"&gt;硬件架构&lt;/h2&gt;
&lt;p&gt;实现实时 ANC 首先要选择合适的硬件平台。控制器需要在微秒级完成自适应滤波运算，同时管理多路音频数据流。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;模块&lt;/th&gt;
					&lt;th&gt;功能&lt;/th&gt;
					&lt;th&gt;典型选型&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;主控制器&lt;/td&gt;
					&lt;td&gt;执行自适应算法&lt;/td&gt;
					&lt;td&gt;STM32F4/F7, ESP32-S3, nRF5340&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;参考麦克风&lt;/td&gt;
					&lt;td&gt;采集环境噪声&lt;/td&gt;
					&lt;td&gt;Knowles SPH0645, Infineon IM69D130&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;误差麦克风&lt;/td&gt;
					&lt;td&gt;采集残余噪声&lt;/td&gt;
					&lt;td&gt;Knowles SPH0645, TDK ICS-43434&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;音频 DAC&lt;/td&gt;
					&lt;td&gt;输出抗噪声信号&lt;/td&gt;
					&lt;td&gt;ES9218, PCM5102&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;功放&lt;/td&gt;
					&lt;td&gt;驱动扬声器&lt;/td&gt;
					&lt;td&gt;Class-D&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;参考麦克风位于耳罩外侧，采集外部环境噪声作为算法参考输入。误差麦克风位于耳罩内侧，采集扬声器附近的残余噪声，用于评估降噪效果并驱动自适应更新。音频 DAC 将数字抗噪声信号转为模拟量，经功放放大后驱动扬声器。&lt;/p&gt;</description></item><item><title>嵌入式 ANC：ESP32 实战</title><link>/posts/physical-world/embedded-anc-esp32/</link><pubDate>Thu, 21 May 2026 10:00:00 +0800</pubDate><guid>/posts/physical-world/embedded-anc-esp32/</guid><description>&lt;p&gt;ESP32-S3 的双核 Xtensa LX7 处理器带有向量指令集扩展，适合执行嵌入式 ANC 所需的实时 DSP 运算。配合 ESP-DSP 库可以高效实现自适应滤波器。&lt;/p&gt;
&lt;h2 id="i2s-麦克风采集"&gt;I2S 麦克风采集&lt;/h2&gt;
&lt;p&gt;ANC 需要至少两路同步输入：参考麦克风（采集环境噪声）和误差麦克风（采集残余误差）。ESP32-S3 的 I2S 外设支持同时接收多路 ADC 数据，配置为 16 位、16 kHz 采样即可满足消费级 ANC 需求。&lt;/p&gt;</description></item><item><title>ANC 调试与性能优化</title><link>/posts/physical-world/anc-tuning-debugging/</link><pubDate>Mon, 25 May 2026 10:00:00 +0800</pubDate><guid>/posts/physical-world/anc-tuning-debugging/</guid><description>&lt;p&gt;主动降噪系统的工程实现中，最耗时、最依赖经验的部分不是算法选型，而是参数调优和稳定性调试。滤波器阶数、步长系数、采样率——每一个参数都牵一发而动全身。本文从实践经验出发，梳理 ANC 调试中的关键参数选择逻辑和常见问题定位方法。&lt;/p&gt;</description></item></channel></rss>