做法 A:只能看過去(因果)
處理到第 100 個資料點時,只准使用第 1 到第 100 點。不准偷看後面。
這就像現場直播——主播只能根據已經發生的事情反應,不可能知道三秒後會發生什麼。
地震預警系統只能這樣做。地震還在發生,未來的資料根本還不存在。
このコンテンツはまだ日本語訳がありません。
2026 年 7 月 28 日,日本熊本縣熊本地方發生規模 7.1 的地震,日本氣象廳命名為「令和 8 年熊本地震」。震源在內陸、深度約 16 公里,研判為日奈久斷層帶錯動,最大震度 7(宇城市、氷川町)。日本的強震觀測網記錄下 125 個測站的完整波形,資料完全公開。
我拿其中一站的紀錄,用兩種常見的處理方式各算了一次最大地動速度——這是決定震度的關鍵數字。結果是:
98.92 和 130.83。差了三成。
同一筆資料、同一個公式、同一台電腦。差別只在中間有一個步驟,做法不同。
哪一個才對?我原本以為查一下規定就有答案。結果發現,規定寫到頻率範圍就停了,剩下的得自己往別處找線索。
這篇記錄整個查證過程。沒有程式碼,但有 16 張圖。
| 問題 | 答案 |
|---|---|
| 為什麼會差三成? | 中間那個步驟會把不同頻率的波錯開不同的時間,而「最大值」對這件事極度敏感 |
| 哪一個比較接近真實地動? | 差三成的那個(130.83)比較忠實,但它的波形裡有物理上不可能發生的東西 |
| 那台灣的震度該用哪個? | 用 98.92 那個。理由不是「它比較準」,而是台灣的震度公式當初就是這樣校準的 |
| 法規怎麼規定? | 規定了「濾掉哪個頻率範圍」,濾波方式則屬於實作層面 |
地震儀記錄的是加速度——地面每一瞬間被搖動的劇烈程度。以這場地震離震央最近的測站之一為例:

地震儀有三個方向:南北、東西、上下。每秒取樣 100 次,這段紀錄有 300 秒、三萬個點。
但這串數字不能直接用,有兩個原因:
所以要濾波——把不需要的頻率成分濾掉。可以想成一個篩子:太高頻的(雜訊)篩掉,太低頻的(漂移)也篩掉,留下地震真正的能量。
聽起來很單純。問題出在篩子有兩種做法。
做法 A:只能看過去(因果)
處理到第 100 個資料點時,只准使用第 1 到第 100 點。不准偷看後面。
這就像現場直播——主播只能根據已經發生的事情反應,不可能知道三秒後會發生什麼。
地震預警系統只能這樣做。地震還在發生,未來的資料根本還不存在。
做法 B:可以看未來(零相位)
先把整段錄完,再從頭到尾濾一次、然後反過來從尾到頭再濾一次。第二次等於用到了「未來」的資料。
這就像錄影後製——整集拍完了,剪接師可以先看完再回頭調整任何一格。

圖 1 是把一個「瞬間敲擊」丟進兩種濾波器看反應。上圖(直播式)敲下去之後才有反應,很合理。下圖(後製式)敲擊還沒發生,就已經有反應了——因為它用到了未來的資料。
有人會問:那能不能做一個「只看過去、又完全不扭曲」的濾波器?
對這裡用的這一類濾波器來說,不行。
規格用的是遞迴式濾波器
台灣和日本的規格用的都是遞迴式濾波器:少數幾個係數反覆套用、計算極省,適合即時。
只能看過去,就受一條硬性限制
只要一個遞迴式濾波器是「只能看過去」的,它的扭曲程度就被它的篩選效果決定了,沒得選。
完全不扭曲,就等於什麼都不做
唯一完全不扭曲的「只看過去」遞迴濾波器,是「什麼都不做」。只要你真的想篩掉什麼,就一定會產生扭曲。

圖 2 左邊是「篩掉了多少」——兩種做法差不多。右邊是「扭曲了多少」——直播式(藍線)扭曲很大,後製式(橘線)是一條零。
這就是全部的差別。 篩選效果一樣,扭曲不一樣。
「扭曲」具體是什麼意思?我實際量了一下:拿標準的正弦波餵進濾波器,看它出來時被移動了多少時間。

