傅里叶变换学习笔记:用线性代数理解量子力学位置动量表象
我的书桌上现在摊着两本笔记左边是线性代数右边是量子力学。标题里“线性代数 or 量子力学”其实是个伪命题因为这两本笔记翻到后面都会跳出一个共同的名字——傅里叶。这篇外传要写的就是我从一次跨学科复习中整理出来的《傅里叶级数与傅里叶变换学习笔记》记录我如何用线性代数的视角重新理解傅里叶又如何在量子力学的位置-动量表象切换中看到同一个数学工具。这篇笔记适合谁读正在啃线性代数、却被“内积空间”“正交基”搞得云里雾里的人正在学量子力学、被位置表象和动量表象来回切换绕晕的人以及在信号处理里看过无数频谱图、却始终没弄明白它和数学课里傅里叶级数有什么关系的人。我不会绕开公式但每个公式我都会解释一遍它到底在干什么。1. 为什么傅里叶是一道连接线性代数与量子力学的桥1.1 把傅里叶变换看成一次换基线性代数最核心的事就一件选一组基然后把向量表示成这组基的线性组合。三维空间里随便一个向量都可以写成三个坐标轴方向的叠加坐标就是它在每个方向上的投影大小。如果换一组基坐标会变但向量本身没变这就是坐标变换。函数也可以这样想把函数看成一个无穷维的向量。什么叫无穷维你每隔一个极小的时间间隔记一个函数值把时间间隔取得越来越密函数就有无穷多个取值这就是一个无穷维向量。傅里叶级数做的事就是把这个无穷维向量投影到一组由 cos 和 sin 构成的坐标轴上。每一个频率分量的系数就是函数在那个方向上的坐标。这个视角一旦建立很多问题顿时就通了“傅里叶变换是连续版本的坐标变换”这句话比我当年背下来的任何性质都更有用。它解释了为什么傅里叶变换可逆、为什么有帕塞瓦尔定理、为什么频域和时域是同一件事的两种描述——因为向量还是那个向量只是换了坐标系。1.2 位置表象与动量表象量子力学里的换基量子力学里同一个量子态可以用坐标波函数 ψ(x) 描述也可以用动量波函数 φ(p) 描述。数学上两者互为傅里叶变换。用线性代数的语言说这就是同一个向量在“位置基”下的坐标和在“动量基”下的坐标傅里叶变换就是这两套坐标之间的转换矩阵。你会看到量子力学教材翻几页就会出现傅里叶变换这不是数学老师在刷存在感而是因为位置算符和动量算符天然不对易。想要从位置表象切到动量表象唯一自然的线性变换就是傅里叶变换。另一件有意思的事是测量位置就是把态矢投影到某个点对应的基矢上测量动量就是投影到一个平面波对应的基矢上。所以为什么标题写成“线性代数 or 量子力学”因为这两个领域在傅里叶这里根本不是二选一而是同一套线性代数思想在不同物理场景里的两个投影。这也是我把这篇笔记称为“外传”的原因主线是量子力学但数学内核是线性代数。1.3 这篇笔记的结构安排下面我会按自己的学习顺序展开先讲傅里叶级数也就是周期信号的分解再让周期趋于无穷自然引出傅里叶变换然后讨论离散傅里叶变换和 FFT 的实操细节最后用线性代数的语言重新讲一遍傅里叶包括算符本征函数和不确定性原理的代数根源。每一段都会把公式背后“为什么要这样做”讲清楚。2. 傅里叶级数周期信号在无穷维空间里的坐标展开2.1 先找到一组正交基三角函数系的正交性先说展开式。一个周期为 T 的函数 f(t)可以写成f(t) a₀/2 Σₙ (aₙ cos(nωt) bₙ sin(nωt))其中 ω 2π/T。这个式子的结构像极了向量分解左边是原始函数右边是无穷多个基向量乘上对应的坐标。a₀/2 这种写法看着别扭但这样规定之后a₀ 正好等于 f(t) 在一个周期内的平均值后续公式也都能统一。为什么偏偏用三角函数而不是随便一组别的函数关键在正交性。定义函数内积为 ⟨g,h⟩ ∫ g(t)h(t)dt积分区间取一个周期。在这个内积下不同频率的三角函数相互垂直∫ cos(nωt)cos(mωt)dt 在 n≠m 时为 0∫ sin(nωt)sin(mωt)dt 在 n≠m 时也为 0任意 cos 和 sin 的乘积积分同样等于 0。而同一个函数和自己做内积不为零∫ cos²(nωt)dt 和 ∫ sin²(nωt)dt 都等于 T/2。这就是基的判定条件一组基里的向量彼此正交且都有非零的“长度”。后面计算系数的时候你会发现正是这种正交性让所有交叉项自动消失否则求每个 aₙ 会变成解一个无穷维线性方程组完全没法动手。2.2 傅里叶系数的计算把函数投影到基上有了正交性求系数就是一次简单的内积操作。把展开式两边同时乘以 cos(mωt) 并在一个周期内积分右边除了和 cos(mωt) 匹配的那一项之外其余项全部因为正交性归零于是得到aₘ (2/T) ∫ f(t)cos(mωt)dt同理bₘ (2/T) ∫ f(t)sin(mωt)dt。这个推导我当年用了一整页纸现在回头看其实只有一行系数 函数与基函数的内积 / 基函数与自身的内积。换成生活化的类比你站在一面墙前想知道你的影子在墙上有多少成分只需要把光源调整到某个特定方向让其他方向的影子全部消失剩下的就是那个方向的投影长度。傅里叶系数就是一组“频率方向”的投影长度。建议你自己手动推一次这个公式。推完你才会明白傅里叶系数从来不是从天而降的而是内积的自然结果。课本上那些积分表本质上就是帮你查“投影长度”的便利工具。2.3 完备性、帕塞瓦尔定理与一个方波例子为什么确定这些三角函数基够用这就涉及完备性。简单说L² 空间里的任何函数都可以用这套基展开到任意精度项数取得越多误差越小并趋于零。这就像三维空间里只用三个互相垂直的单位向量就能表示任何向量只是函数空间是无穷维的需要无穷多个基。帕塞瓦尔定理是坐标观点的直接推论∫|f(t)|²dt (T/2)Σ(aₙ² bₙ²)。左边是信号能量右边是各频率分量的能量之和。它的几何含义就是勾股定理向量长度的平方等于各坐标分量平方之和。价值在于你可以在时域算能量也可以转到频域算能量哪个方便用哪个。举个具体例子。周期 T2 的方波在 [-1/2, 1/2] 上取 1其余取 0。代入系数公式算出来 bₙ 全为 0aₙ 4 sin(nπ/2)/(nπ)所以偶数项全部消失奇数项按 1, 1/3, 1/5, ... 衰减。这个 1/n 的衰减速度是重点方波有突变不光滑所以需要很多高频分量才能逼近而一个纯正弦函数只要一项就精确表达了。函数的平滑程度决定频谱高频分量的衰减速度这是做信号压缩时最基本的直觉。2.4 一级注意事项吉布斯现象和系数约定第一个坑是吉布斯现象。用有限项傅里叶级数逼近方波时在跳跃点附近会出现大约 9% 的过冲而且无论加多少项这个过冲都不会消失只会越来越窄、越来越靠近跳变点。直观解释是方波在跳变处有无限陡的斜率有限项三角级数永远达不到那样的陡峭程度只能以过冲和振铃来“挣扎”。图像压缩中边缘出现振铃伪影根源就在这里。第二个坑是约定不统一。有的教材用 e^(iωt) 作为正变换核有的用 e^(-iωt)逆变换前面的系数 1/2π 放哪边各家也不一样。我吃过亏拿着 A 教材的系数公式直接用 B 教材的逆变换写程序结果频谱形状对了但幅值差了一个因子。后来学乖了在自己的笔记第一页固定写清楚正变换用 e^(-iωt)逆变换带 1/2π之后所有推导和程序都跟这套约定对齐。3. 傅里叶变换从离散频谱到连续频谱3.1 周期趋于无穷级数如何变成积分非周期函数不能直接套傅里叶级数因为根本没有“基频”这个概念。处理办法是把周期 T 推向无穷频域里相邻谐波的间隔 Δω2π/T 会越来越小当 T→∞离散的频谱线连成一片叠加号就变成了积分号。于是得到傅里叶变换对F(ω) ∫f(t)e^(-iωt)dt逆变换 f(t) (1/2π)∫F(ω)e^(iωt)dω。很多人一开始对 1/2π 放哪里非常纠结。我的建议是不要纠结到影响学习认准一套定义用到底。物理学家喜欢对称写法正逆变换各带 1/√(2π)工程领域常常把 1/2π 全部塞到逆变换里。本质是一样的只是能量如何分配的问题就像同一笔钱左边口袋还是右边口袋的区别。从级数到积分的过渡建议亲手写一遍。你会看到离散频率 nω 如何变成连续变量 ω积分核 e^(-iωt) 如何取代离散的 e^(-inωt)以及求和符号如何退化成广义积分。这个过程比死记定义有价值得多。3.2 常用性质与变换对记住这几组就够用傅里叶变换的性质不需要全背但下面这几条必须熟到条件反射的程度。线性变换是线性的叠加原理直接可用处理多个信号的和根本不用重新推。时移f(t-t₀) 的频谱是 F(ω)e^(-iωt₀)。意思很直观时间轴上平移一个量不会改变频率成分只是让每个频率分量都转了一个与频率成正比的相位。频移乘以 e^(iω₀t) 会把整个频谱搬到 ω₀ 处调制技术的基础就是这个性质。尺度变换f(at) 对应的频谱是 (1/|a|)F(ω/a)。时间被压得越窄频谱越宽这就是后面要说时宽带宽积的由头。卷积定理时域卷积对应频域乘积。这是整个信号处理课的镇店之宝它把复杂的卷积积分变成一次乘法无数滤波器设计都是靠这条性质推出来的。常用变换对我列几个高频出现的矩形脉冲对应 sinc 函数高斯函数变换后仍是高斯函数δ 函数对应常数常数对应 δ 函数单位阶跃对应 1/(iω) 加上一个 δ 项。把这些当成“坐标系转换表”背下来做题和读文献会快很多。3.3 从连续到离散采样、频谱泄漏与 FFT 实操计算机没法处理连续的 F(ω)只能对采样后的离散序列做离散傅里叶变换。设采样间隔为 Ts采样率为 fs1/Ts。离散化之后频谱会在频率轴上以 fs 为周期重复这就是数字频谱里必然出现镜像的原因。如果原始信号里有高于 fs/2 的成分这些高频会被“折叠”回低频区形成混叠看起来像低频成分凭空多了不少。这个 fs/2 就是奈奎斯特频率。工程实操里还有两个最常见的坑。第一个是频谱泄漏对一段有限长的正弦波做 FFT频谱不是干净的一根线而是变成一根带拖尾的峰。原因是你对无限长信号开了一个有限长的“观察窗”本质上是乘了一个矩形窗矩形窗在频域对应 sinc 函数于是谱线就被 sinc 卷积“抹糊”了。解决方法是加汉宁窗、海明窗这类窗函数让截断变得平滑但代价是主峰变宽频率分辨能力下降这是不可避免的取舍。第二个坑是归一化。很多人直接用 FFT 结果画幅值发现峰值根本不是信号原本的振幅。因为 FFT 没有自动除以序列长度 N需要手动除以 N如果只画单边谱正频率的幅值还要再乘以 2直流分量除外。这个细节能让你的频域图从“不知道为什么差一个因子”变成“严丝合缝对上”。频率分辨率的计算公式也建议刻在脑子里Δf fs / N。采样率固定时点数越多、观察时长越长频率分辨得越细。如果你想分辨两个间隔只有 0.1Hz 的频率峰采样率和点数必须保证 Δf 小于 0.1Hz否则两个峰必然糊在一起。3.4 数值实验用一段短代码看清傅里叶变换理论说再多不如跑一个实验直观。我用一个非常经典的双正弦叠加信号演示一下两段代码就可以看完频域视角。import numpy as np import matplotlib.pyplot as plt fs 1000 # 采样率 1000Hz N 1000 # 采样点数 t np.arange(N) / fs f1, f2 50, 120 x np.sin(2 * np.pi * f1 * t) 0.6 * np.sin(2 * np.pi * f2 * t) X np.fft.fft(x) freqs np.fft.fftfreq(N, 1/fs) mags np.abs(X) / N # 归一化 mags_single mags[:N//2] * 2 # 只看正频率幅值乘2 freqs_single freqs[:N//2] plt.stem(freqs_single[:200], mags_single[:200]) plt.xlabel(Frequency (Hz)) plt.ylabel(Amplitude) plt.show()这段代码跑完你会看到两个干净的单峰一个在 50Hz 处幅值约为 1一个在 120Hz 处幅值约为 0.6。信号在时域是两组正弦波形交织起来的样子但在频域只需要两根尖峰就能描述同一件事。很多人第一次跑出这种图时才会真正理解什么是“时域和频域是同一信号的两种投影视角”。重点提醒一句这个示例里 fs1000、N1000时间长度正好 1 秒所以频率分辨率 Δf fs/N 1Hz。两个信号频率间隔 70Hz远大于 1Hz完全分得开。如果改成间隔 0.5Hz 的两个信号同样的采样条件它们会合在一起那时你才会体会到“分辨率不足”到底是什么感受。4. 用线性代数语言重新讲一遍傅里叶4.1 复指数所有微分算符的“特征向量”把傅里叶和线性代数焊在一起的是一个关键观察函数 e^(iωt) 是微分算符 d/dt 的本征函数。因为d/dt e^(iωt) iω · e^(iωt)。这就像矩阵特征值问题 Av λv算符作用在这个函数上结果还是这个函数只是整体乘了一个常数 iω。频率越高的分量对应的本征值 iω 的模越大微分时被放大的倍数也越大。为什么这个性质如此重要因为物理规律大量由线性微分方程描述而线性微分方程在复指数基下会变得像代数方程。想象你要解一个带阻尼的振动方程直接用时间域函数来解可能是一通复杂的微分运算把方程两端做傅里叶变换后微分变成乘以 iω方程立刻变成普通代数方程解得 F(ω) 之后再逆变换回来就行。傅里叶变换之所以是好工具本质上就是因为复指数同时是平移算符和微分算符的本征函数。4.2 不确定性原理的傅里叶根源信号在时域和频域不可能同时被压缩。矩形脉冲时域越窄频谱的主瓣越宽高斯函数是唯一能在傅里叶变换后保持高斯形态的函数并且恰好达到时宽带宽积的下界。这不是微分方程的神奇结论纯粹是傅里叶变换的数学结构。量子力学里的位置-动量不确定性关系 Δx·Δp ≥ ħ/2其实就是这个数学事实加上物理单位的映射。粒子的位置波函数越是局域化意味着波包越窄那么它的动量波函数必然越宽对应动量分布越分散。理解这一点很多量子力学公式会祛魅不少原来不确定性并不是只有量子理论才有的怪现象而是任何服从叠加原理的波动系统都具备的普遍性质。必须小心一点这里的“不确定”不是测量误差不是仪器不够精细而是量子态本身在位置基和动量基下的坐标分布宽度受到数学约束。把这一点说清楚能避免不少概念上的混乱。4.3 别把傅里叶和线性代数对立起来我见过不少同学线性代数课不碰积分傅里叶课上不写矩阵两边老死不相往来。实际上离散傅里叶变换就是标准线性代数。Xₖ Σₙ xₙ W^(kn)其中 W e^(-2πi/N)。写成矩阵形式是 X Wx其中矩阵元素 W(k,n) W^(kn)。这个矩阵是 N×N 的对称、可逆矩阵归一化之后是酉矩阵。酉矩阵意味着什么基变换保持内积不变能量守恒就是它的直接推论。连续傅里叶变换也可以理解为积分核为 K(ω,t) e^(-iωt) 的连续线性变换把函数空间里的向量映射到另一个坐标系统。一旦接受这种观点你会获得巨大好处傅里叶变换的可逆性、正交性、帕塞瓦尔定理都可以套用线性代数中关于基变换和酉矩阵的全部直觉而不用每一条都单独记。我后来讲给同学听时用得最多的类比是傅里叶变换就是函数空间里的“旋转”选好角度之后本来缠绕在一起的信息会变得干干净净。4.4 一个容易混淆的小点实信号的频谱对称性实信号 x(t) 的傅里叶变换满足 F(-ω) F*(ω)也就是频谱幅度是偶对称的、相位是奇对称的。这就是为什么画频谱图常常只画正频率一半因为另一半是完全冗余的信息。有人问负频率是不是“不物理”的。答案在坐标视角下很清晰实信号要由复指数叠加生成就必须让正、负频率两个分量成对出现二者的虚部恰好抵消最终才得到实数。这就像用两个复数相加构造一个实数中间过程的复数成分不代表独立存在的物理对象只是坐标分解里的组成部分。5. 我的学习路线与问题排查备忘5.1 推荐的学习顺序先级数、再变换、后离散回到标题如果让我给一条经过验证的学习路线我会这样说先手算三角函数的正交性确认余弦系和正弦系确实构成正交基再算方波、三角波、锯齿波各一组傅里叶系数体会“投影”到底是什么接着把级数写成复数形式让 T→∞ 看离散谱怎么变成连续谱然后熟记常用变换对逐个推导性质最后上 FFT 做实验拿正弦叠加信号和方波信号验证理论。别反着学。先跑 FFT 再回头补理论容易把工具当成黑盒遇到频谱异常也不知道该查哪一环只看理论不作实验又很难建立“频域图像”的直觉。两条腿交替迈效果最好。学量子力学时如果卡在表象变换上我建议把位置-动量表象切换对应到傅里叶正逆变换再把傅里叶正逆变换对应到基底变换矩阵。这个对应一旦贯通波函数的坐标意义会比抽象的公设清晰得多。5.2 常见问题速查表现象可能原因排查与解决频谱峰值比信号幅值大很多FFT 结果未除以序列长度 N对全部频率点幅值统一除以 N单边谱幅值比预期小一半正频率未乘 2正频率不含直流幅值乘 2谱线周围出现大片拖尾截断造成频谱泄漏加汉宁窗、海明窗等窗函数高频处出现与实际不符的峰采样率不足导致混叠提高采样率采样前加抗混叠低通滤波两个邻近频率峰合成为一个频率分辨率不足增加采样时长或 FFT 点数用两个教材的公式写程序结果差常数倍傅里叶变换约定不统一固定一个约定检查 1/2π 和指数符号相位谱看起来完全随机幅值接近零的频率点噪声放大先按幅值阈值筛选再解读相位这七条是我在学习和写代码时踩过的真实问题每条都可以对应一次“对着频谱图发呆半天”的经历。排查顺序也有技巧先确认归一化再看泄漏和混叠最后才怀疑相位因为相位对数值误差远比幅值敏感。5.3 几个让我少走弯路的经验经验一把三种傅里叶版本做成一张对照表。傅里叶级数处理连续周期信号得到离散频谱傅里叶变换处理连续非周期信号得到连续频谱离散傅里叶变换处理离散周期信号得到离散频谱。工程里实际用的是 DFT 和它的快速算法 FFT。这张表贴在笔记第一页遇到问题先定位自己在哪个象限再决定用哪套公式。经验二不要试图背所有变换对。我只需要记住大约八组核心变换对剩下的都可以用性质推导。比如记住了矩形脉冲对应 sinc就能通过尺度变换推出窄脉冲的主瓣宽度记住了高斯对应高斯就能立刻理解高斯波包在位置和动量表象下的宽度关系。性质和少量变换对互相配合比死记一大张表可靠得多。经验三写代码验证数学公式时先拿最简单信号做实验再逐步增加成分。先把单正弦的 FFT 幅值调到完全正确再叠加第二个正弦、加窗、加噪声。每加一个环节只引入一个新变量出了问题立刻能定位。我见过太多次一上来就分析一段复杂信号频谱一团糟连是混叠还是泄漏都分不清楚的情况。循序渐进反而最快。我个人最深的体会是傅里叶分析不是某一个学科的工具箱而是把线性代数、信号处理和量子力学串成一条线的公共接口。每次学一门新课都会在傅里叶这儿遇到老朋友。所以如果有人问我“线性代数还是量子力学”我的答案出乎意料地简单先都学一遍然后在傅里叶这里汇合。最后分享一个小技巧把常用公式做成一张双栏卡片左边时间域、右边频率域用尺度变换和时移性质互相推导比对着书背要轻松得多。这篇外传笔记是我重新整理自己的学习路线时顺手写下的希望它也能帮你在几个学科的教材之间少走几次弯路。

