在上一篇搞懂交流電壓為什麼要用「有效值 (RMS)」?後,在設計智慧電網監控或電源控制器時,經常需要 MCU 讀取交流電壓的有效值 (RMS)。但這裡有個有趣的事情:教科書上的 RMS 公式是「連續函數」,而 MCU 卻只能處理「離散數據」。
今天我們來聊聊,如何將數學公式,「翻譯」成 MCU 看得懂的指令。
數位世界的本質:用「點」來逼近「線」
類比訊號是連續的時間函數 V(t),但數位 IC 的本質是離散(Discrete)的。
想像一下用 Excel 的折線圖:
- 如果半個週期只取 5 個點,畫出來的圖形會像鋸齒。
- 如果取 21 個點,圖形開始接近標準正弦波 V(θ) = Vₚ*sin(θ)。
- 關鍵結論: 取得的離散點(採樣點)越多,就越能精準還原那個連續的真實世界。

轉換公式的翻譯
要把 RMS 公式寫進程式碼,需要進行一場「連續」到「離散」的轉換。首先再看一次有效值的公式定義,接著討論如何轉換?

1. 函數的轉變:從 V(t)到 V[n]
- 連續世界:V(t) 代表時間軸上無窮無盡的電壓變化。
- 數位世界:我們透過採樣(Sampling),在特定時間點記錄數值,變成一個陣列V[1], V[2], ..., V[N]。
- 對應關係:原本的連續變數 (t )變成了離散的索引 (n)。
2. 運算的轉變:從積分∫到累加∑
- 連續世界:積分是在計算波形下方的「面積」,代表數值的累積。
- 數位世界:數位系統沒有面積的概念,只有數值的加總。我們把每一個採樣點平方後全部加起來。
- 對應關係:∫ dt ⟹ ∑ₙ₌₁ᴺ
3. 時間與數量的轉變:從週期 T到樣本數 N
- 連續世界:1/T 是取一個完整時間週期的平均。
- 數位世界:在數位計算中,不知道精確的時間流逝,但知道採樣了多少個點。
- 對應關係:將總數值除以採樣點數 N,就是數位的平均概念。
在 MCU 裡,計算 RMS 的步驟是:「平方 → 累加 → 除以 N → 開根號」。而累加 → 除以 N近似連續函數的平均,因此在MCU的程式碼裡執行的離散RMS公式如下:

總結對兩者應關係如下:

增加採樣點數,就像是把電影的畫質從 480p 提升到 4K。在固定間裡,點數越多能捕捉到的波形就越完整,計算出的有效值也就越接近真實波形,如下表用取點數多寡,用離散運算有效值對效真實的有效值,結果就能驗證這個觀點。

為了讓數位計算能完美還原 240Vrms的波形,我們必須在 8.33ms內塞入至少 91 個數據點。換算下來,MCU 的採樣頻率必須高於 10.8kHz(即採樣間隔 Tₛ < 92.55μs)。只要間隔稍微慢一點,採樣點數不足,計算出的有效值就會因資訊遺漏而偏離真實值。
結語
數位系統雖然沒有「連續」的概念,但透過高頻率的採樣與離散運算,就能以極高的精度模擬出連續函數的結果。





