| 波的頻率 | 被移動 |
|---|---|
| 每 10 秒振動一次 | −3.43 秒 |
| 每 5 秒振動一次 | −0.75 秒 |
| 每 2 秒振動一次 | −0.09 秒 |
| 每秒振動 1 次 | 幾乎不動 |
| 每秒振動 2 次 | +0.03 秒 |
地震波的能量主要就落在這個範圍。同一段波形裡,慢的成分和快的成分被錯開了 3.5 秒。
這才是重點。地動的最大值不是某一個頻率造成的,而是很多不同頻率的波,剛好在某一瞬間同時到達波峰、疊加起來的結果。
像一群人推車:大家同時用力,車就衝出去;錯開幾秒各推各的,車就只是晃兩下。

圖 4 上半是四個頻率的波同時到達波峰,疊出 3.20 的高峰。下半是同樣那四個波,只是照圖 3 的量錯開時間——最大值掉到 2.18。
這裡我只是把四個波在時間上平移,沒有削掉任何成分——所以能量一點都沒少,純粹是不同步造成的。
上面是示意圖。要證明差異純粹來自「錯開時間」而不是「篩掉了東西」,得做一個更乾淨的實驗。
我用完全相同的濾波器跑了兩次,唯一的差別是第二次把「扭曲」那部分拿掉——篩掉的東西一模一樣,只有時間對齊不同。

| 同一段速度波形 | 有扭曲(直播式) | 無扭曲(後製式) | 比值 |
|---|---|---|---|
| 總能量 | 7.7444 | 7.7443 | 1.0000 |
| 最大值 | 98.919 | 131.923 | 1.3336 |
總能量到小數第三位完全相同(7.744),最大值差 33%。
先講它的副作用,這個副作用很嚴重。

右圖放大了 P 波(地震最先到達的波)抵達之前的那幾秒。藍線(直播式)貼著零——地震還沒到,地面本來就不該動。橘線(後製式)卻已經開始晃了。
這個現象叫前振鈴。原因就是「用到未來資料」:處理第 100 個點的時候偷看了第 150 點,於是後面的地震波「洩漏」到了前面。
從「這段波形有可能真的發生嗎」來看,後製版產生了物理上不可能的東西——因還沒發生,果就先出現了。
那後製版有什麼好?它沒有把不同頻率的成分錯開。 所以論「最大值有沒有被打散」,後製版比較忠實——最大值留在原本該有的時間點與大小。
所以這件事沒有單一的正確答案。關鍵是兩種做法各自破壞了不同的東西:
| 你在意的事 | 該用 | 但要付的代價 |
|---|---|---|
| 地面真正晃了多大(最大值不被打散) | 後製式(零相位) | 波形出現物理上不可能的前振鈴 |
| 波形不要出現「因還沒到、果就先到」 | 直播式(因果) | 各頻率成分之間的相對時間被錯開 |
| 即時預警(未來的資料根本還不存在) | 只能用直播式 | 同上 |
講白一點:
一個測站看不出全貌。我把這場地震全部 125 個測站都算了兩遍。