相关新闻

AI时代个人量化入门:从零开发适合你的交易策略

AI时代个人量化入门:从零开发适合你的交易策略

AI时代最大的红利:个人做量化,也能开发出一套适合你的策略讲点实在的。这两年身边越来越多的朋友问我,说看到网上那些AI量化、程序化交易的内容,自己也心动,但总觉得这东西门槛高——要么觉得得是数学博士才能碰&#…

2026/10/13 9:44:48 阅读更多 →
SPI通信时序分析-主/从模式的发送和接收

SPI通信时序分析-主/从模式的发送和接收

F407中文手册主/从模式下启动通信序列:时序图:主模式:通信启动:发送部分:软件等待TXE1,向 SPI 发送缓冲区写入第 1 个数据0xF1;硬件自动将0xF1载入移位寄存器,BSY 置 1,S…

2026/10/13 9:43:46 阅读更多 →
学习ESP32-GPIO

学习ESP32-GPIO

文章目录前言一、了解开发板电路二、了解芯片的启动配置三、了解芯片内部GPIO的部分电路四、明确目的看数据手册五、代码编写1.main主函数编写2.led.c模块的编写3.led.h模块的编写4.led模块CMakeLists.txt文件的编写5.main主函数的CMakeLists.txt文件编写六、我踩的一些坑七、总…

