ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

随机过程频域分析:从功率谱密度到维纳-辛钦定理

随机过程频域分析:从功率谱密度到维纳-辛钦定理 学随机过程这门课上到“频域分析”这一节之前我心里默认的是这一章应该和“信号与系统”差不多——时域变到频域频谱一画出来滤波器、采样、调制全部一目了然。结果翻开教材才发现情况完全不是这么回事。随机过程虽然是“信号”但它的样本函数既不衰减、也不绝对可积频谱本身还带有随机性确定性信号那套“做傅里叶变换、看频谱”的思路根本搬不过去。这里必须换一把尺子去度量随机过程在频域里的能量分布这把尺子就是功率谱密度通常直接叫功率谱。这篇内容不打算按教材的顺序复述定理我想把功率谱这套东西从头捋一遍它到底为什么长这样、定义式里的每一步在干什么、维纳-辛钦定理又是怎么把自相关和频域串起来的然后再用几个最常见的例子把计算过程完整走一遍最后聊一些学习时特别容易踩的坑。适合正在学随机过程、以及学过但忘记细节想快速捡起来的同学参考。1. 确定性信号的频域直觉在随机过程这里卡在哪了1.1 频谱分析给人的强大惯性在“信号与系统”里傅里叶分析几乎是万能的任何满足条件的信号都能分解成不同频率正弦波的叠加频域图形则告诉你能量在哪些频率上集中。滤波器设计本质上就是乘一个频率选择函数采样定理、调制解调全部在频域里获得非常直观的解释。这种训练给人留下极深的惯性拿到一个信号第一反应永远是把它变到频域看看结构。这个思路太顺了以至于我最初学随机过程时也理所当然地想做同样的事。我觉得随机过程不过就是复杂一点的信号频域分析无非就是把傅里叶变换的公式再抄一遍。结果这个想法在第一道例题上就碎了。1.2 随机过程的样本函数为什么“不合格”拿平稳随机过程 X(t) 来说它的样本函数 x(t) 是定义在整个实轴上的随机波形。这种波形不会随着时间推移衰减到零通常也不满足绝对可积条件 ∫|x(t)|dt ∞。傅里叶变换在这样的信号上根本不收敛你甚至没法写下一个普通的 X(ω)。就算有人提出“那我不看整个实轴只看一段”这时候做出来的变换结果也是随机的。每一条样本函数都有自己的频谱前后两次观测得到的频谱差异可能非常大。还有一个容易被忽略的问题随机信号的相位在多数模型里没有稳定意义。相位谱会出现又快又乱的跳变这和确定性信号里“相位包含时间延迟信息”完全不同。频谱分析里我们习惯把幅度谱和相位谱放在一起看但到了随机过程相位谱基本失去了确定性解释。1.3 能量发散了功率还在所以直接用能量有限信号那套框架是不行的。但物理上有个非常朴素的观察很多随机现象的能量在无限时域上确实发散可它们的平均功率是有限的。比如一个电阻上的热噪声电压你测任意一段时间的平均功率都稳定在一个值附近符合平稳过程的直觉。数学上对应的是平稳随机过程的均方值 E[X²(t)] 是一个常数这个量恰好刻画了过程的平均功率。于是频域分析的主角从“频谱”换成了“功率谱”不再问“每个频率上的能量是多少”而是问“每个频率附近贡献了多少平均功率”。这个转变不是单纯换个名字而是整个思考框架的变化——从处理一个确定函数变成处理一族函数的统计特征。1.4 功率谱仍然保留频域直觉换个主角不代表放弃频域视角。有了功率谱你依然可以说某个随机信号是“低频为主”还是“宽带信号”依然可以讨论滤波后噪声功率怎么变化依然可以定义信噪比、相干带宽这些工程概念。只不过这些讨论的基础从确定性频谱变成了统计意义上的功率谱。下面的定义就围绕这个想法展开。2. 截断、功率与极限功率谱密度的定义思路2.1 先截断让不可积信号变得可处理既然完整样本函数做不了傅里叶变换那就先退一步取一段长度为 2T 的观察区间定义截断信号 x_T(t)。在区间内 x_T(t)x(t)区间外等于 0。截断以后信号有了有限支撑只要过程在区间上均方可积x_T(t) 的能量就是有限的傅里叶变换存在。记它的变换为 X_T(ω)∫_{−T}^{T} x(t) e^{−jωt} dt。注意X_T(ω) 本质上是一个随机变量——因为输入 x(t) 来自随机过程每个样本会给出一条不同的 X_T(ω)。这个随机性在后面处理时要特别小心。2.2 帕塞瓦尔定理与区间平均功率对截断信号用帕塞瓦尔定理∫_{−T}^{T} x²(t) dt (1/2π) ∫_{−∞}^{∞} |X_T(ω)|² dω左边是截断区间内的信号能量右边把同样的能量表示成频域上各频率分量模平方的积分。现在两边同时除以 2T左边变成这段时间的平均功率让 T→∞这个平均功率如果收敛就定义了随机过程的时间平均功率。但这里有个细节直接让 T→∞ 并交换积分和极限对随机过程不一定成立因为对不同样本右边的极限可能是不同的数。你不能说“某一次观测算出来的平均功率就是过程的平均功率”这需要对样本集合再做统计平均。2.3 对样本集合取期望得到确定的功率谱密度为了得到一个只依赖于过程统计特性、而不依赖于某一次具体样本的量需要在频域上先做统计平均。于是定义S_X(ω) lim_{T→∞} E[|X_T(ω)|²] / (2T)当这个极限存在时把它叫做随机过程 X(t) 的功率谱密度简称功率谱。这里几点值得拆开看期望必须加在 |X_T(ω)|² 外面因为我们要的是“全体样本在这个频率上的平均功率贡献”而不是某次观测的贡献分母的 2T 来自平均功率对时间的归一化极限保证结果不依赖观察窗口长度。这个定义式非常像一个统计平均版的“单位频率上的功率”和概率密度函数的思路如出一辙。就像概率密度在某个点上的值不能直接当概率看功率谱密度在某个频率点上的值也不能直接当功率看要乘上一小段频带宽度才是这一小段频带里的功率。2.4 关于定义约定的一点提醒功率谱的定义在不同教材里有三种常见风格一是用角频率 ω 的双边谱像上面这样反变换带 1/2π二是用频率 f 的双边谱公式里没有 1/2π 但要对称折半三是工程里常用的单边谱频率从 0 到 ∞幅度是双边谱的两倍。三种写法描述的是同一个物理对象换算不对就会差系数。这篇文章统一用角频率 ω 和双边谱后面所有例子都在这个约定下。3. 维纳-辛钦定理连接自相关与功率谱的桥3.1 直接按定义算实在痛苦按定义式算功率谱等于要完成四步对每个 T 做截断、做傅里叶变换、取模平方、取期望、取极限。这还没算完——大多数随机过程的自相关函数是相对容易建模和分析的而截断后的傅里叶变换则要处理复杂的双重积分。如果每次都从定义式硬算效率太低。维纳和辛钦发现对宽平稳随机过程来说事情可以大幅简化。3.2 定理内容自相关函数的傅里叶变换定理说设 X(t) 是宽平稳随机过程其自相关函数 R_X(τ)E[X(tτ)X(t)] 绝对可积则功率谱密度等于自相关函数的傅里叶变换S_X(ω) ∫_{−∞}^{∞} R_X(τ) e^{−jωτ} dτ反过来自相关函数也可以由功率谱恢复R_X(τ) (1/2π) ∫_{−∞}^{∞} S_X(ω) e^{jωτ} dω换句话说R_X(τ) 和 S_X(ω) 是一对傅里叶变换对。这个结果把“频域分析”和“时域统计”直接联系起来也把计算功率谱的流程缩短为两步先求自相关再对自相关做傅里叶变换。大多数情况下求自相关比求截断谱的期望要容易得多。3.3 推导思路里藏着的几个关键点虽然教材上会给出严格证明但把推导思路捋一遍能避免很多公式上的误解。先从定义式出发写出E[|X_T(ω)|²] E[∫_{−T}^{T} x(t) e^{−jωt} dt · ∫_{−T}^{T} x(s) e^{jωs} ds]交换期望与积分次序得到 ∫∫_{[−T,T]²} R_X(t−s) e^{−jω(t−s)} dt ds接下来做换元令 τt−s积分区域从正方形变成长条带。整理之后除以 2T 并让 T→∞(1−|τ|/2T) 这个三角窗因子会趋于 1剩下的极限正是 R_X(τ) 的傅里叶变换。整个过程有些细节但两个关键点值得记一是期望进积分利用了平稳性把 E[x(t)x(s)] 变成只与时间差有关的 R_X(t−s)二是三角窗因子的存在说明有限观测长度天然会给谱估计带来“窗效应”这和窗函数法做谱估计是同一个道理。3.4 为什么说这是一座“桥”这座桥的意义不只是计算便利。它告诉你随机过程的时域统计量和频域统计量是同一个信息的两种表示R_X(τ) 描述两个时刻之间如何相关S_X(ω) 描述这种相关性在频域里的分布。相关函数衰减越快功率谱就越宽相关函数衰减越慢功率谱就越窄。白噪声的 R_X(τ) 是 δ 函数所以谱是一条水平线缓慢变化的过程 R_X(τ) 拖得很长谱就集中在低频。这种“一个域窄对应另一个域宽”的关系和信号与系统里的时宽带宽积一脉相承。3.5 相关函数不绝对可积怎么办定理的条件是 R_X(τ) 绝对可积。可实际中常遇到不满足这个条件的情况比如自相关函数里含常数项对应直流分量或者含 cos 项对应正弦分量。这时候普通意义下的傅里叶变换不存在但工程上仍然会写功率谱只是谱里会出现 δ 函数。严格来说这需要在广义函数意义下理解但实际使用中大家已经把 δ 函数当作功率谱的一部分。下一节的例子会直接用到这个扩展。4. 功率谱的四条基本性质与物理解读4.1 四条性质一览有了定义和定理接下来看功率谱本身的性质。把最常用的四条列在下面这四条的排列顺序是有讲究的前两条保证“谱”长得像能用的谱第三条联系总功率第四条处理离散分量。性质数学表达物理解读1. 非负性S_X(ω) ≥ 0任意频率处的平均功率贡献不能为负2. 实偶性实过程 S_X(−ω)S_X(ω)正负频率对称负频率是数学表示3. 总功率R_X(0)E[X²(t)](1/2π)∫S_X(ω)dω谱线下的总面积等于平均功率4. 冲激谱线直流/周期分量在 ω0 或 ω±ω₀ 处产生 δ确定性分量的功率集中在离散频率上4.2 非负性与实偶性为什么正负频率是对称的非负性几乎是从定义直接来的|X_T(ω)|² 非负期望保持非负除以 2T 取极限也不会改变非负性。它保证了“功率谱密度”确实是一个密度函数可以像概率密度那样去积分。实偶性则来自实过程的自相关函数是实偶函数R_X(τ)R_X(−τ)实偶函数的傅里叶变换一定也是实偶函数。所以画功率谱时只要画 ω≥0 的半边负半边是它的镜像。工程用的单边谱就是把负半边的功率折到正半边上幅度翻倍。4.3 谱曲线下的总面积随机过程版的帕塞瓦尔第三条性质是把 τ0 代入维纳-辛钦反变换得到的R_X(0)(1/2π)∫S_X(ω)dω。而 R_X(0)E[X²(t)] 就是过程的平均功率。这个等式相当于说功率谱曲线下的总面积除 2π等于信号的平均功率。任何频率上的功率贡献加总起来必须等于总功率这是能量守恒在统计平均意义下的表现。我强烈建议做题时把这条当成标准自查手段算完功率谱之后积分一下看能不能回到 E[X²(t)]。很多计算错误都是在这个过程中暴露的。4.4 加一个线性系统结论输出谱只跟幅度响应有关功率谱还有一个工程上极其常用的推论虽然严格说属于“随机过程通过线性系统”那一节的内容但这里提前放在一起更顺如果 Y(t)X(t)*h(t)即平稳随机过程通过冲激响应为 h(t) 的线性时不变系统那么输出功率谱与输入功率谱满足S_Y(ω) |H(ω)|² S_X(ω)注意输出功率谱只与系统的幅度响应 |H(ω)| 有关相位响应完全不出现。这说明随机信号的功率谱不携带相位信息而相位信息恰恰是很多系统辨识问题的难点所在。白噪声通过带通滤波器后输出功率谱的形状直接就是滤波器幅度响应的平方这也就是“有色噪声”最常见的生产过程。4.5 相关时间与谱宽一枚硬币的两面由于 R_X(τ) 与 S_X(ω) 是傅里叶变换对时域上的“相关时间”和频域上的“谱宽度”必然成反比关系。相关时间长意味着过程变化缓慢功率集中在低频相关时间短意味着过程变化快谱必须铺开。这个反比关系不像确定性信号里的时宽带宽积有严格不等式但在工程估算里非常有用。比如你测得一个随机信号的相关时间大约是 1ms那么它的等效带宽大概就在千赫兹量级这个估算在做系统设计时能帮你快速判断采样率和滤波器带宽是否合理。5. 手算几个典型过程的功率谱5.1 白噪声与频率无关的理想化模型先看最经典的模型。若 X(t) 的自相关函数为 R_X(τ)(N₀/2)δ(τ)那么按维纳-辛钦定理S_X(ω) ∫ (N₀/2) δ(τ) e^{−jωτ} dτ N₀/2功率谱在所有频率上都是常数。这就是白噪声它的谱密度平坦得像白光光谱一样不偏向任何频率。但注意理想白噪声的平均功率 R_X(0) 是无穷大的这意味着它在物理上不存在只是数学上的一种理想化。现实中的“白噪声”指的是在某个感兴趣的宽频带内谱近似平坦比如电子设备热噪声在射频前端关心的频段内通常可以这么近似。这里还要提醒双边谱和单边谱的区别用双边指数约定时谱常数是 N₀/2如果换成单边谱只看 f≥0则是 N₀。5.2 随机相位正弦波δ谱线是怎么来的第二个例子是工程里出现频率极高的模型X(t)A cos(ω₀tΘ)其中 Θ 是 [0,2π] 上的均匀分布随机变量与时间 t 独立。注意随机性全在相位里幅度 A 和频率 ω₀ 都是确定的。求自相关R_X(τ) E[A cos(ω₀tΘ) · A cos(ω₀(tτ)Θ)]用积化和差展开得到 (A²/2)[cos(ω₀τ) E[cos(2ω₀tω₀τ2Θ)]]。对均匀分布的 Θ 来说后一项关于 Θ 的平均是 0所以R_X(τ) (A²/2) cos(ω₀τ)对 cos 函数做傅里叶变换得到S_X(ω) (πA²/2) [δ(ω−ω₀) δ(ωω₀)]总功率验证一下R_X(0)A²/2而把 S_X(ω) 代进积分公式两条 δ 线各自贡献 (1/2π)(πA²/2)A²/4加起来正好 A²/2。这说明正弦分量的功率完全集中在 ±ω₀ 两条谱线上在信号处理术语里就是“窄带干扰”或者“离散谱线”。5.3 一阶低通过程最常用的连续有色噪声模型第三个例子非常有代表性R_X(τ)σ² e^{−α|τ|}其中 α0。这个自相关函数描述了一个“有记忆”的随机过程时间差 τ 越大相关性越弱衰减速度由 α 控制。按维纳-辛钦计算S_X(ω) ∫_{−∞}^{0} σ² e^{(α−jω)τ} dτ ∫_{0}^{∞} σ² e^{−(αjω)τ} dτ σ²/(α−jω) σ²/(αjω) 2ασ²/(α²ω²)这个谱在 ω0 处取最大值 2σ²/α随 ω 增大按 1/ω² 衰减是一个典型的一阶低通形状。α 越大谱越宽α 越小谱越窄。从时域角度看α 大说明相关时间短过程快速起伏频带自然就宽反之亦然。验证总功率利用 ∫ dω/(α²ω²) π/α得到(1/2π) ∫ 2ασ²/(α²ω²) dω σ²与 R_X(0)σ² 一致。这个模型在物理上对应热噪声通过 RC 低通滤波器后的输出也是 Ornstein-Uhlenbeck 过程这类连续时间一阶马尔可夫过程的平稳解。随机过程课程后面讲线性系统、维纳滤波时这个例子几乎会反复出现值得把推导过程背下来。6. 学这部分时最容易踩的坑6.1 把周期图当成功率谱最典型的错误拿到一段随机数据做 FFT取模平方后直接称为“功率谱”。严格说这是周期图periodogram它是功率谱的一个估计而不是功率谱本身。因为没有对样本集合取期望每个时刻得到的周期图都是随机量且方差不会随着数据长度增加而减小谱线会非常毛糙。现实中的解决办法是 Welch 平均法把数据分段、加窗、分别算周期图再平均用平均换方差。学习这节时多问自己一句“期望符号在哪”基本就能避开这个坑。6.2 双边谱与单边谱混用第二常见的问题是谱定义不一致。有人在公式里用双边谱 S_X(ω)积分区间是整个实轴有人用单边谱 S_X(f)积分区间是 f≥0。两者之间的换算关系是单边谱幅度等于双边谱对应频率幅度的两倍。如果从某篇论文里抄了一个功率谱公式又用另一套约定去算平均功率结果很容易差 2 倍。我的习惯是拿到任何谱密度公式先看它配合的功率积分公式是哪一种再决定系数的写法。6.3 能量谱和功率谱分不清能量谱密度 |X(ω)|² 适用于能量有限信号单位是能量每赫兹功率谱密度适用于功率有限信号单位是功率每赫兹。随机过程的样本函数几乎总属于后者。把这两者混在一起最容易出现的现象是一个随机信号的“能量谱”积分出来无穷大或者一个确定性脉冲的“功率谱”积分出来是零。判断方法很简单看你要的是总能量还是平均功率再看积分量纲是否对应。6.4 不检查平稳性直接套定理维纳-辛钦定理成立的前提是宽平稳且自相关函数绝对可积。实际数据里很多信号都不满足语音信号只能短时近似平稳脑电信号常常有趋势项和时变方差直接做全序列的功率谱得到的是一个平均意义下的“假谱”既不能代表开始也不能代表结束。遇到这类数据正确做法是先分段或做预白化在每段上尽量满足平稳性再计算功率谱。课堂上虽然题目都默认平稳但养成检查平稳性的习惯以后做实验数据会少走很多弯路。6.5 δ函数丢了看不出来当自相关函数含有不衰减的分量时比如常数 c 对应直流或者 cos 项对应正弦功率谱里必然对应 δ 函数。很多同学在计算时只写出连续谱部分把 δ 项丢了然后对不上总功率。自查方法是回来检查 R_X(τ)如果 R_X(τ) 在 |τ|→∞ 时不趋于 0说明有确定分量谱里一定有 δ 项如果 R_X(τ) 在 |τ|→∞ 时趋于某个常数则 ω0 处有 δ如果 R_X(τ) 包含周期性振荡则在相应频率处有 δ。6.6 我的自查三步法最后分享一个我自己的固定检查流程。算完 R_X(τ) 和 S_X(ω) 之后花两分钟做三件事。第一看 R_X(0) 是否等于 E[X²(t)]这能拦住均方值计算错误。第二看 R_X(τ) 是否满足 R_X(−τ)R_X(τ)不满足说明自相关函数求错了。第三把 S_X(ω) 积分回去看能否恢复 R_X(τ)这能暴露傅里叶变换对系数约定上的问题。尤其是第三步看似麻烦但很多时候积分回去发现对不上问题往往出在 1/2π 这个系数上——这恰恰是随机过程频域分析里最隐蔽的地方。养成这个习惯之后功率谱的计算错误率会明显下降。
返回列表