如果直播式濾波「總是低估」,那所有的點應該落在同一側。實際上是 73 站偏低、52 站偏高,幾乎對半。
| 統計(後製 ÷ 直播) | 中位數 | 範圍 |
|---|---|---|
| 最大速度 | 1.020 | 0.75 ~ 1.41 |
| 最大加速度 | 0.992 | 0.82 ~ 1.05 |
再做一次控制實驗,把「篩得多寡」的因素也扣掉,只留純粹的時間錯位效應——中位數 1.010、68 站偏低、57 站偏高。
結論:直播式濾波造成的不是系統性低估,而是站站不同、無法預測的亂跳。
我原本以為這題早就有標準答案,翻一下文件就好。
台灣震度的法定依據是《交通部中央氣象署有感地震報告發布作業要點》的附表〈地震震度分級表〉註2。它把震度的計算寫成九個步驟,其中跟濾波有關的是這兩句:
資料進行 10Hz 低通濾波處理,適度過濾瞬間振動的高頻訊號。
將 3 向量原始加速度資料積分至速度,同時進行 0.075Hz 低切濾波移除因積分動作所引進的低頻訊號。
規定寫到「濾掉哪個頻率範圍」為止。 至於用哪一種濾波方式,就落在實作層面了。
這在技術規範裡其實很常見——法規通常界定「要達到什麼結果」,不會把每個實作細節都寫死。留白的部分,就交給慣例和專業判斷。
所以「該用直播式還是後製式」這一題,得往別的地方找線索。
台灣震度公式的兩個係數出自吳逸民教授團隊。翻他們的系列論文:
| 論文 | 寫了什麼 |
|---|---|
| Wu & Kanamori (2005) | 對台灣的強震記錄用的是「遞迴式」濾波器——遞迴就是只看過去的意思——而且同一篇論文裡就引用了台灣的震度公式。 |
| Wu 等人 (2007) | 更直接寫出「單向(one-way)」濾波器。 |
| Wu、蕭乃祺與鄧大量 (2004) | 這篇是氣象署官方引用的公式出處。寫著氣象局用的是「時域遞迴濾波器,基本上是即時運作的」。 |
最後這點是關鍵:氣象署要在地震發生後幾十秒內發布各縣市震度,強震即時警報更是以秒計。即時系統不可能取用未來的資料。
換到國際強震資料的處理慣例,答案反而是相反的:
| 來源 | 立場 |
|---|---|
| 國際強震資料處理準則(COSMOS, 2004) | 「一般情況下應使用非因果(後製式)濾波器……若使用因果濾波器(例如即時應用),務必明確載明。」 |
| Boore & Akkar (2003) | 也推薦後製式。理由是「直播式的結果對參數選擇太敏感」,不是「最大值比較準」。 |
| 反方向的研究 | 有學者發現,條件相同時,兩種做法算出來的地震工程用參數「在統計上無法區分」。需要精確時間關係的應用(例如定位震央),直播式反而是首選。 |
會有這種分歧,是因為兩邊要的東西不一樣:國際強震資料庫的用途是給工程師做結構分析,追求波形忠實;而震度是要即時發布的公共資訊,追求的是能不能算得出來、以及跟過去的紀錄可不可比。
回到最實際的問題:如果你要算的是能跟氣象署發布值對照的震度,那就用直播式。
查清楚之後,我讓計算同時輸出三組數字,方便交叉比對。


| 三種比較 | 最大加速度中位 | 最大速度中位 | 最大速度離散程度 |
|---|---|---|---|
| 後製 ÷ 直播 | 0.992 | 1.020 | 0.111 |
| 日本規格 ÷ 直播 | 1.022 | 1.030 | 0.113 |
| 日本規格 ÷ 後製 | 1.032 | 1.008 | 0.047 |
最後一列是重點:日本規格和後製式的最大速度只差 0.8%,是三組比較裡最接近的——因為兩者都是後製式,只差在篩掉的頻率範圍略有不同。而任一者跟直播式比,離散程度都在 ±11% 上下(個別測站最多可差到 −25% ~ +41%)。
差異主要來自「有沒有扭曲」,不是來自「篩掉多少」。
日本防災科學技術研究所(NIED)公布了他們計算最大速度用的濾波器參數,但沒說是直播式還是後製式。
那就用數字反推。他們公布的其中一個測站,官方最大速度是 131.2。我照他們的規格算兩次:

| 做法 | 算出來 | 與官方差距 |
|---|---|---|
| 後製式 | 131.71 | +0.39% |
| 直播式 | 93.43 | −28.8% |
日本用的是後製式。 這跟他們引用的那篇 1978 年濾波器設計論文在日本實務上的慣用方式也吻合。
那剩下的 0.39% 呢?我掃了一輪參數:
| 掃的參數 | 對結果的影響 |
|---|---|
| 濾波器的「強度」 | 0.35% |
| 「切在哪個頻率」 | 3.9% |
強度幾乎不影響結果,切點影響很大。所以那 0.39% 來自我推算的切點跟他們實際用的差了一點點,不是理解錯誤。
| 項目 | NIED 官方公布 | 本文算出 | 差異 |
|---|---|---|---|
| 資料起點時刻 | 2026/07/28 16:27:04 | 16:27:04 | 一致 |
| 測站經緯度 | 32.5099 / 130.5908 | 32.5099 / 130.5908 | 一致 |
| 最大加速度 | 482.7 | 482.70 | −0.00% |
| 最大速度 | 131.2 | 131.71 | +0.39% |
| 日本計測震度 | 5.7 | 5.7 | 一致 |
除了那 0.39%,其他全部對上。
順帶破解一個直覺誤區。
日本氣象廳算震度用了三個濾波器,台灣只用兩個。直覺上「濾得越多、剩下越少、震度應該越低」——但實際上同一場地震,日本算出來的震度常常比台灣高。