2026/10/13 9:43:46 阅读更多 →

最新新闻

拼多多商家自研接口申请教程(2026最新版):从注册到调通API全流程踩坑记录

拼多多商家自研接口申请教程(2026最新版):从注册到调通API全流程踩坑记录

关键词:拼多多开放平台 商家自研 ERP对接 API申请 pdd接口 最近公司要把拼多多店铺的订单、库存、物流全部收到自研ERP里统一管理,研究了一圈拼多多开放平台,发现"商家自研"这条路其实门槛不高,但官方文档写得比较散,中…

2026/10/13 10:29:05 阅读更多 →
Spring Boot + MyBatis 整合实践:从自动装配到事务与连接池调优

Spring Boot + MyBatis 整合实践:从自动装配到事务与连接池调优

简介:这套Spring Boot与MyBatis的整合模板,面向需要快速搭建后端数据接口的Java工程师,也适合作为项目开发的基础骨架。项目利用Spring Boot的自动配置简化依赖管理与启动流程,将MyBatis作为持久层框架,通过Mapper接口…

2026/10/13 10:29:05 阅读更多 →
Spring Boot + MyBatis 数据访问层实战:配置、踩坑与性能优化

Spring Boot + MyBatis 数据访问层实战:配置、踩坑与性能优化

简介:面向Java Web后端开发者,这是一套SpringBoot与MyBatis整合的项目示例,围绕高效微服务开发场景,引入Druid连接池与Swagger接口文档工具,可降低项目初期配置成本,统一数据持久层访问,并为API…

