数学基础(一):简谐振荡的复数表示、相位与传播常数
各位好,欢迎来到第二章。
说实话,耦合模理论的核心就是处理「波」之间的相互作用。而波这东西,最基础的形式就是简谐振荡。你想想看,光波、声波、微波,本质上都是不同频率的简谐振动在空间中的传播。
这一章我们先把数学工具备好。别嫌基础,我见过不少工程师在推导耦合模方程时,被相位符号搞晕,最后整个模型都错了。嗯,咱们从根上把它理清楚。
2.1 为什么用复数表示简谐振荡?
先问一个问题:一个正弦波 A·cos(ωt + φ),你打算怎么在公式里对它做微分、积分、加减运算?
用三角函数硬算?当然可以,但你会很快发现,乘除法、微积分操作会让表达式变得极其臃肿。尤其是当多个不同频率、不同相位的波叠加时,三角恒等式能把你逼疯。
我个人习惯,从一开始就把所有振荡量写成复数形式:
Ã(t) = A·e^(j(ωt + φ))
其中 j = √(-1)(在光学工程里我们通常用 j,而不是 i,避免和电流符号混淆)。
真正的物理量是它的实部:
A(t) = Re[Ã(t)] = A·cos(ωt + φ)
为什么要多此一举?因为复指数函数在微积分下性质极好:
- 微分:d/dt e^(jωt) = jω·e^(jωt) —— 相当于乘一个 jω
- 积分:∫e^(jωt) dt = (1/jω)·e^(jωt) —— 相当于除一个 jω
- 线性叠加:直接相加,实部自动对应物理叠加
核心思想:复数表示把三角函数的非线性运算,变成了复数的线性代数运算。这是整个波动理论的数学基石。
我在做光纤耦合器仿真时,一开始用三角函数写耦合方程,结果推导了整整两页纸还乱七八糟。后来全部换成复数形式,三行就搞定了。从此我再也没用三角函数写过波动方程。
2.2 相位:波的「内在时钟」
相位 φ 是什么?说白了,就是波在时间轴上的「起点位置」。
两个同频率的波,如果相位相同,它们相加会增强(相长干涉);如果相位相反,它们会抵消(相消干涉)。耦合模理论里,相位关系直接决定了能量是「从一个波导转移到另一个」,还是「来回振荡」。这一点极其关键。
我们通常把相位写成:
θ(t) = ωt + φ
其中:
- ωt:随时间线性增长的动态相位
- φ:初始相位,常数偏移
相位差 Δφ = φ₂ - φ₁ 决定了两个波的相对关系:
| Δφ | 物理效果 | 应用场景 |
|---|---|---|
| 0 | 完全相长干涉 | 谐振腔模式匹配 |
| π | 完全相消干涉 | 抗反射涂层设计 |
| π/2 | 正交(能量交换最大) | 定向耦合器 |
| 任意值 | 部分干涉 | 一般耦合系统 |
实战技巧:在仿真代码中,我习惯把所有相位统一到 [-π, π] 区间,避免相位缠绕(phase wrapping)导致的跳变错误。用 angle() 函数提取相位时,注意它返回的就是这个区间。
2.3 传播常数 β:空间中的相位积累
前面讨论的是时间上的振荡。但波还在空间里跑呢。
传播常数 β 描述的是波沿传播方向每单位长度积累的相位:
E(z, t) = A·e^(j(ωt - βz + φ))
注意这里的负号:-βz 表示波沿 +z 方向传播。如果写成 +βz,那就是沿 -z 方向传播的波。
β 和波长 λ、波数 k 的关系:
β = 2π / λ = n·k₀
其中 k₀ = 2π/λ₀ 是真空中的波数,n 是介质的折射率。
为什么 β 这么重要?因为在耦合模理论中,两个模式之间的相位匹配条件就是:
β₁ ≈ β₂
如果两个模式的传播常数相差太大,它们之间的能量交换效率会急剧下降。我做过一个波导耦合器项目,仿真结果始终不对,折腾了两天,最后发现是两根波导的折射率差了 0.001,导致 β 失配,耦合长度完全变了。嗯,这种坑踩过一次就记住了。
2.4 复数振幅与慢变包络近似
在实际工程中,我们通常把快速振荡部分 e^(jωt) 和 e^(-jβz) 分离出去,只关心振幅的缓慢变化:
E(z, t) = A(z)·e^(j(ωt - β₀z))
这里的 A(z) 就是慢变包络(Slowly Varying Envelope)。它随 z 的变化远慢于 e^(-jβ₀z) 的振荡。
这样做的好处:
- 数值仿真时,步长可以取大一些,不用每个波长都采样几十个点
- 物理意义清晰:A(z) 的模平方正比于功率流
- 耦合模方程直接写成关于 A(z) 的一阶微分方程组,简洁优雅
注意:慢变包络近似成立的前提是,介质的折射率变化足够缓慢,或者耦合足够弱。如果遇到强耦合或突变界面(比如布拉格光栅),这个近似会失效,需要改用传输矩阵法或严格耦合波分析(RCWA)。
2.5 本章知识结构图
下面这张图把本章的核心概念串起来了。你可以把它当作一个思维导图:
2.6 小结与避坑
这一章的内容,说白了就三件事:
- 用复数表示波 —— 简化运算,避免三角函数的繁琐
- 理解相位 —— 它是干涉和耦合的「开关」
- 掌握传播常数 β —— 它是相位匹配的判据
我曾经踩过的坑:
- 在写耦合模方程时,忘了统一参考相位。两个模式的初始相位差没对齐,结果算出来的耦合长度差了 30%。后来我养成了习惯:所有模式都以 z=0 处的相位为基准。
- 传播常数 β 的单位搞混。有时候用 rad/m,有时候用 rad/μm,数值差 10⁶ 倍。建议全程用 μm 做单位,光波导器件尺寸通常在这个量级。
- 复数振幅的模平方代表功率,但要注意归一化。不同文献对振幅的归一化方式不同,有的用电场强度,有的用功率开方。做仿真前先确认清楚。