原因在圖 13 的粉紅線:日本的第三個濾波器不是拿來篩東西的,是拿來放大長週期成分的。三個相乘之後,在「每 1 ~ 2.5 秒振動一次」這個頻帶,總增益大於 1——也就是放大,尖峰落在每 1.6 秒振動一次,增益約 1.17 倍。
而大地震的能量正好集中在長週期帶。所以「濾波器比較多」反而讓震度變高。
這是查證過程中另一個意外。
大家常看到的台灣震度公式,其實不是法定定義。法定文件裡只有一張對照表——官方說明白,那張表是把公式算出來的數字「四捨五入並稍做微調方便記憶」之後劃定的。
問題是「稍做微調」在某些地方微調得不少:

| 對照表 | 和公式差多少 |
|---|---|
| 加速度 | 所有界線吻合到 ±0.013 個震度單位,可以當成等價 |
| 速度 | 最大偏差 0.106,是加速度表的八倍 |
要跟法定分級表一致,就得查表,不能直接套公式。
最後一個,是關於資料本身的。
日本強震網的公開檔案裡有個時間欄位。直覺上會以為那是「這筆資料從幾點幾分幾秒開始」,但其實它是儀器被觸發的時刻,而檔案裡的資料是從觸發前 15 秒開始的。
直接拿那個時間當起點,所有時間戳記會晚 15 秒。
我沒有直接相信文件,用地震波的走時做了驗證:

左圖:初動出現在檔案的第幾秒
地震初動出現在每個檔案的第幾秒?中位數 14.39 秒,而且跟測站遠近完全無關。這是一段固定長度的「事前緩衝」。
右圖:時間欄位減去發震時刻
差值隨著測站距離線性增加,換算出來的速度是每秒 5.24 公里——正好是 P 波在地殼裡的速度。這個欄位跟著地震波跑,是觸發時刻,不是資料起點。
兩張圖合起來,只有一種解釋
後來在 NIED 的〈K-NET ASCII 格式說明〉找到白紙黑字:「この時刻はトリガー収録を開始した時刻を表しており、公開データはトリガーの 15 秒前からのデータを含んでいます」「データ先頭の時刻はこの時刻から 15 秒を引いてください」。

把 125 個測站的紀錄全部換算成台灣的震度標準,分布如上。震央附近的熊本測站群最高達 6 強,隨距離往外遞減到 3 級、2 級。
如果你只想記三件事:
「最大值」比你想的脆弱。 同一筆資料、在篩掉的東西完全相同的前提下,只要把不同頻率的波錯開幾秒,最大值就可以差三成。所以看到不同單位公布的地震參數對不起來,未必有誰算錯,可能只是處理方式不同。
震度是一套「約定」,不只是一個物理量。 台灣的震度公式是用特定的處理方式校準出來的。換一種處理方式,數字也許更接近真實地動,但反而偏離了震度的定義。所以「哪個比較準」跟「哪個該用」是兩個不同的問題。
規範不會寫到每個細節。 台灣的法規寫到頻率範圍為止,濾波方式屬於實作層面;日本則沒有公開濾波的相位特性。這很正常——但也意味著想算得跟官方一致,只能把一手文件從頭讀過,必要時用數字反推。
台灣
日本
國際
台灣震度公式的來源
兩種濾波方式的比較
其他
誠實說明幾個查不到的環節:
本文使用的地震紀錄全部來自日本防災科學技術研究所(NIED)的 K-NET 強震觀測網,公開資料。2026 年 7 月 28 日熊本 M7.1,125 個測站、每站三分量、每秒 100 個取樣點。
所有數字都可以從公開資料重現。文中引用的法規原文,是把 PDF 的文字全部抽出來逐字比對的結果,不是依賴搜尋摘要。