2026/10/13 10:29:05 阅读更多 →
64位PowerShell避坑指南:从32位进程架构到内存溢出与注册表重定向

64位PowerShell避坑指南:从32位进程架构到内存溢出与注册表重定向

简介:面向仍在使用Windows Server 2003等旧版64位系统的运维人员与开发者,这是一份难得的Windows PowerShell 64位安装包。该压缩包恰好补足了微软官方不再为这些老系统提供下载的缺口,共包含2个文件:PowerShell_Setup_amd64.msi安…

2026/10/13 10:29:05 阅读更多 →
C# WinForms+SQLite设备管理系统开发:台账、维修与报表全攻略

C# WinForms+SQLite设备管理系统开发:台账、维修与报表全攻略

简介:这是一套基于C#与ASP.NET的Web设备管理系统完整源码工程,主要面向C#初中级学习者、高校软件相关专业学生以及需要快速搭建设备管理后台的开发者。系统覆盖设备档案维护、借用归还登记、维修工单处理和报表统计等典型管理环节,源码中充分…

2026/10/13 10:29:05 阅读更多 →
Oracle rownum与rowid底层原理与实战避坑指南

Oracle rownum与rowid底层原理与实战避坑指南

1. 为什么刚学Oracle的人总在rownum上栽跟头?刚接触Oracle的开发者,十有八九会在rownum上卡住至少三天。我见过某高校数据库课程的期末项目里,A同学用SELECT * FROM emp WHERE rownum > 5想跳过前5条查后面的数据,结果返回空集…

2026/10/13 10:28:04 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →