Skip to main content

同一場地震,為什麼會算出兩個不同的震度?

· 25 min read
YuYu1015
Full-Stack Engineer (全端工程師)

2026 年 7 月 28 日,熊本外海發生規模 7.1 的地震。日本的強震觀測網記錄下 125 個測站的完整波形,資料完全公開。

我拿其中一站的紀錄,用兩種常見的處理方式各算了一次最大地動速度——這是決定震度的關鍵數字。結果是:

98.92 和 130.83。差了三成。

同一筆資料、同一個公式、同一台電腦。差別只在中間有一個步驟,做法不同。

哪一個才對?我原本以為查一下規定就有答案。結果發現,規定寫到頻率範圍就停了,剩下的得自己往別處找線索。

這篇記錄整個查證過程。沒有程式碼,但有 16 張圖。


先講結論

問題答案
為什麼會差三成?中間那個步驟會把不同頻率的波錯開不同的時間,而「最大值」對這件事極度敏感
哪一個比較接近真實地動?差三成的那個(130.83)比較忠實,但它的波形裡有物理上不可能發生的東西
那台灣的震度該用哪個?用 98.92 那個。理由不是「它比較準」,而是台灣的震度公式當初就是這樣校準的
法規怎麼規定?規定了「濾掉哪個頻率範圍」,濾波方式則屬於實作層面

一、地震儀錄到的東西,不能直接拿來用

地震儀記錄的是加速度——地面每一瞬間被搖動的劇烈程度。以這場地震離震央最近的測站之一為例:

地震儀記錄的三分量加速度波形

地震儀有三個方向:南北、東西、上下。每秒取樣 100 次,這段紀錄有 300 秒、三萬個點。

但這串數字不能直接用,有兩個原因:

  1. 裡面有雜訊。 車輛、風、儀器本身的電子雜訊,都混在裡面。
  2. 要算「速度」得先積分,而積分會失控。 加速度累加成速度時,只要原始資料有一點點微小的偏差,累加幾萬次之後就會漂移到天上去。

所以要濾波——把不需要的頻率成分濾掉。可以想成一個篩子:太高頻的(雜訊)篩掉,太低頻的(漂移)也篩掉,留下地震真正的能量。

聽起來很單純。問題出在篩子有兩種做法


二、兩種濾波:現場直播 vs 錄影後製

做法 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.74447.74431.0000
最大值98.919131.9231.3336

總能量一模一樣到小數第四位,最大值差 33%。

這裡要講清楚,免得誤會

上面的結果不代表「濾波不會改變能量」。濾波當然會改變能量——高通、低通、帶通只要把某個頻段削掉,總能量、平均振動強度、最大值、積分結果全都會跟著變。那本來就是濾波的目的。

這個實驗成立的前提是:兩次處理篩掉的東西完全一樣,只有時間對齊不同。在這個前提下,總能量不變是有數學保證的——因為總能量只取決於「每個頻率剩下多少振幅」,跟「這些成分在時間上怎麼排列」無關。

所以正確的結論要加上條件:

在篩選效果相同的兩種濾波之間比較時,時間錯位會大幅改變瞬時的最大值,但不會改變各頻率的能量分布。 而震度量的,就是「最集中的那一瞬間」。

這個實驗證明的是:直播式與後製式在最大值上的落差,主要來自時間錯位,而不是因為其中一方多濾掉了什麼。它並沒有、也不能證明「濾波不影響能量」。


四、那後製版比較準嗎?

先講它的副作用,這個副作用很嚴重。

零相位濾波產生的前振鈴

右圖放大了 P 波(地震最先到達的波)抵達之前的那幾秒。藍線(直播式)貼著零——地震還沒到,地面本來就不該動。橘線(後製式)卻已經開始晃了。

這個現象叫前振鈴。原因就是「用到未來資料」:處理第 100 個點的時候偷看了第 150 點,於是後面的地震波「洩漏」到了前面。

從「這段波形有可能真的發生嗎」來看,後製版產生了物理上不可能的東西——因還沒發生,果就先出現了。

那後製版有什麼好?它沒有把不同頻率的成分錯開。所以論「最大值有沒有被打散」,後製版比較忠實——最大值留在原本該有的時間點與大小。

兩邊各有代價

所以這件事沒有單一的正確答案。關鍵是兩種做法各自破壞了不同的東西

你在意的事該用但要付的代價
地面真正晃了多大(最大值不被打散)後製式(零相位)波形出現物理上不可能的前振鈴
波形不要出現「因還沒到、果就先到」直播式(因果)各頻率成分之間的相對時間被錯開
即時預警(未來的資料根本還不存在)只能用直播式同上

講白一點:

  • 後製式保住了「各成分的時間關係」,犧牲了「因果順序」。
  • 直播式保住了「因果順序」,犧牲了「各成分的時間關係」。

這裡要特別小心一個容易搞錯的說法:直播式並不代表「時間比較準」。恰恰相反——前面圖 3 已經看到,直播式把慢的成分和快的成分錯開了 3.5 秒。它守住的是「不會無中生有」,不是「時間精確」。


五、125 個測站告訴我們什麼

一個測站看不出全貌。我把這場地震全部 125 個測站都算了兩遍。

125 個測站的比值分布 比值的直方圖

如果直播式濾波「總是低估」,那所有的點應該落在同一側。實際上是 73 站偏低、52 站偏高,幾乎對半。

統計(後製 ÷ 直播)中位數範圍
最大速度1.0200.75 ~ 1.41
最大加速度0.9920.82 ~ 1.05

再做一次控制實驗,把「篩得多寡」的因素也扣掉,只留純粹的時間錯位效應——中位數 1.010、68 站偏低、57 站偏高。

結論:直播式濾波造成的不是系統性低估,而是站站不同、無法預測的亂跳。

好消息是,震度的換算用的是對數,所以速度差三成只換算成大約 0.28 個震度單位。這場地震 125 站裡,換一種算法會跳一級的只有 4 站,而且全部卡在級距的邊界上。


六、那規定是怎麼寫的?

我原本以為這題早就有標準答案,翻一下文件就好。

台灣震度的法定依據是《交通部中央氣象署有感地震報告發布作業要點》的附表〈地震震度分級表〉註2。它把震度的計算寫成九個步驟,其中跟濾波有關的是這兩句:

  1. 資料進行 10Hz 低通濾波處理,適度過濾瞬間振動的高頻訊號。

  2. 將 3 向量原始加速度資料積分至速度,同時進行 0.075Hz 低切濾波移除因積分動作所引進的低頻訊號。

規定寫到「濾掉哪個頻率範圍」為止。 至於用哪一種濾波方式,就落在實作層面了。

這在技術規範裡其實很常見——法規通常界定「要達到什麼結果」,不會把每個實作細節都寫死。留白的部分,就交給慣例和專業判斷。

所以「該用直播式還是後製式」這一題,得往別的地方找線索。

線索在當初訂出震度公式的論文裡

台灣震度公式的兩個係數出自吳逸民教授團隊。翻他們的系列論文:

  • Wu & Kanamori (2005) 對台灣的強震記錄用的是「遞迴式」濾波器——遞迴就是只看過去的意思——而且同一篇論文裡就引用了台灣的震度公式。
  • Wu 等人 (2007) 更直接寫出「單向(one-way)」濾波器。
  • Wu、蕭乃祺與鄧大量 (2004)(這篇是氣象署官方引用的公式出處)寫著氣象局用的是「時域遞迴濾波器,基本上是即時運作的」。

最後這點是關鍵:氣象署要在地震發生後幾十秒內發布各縣市震度,強震即時警報更是以秒計。即時系統不可能取用未來的資料。

不過也要誠實說:當初訂出那兩個係數的論文,並沒有交代他們怎麼處理資料。 所以「因果的慣例被寫進了係數裡」是個合理的推論,而不是白紙黑字。

國際上的做法不太一樣

有趣的是,如果換到國際強震資料的處理慣例,答案反而是相反的:

  • 國際強震資料處理準則(COSMOS, 2004)建議:「一般情況下應使用非因果(後製式)濾波器……若使用因果濾波器(例如即時應用),務必明確載明。」
  • Boore & Akkar (2003) 也推薦後製式。但要注意他們的理由是「直播式的結果對參數選擇太敏感」,不是「最大值比較準」。
  • 也有反方向的研究:有學者發現在條件相同時,兩種做法算出來的地震工程用參數「在統計上無法區分」;而且對於需要精確時間關係的應用(例如定位震央),直播式反而是首選

會有這種分歧,是因為兩邊要的東西不一樣:國際強震資料庫的用途是給工程師做結構分析,追求波形忠實;而震度是要即時發布的公共資訊,追求的是能不能算得出來、以及跟過去的紀錄可不可比。

那到底該用哪個?

回到最實際的問題:如果你要算的是能跟氣象署發布值對照的震度,那就用直播式。

理由不是「它比較準」,而是氣象署的作業環境是即時的(物理上不可能用到未來資料),而震度公式的係數也是在那個環境下校準出來的。要讓數字可比,就得用同一套做法。

比較精確的說法是:

濾掉的頻率範圍依照法規;至於用哪一種濾波,屬於實作選擇——這裡選直播式,是為了與氣象署的作業慣例一致。


七、三種算法並列

查清楚之後,我讓計算同時輸出三組數字,方便交叉比對。

三條處理流程並列 125 站三種算法的比值
三種比較最大加速度中位最大速度中位最大速度離散程度
後製 ÷ 直播0.9921.0200.111
日本規格 ÷ 直播1.0221.0300.113
日本規格 ÷ 後製1.0321.0080.047

最後一列是重點:日本規格和後製式的最大速度只差 0.8%,是三組比較裡最接近的——因為兩者都是後製式,只差在篩掉的頻率範圍略有不同。而任一者跟直播式的差距都在 ±11%。

差異主要來自「有沒有扭曲」,不是來自「篩掉多少」。


八、順便解開日本沒公開的一個謎

日本防災科學技術研究所(NIED)公布了他們計算最大速度用的濾波器參數,但沒說是直播式還是後製式

那就用數字反推。他們公布的其中一個測站,官方最大速度是 131.2。我照他們的規格算兩次:

反推 NIED 的濾波方式
做法算出來與官方差距
後製式131.71+0.39%
直播式93.43−28.8%

日本用的是後製式。 這跟他們引用的那篇 1978 年濾波器設計論文在日本實務上的慣用方式也吻合。

那剩下的 0.39% 呢?我掃了一輪參數,發現濾波器的「強度」幾乎不影響結果(0.35%),但「切在哪個頻率」影響很大(3.9%)。所以那 0.39% 來自我推算的切點跟他們實際用的差了一點點,不是理解錯誤。

完整對照官方公布值

項目NIED 官方公布本文算出差異
觀測開始時刻2026/07/28 16:27:0416:27:04✅ 一致
測站經緯度32.5099 / 130.590832.5099 / 130.5908✅ 一致
最大加速度482.7482.70−0.00%
最大速度131.2131.71+0.39%
日本計測震度5.75.7✅ 一致

除了那 0.39%,其他全部對上。


九、日本的算法濾波器更多,震度卻更高?

順帶破解一個直覺誤區。

日本氣象廳算震度用了三個濾波器,台灣只用兩個。直覺上「濾得越多、剩下越少、震度應該越低」——但實際上同一場地震,日本算出來的震度常常比台灣高。

日本氣象廳的三個濾波器

原因在圖 13 的粉紅線:日本的第三個濾波器不是拿來篩東西的,是拿來放大長週期成分的。三個相乘之後,在「每 1.5~2 秒振動一次」這個頻帶,總增益大於 1——也就是放大。

而大地震的能量正好集中在長週期帶。所以「濾波器比較多」反而讓震度變高。

(另外值得一提:日本的震度算法是在頻率域做的,這種做法天生就是後製式——這不是實作選擇,是法規定義的必然結果。日本氣象廳自己也承認這個方法沒辦法即時,需要即時的時候他們改用另一個近似的量。)


十、台灣震度的定義,其實是一張表不是公式

這是查證過程中另一個意外。

大家常看到的台灣震度公式,其實不是法定定義。法定文件裡只有一張對照表——官方說明白,那張表是把公式算出來的數字「四捨五入並稍做微調方便記憶」之後劃定的。

問題是「稍做微調」在某些地方微調得不少:

官方對照表與公式的偏差
  • 加速度對照表:所有界線與公式吻合到 ±0.013 個震度單位,可以當成等價。
  • 速度對照表:最大偏差 0.106,差了將近十倍。

最關鍵的是 4 級與 5 弱的界線

  • 官方表寫的是:最大速度 15(單位 cm/s)以上算 5 弱
  • 但公式算出來要 16.58 才到 5 弱

所以最大速度落在 15 到 16.58 之間時,套公式會算成 4 級,查官方表卻是 5 弱。 這個區間寬約 10%,而且橫跨在「要不要啟動應變」的門檻上。

要跟法定分級表一致,就得查表,不能直接套公式


十一、資料裡藏的時間陷阱

最後一個,是關於資料本身的。

日本強震網的公開檔案裡有個時間欄位。直覺上會以為那是「這筆資料從幾點幾分幾秒開始」,但其實它是儀器被觸發的時刻,而檔案裡的資料是從觸發前 15 秒開始的。

直接拿那個時間當起點,所有時間戳記會晚 15 秒。

我沒有直接相信文件,用地震波的走時做了驗證:

用走時驗證資料起點
  • 左圖:地震初動出現在每個檔案的第幾秒?中位數 14.39 秒,而且跟測站遠近完全無關。→ 這是一段固定長度的「事前緩衝」。
  • 右圖:那個時間欄位減去發震時刻,隨著測站距離線性增加,換算出來的速度是每秒 5.24 公里——正好是 P 波在地殼裡的速度。→ 這個欄位跟著地震波跑,是觸發時刻,不是資料起點。

兩張圖合起來,只有一種解釋。後來在官方問答裡找到佐證,確實是觸發前 15 秒。

附帶發現

走時驗證還留下一個十幾秒的殘差查不出原因。後來在官方問答找到答案:檔案裡的「發震時刻」只精確到「分」,秒的位置是補 0 上去的。

官方原文寫得很清楚:這些震源資訊的發震時刻只有分的精度,所以秒「補助性地記為 00」。有些資料秒數寫 30,那是為了區分同一分鐘內的兩個地震,不代表有 30 秒的精度

拿它來算走時,當然對不起來。


十二、這場地震的結果

125 個測站的震度分布

把 125 個測站的紀錄全部換算成台灣的震度標準,分布如上。震央附近的熊本測站群最高達 6 弱,隨距離往外遞減到 3 級、2 級。


給讀者的重點

如果你只想記三件事:

  1. 「最大值」比你想的脆弱。 同一筆資料、在篩掉的東西完全相同的前提下,只要把不同頻率的波錯開幾秒,最大值就可以差三成。所以看到不同單位公布的地震參數對不起來,未必有誰算錯,可能只是處理方式不同。

  2. 震度是一套「約定」,不只是一個物理量。 台灣的震度公式是用特定的處理方式校準出來的。換一種處理方式,數字也許更接近真實地動,但反而偏離了震度的定義。所以「哪個比較準」跟「哪個該用」是兩個不同的問題。

  3. 規範不會寫到每個細節。 台灣的法規寫到頻率範圍為止,濾波方式屬於實作層面;日本則沒有公開濾波的相位特性。這很正常——但也意味著想算得跟官方一致,只能把一手文件從頭讀過,必要時用數字反推。


參考資料

官方文件

台灣

  1. 交通部中央氣象署,《有感地震報告發布作業要點》附表〈地震震度分級表〉註2/註3/註4。最新修正:中華民國112年10月16日中象地字第1120051308號函;震度分級表自 109/1/1 施行。
  2. 交通部中央氣象局,《震度新分級 應變更實用》新聞稿,2019-12-18。
  3. 蕭乃祺,《我國新地震震度分級制度》,中央氣象局地震測報中心。
  4. 中央氣象署,《小區域有感地震報告資料說明 E-A0016-001》。

日本

  1. 平成八年二月十五日 気象庁告示第四号(計測震度的法定定義)。全文引用於:気象庁,《「震度に関する検討会」報告書》参考5。
  2. 気象庁,計測震度の算出方法
  3. 気象庁地震火山部,《緊急地震速報の概要や処理手法に関する技術的参考資料》令和6年4月11日。
  4. 気象庁,長周期地震動の絶対速度応答最大値の計算方法(長周期地震動に関する情報検討会 第4回 別添資料3)。
  5. 気象庁,長周期地震動階級について
  6. 気象庁,速度波形・変位波形の求め方
  7. 防災科学技術研究所,K-NET・KiK-net 質問集(最大加速度與最大速度的計算方法、記錄開始時刻、發震時刻的精度)。
  8. 防災科学技術研究所,K-NET ASCII フォーマットについて

國際

  1. Shakal, A., Boore, D. M., Chiou, B., Iwan, W. D., O'Connell, D. R. H., & Stepp, J. C. (2004). COSMOS Summary Guidelines and Recommendations for Strong-Motion Records Processing. COSMOS Newsletter 11: 3–5.
  2. USGS National Strong-Motion Project — Data Processing

學術論文

台灣震度公式的來源

  1. Wu, Y.-M., Teng, T.-L., Shin, T.-C., & Hsiao, N.-C. (2003). Relationship between Peak Ground Acceleration, Peak Ground Velocity, and Intensity in Taiwan. Bulletin of the Seismological Society of America, 93(1), 386–396. doi:10.1785/0120020097
  2. Wu, Y.-M., Hsiao, N.-C., & Teng, T.-L. (2004). Relationships between Strong Ground Motion Peak Values and Seismic Loss during the 1999 Chi-Chi, Taiwan Earthquake. Natural Hazards, 32, 357–373.
  3. Wu, Y.-M., & Kanamori, H. (2005). Rapid Assessment of Damage Potential of Earthquakes in Taiwan from the Beginning of P Waves. BSSA, 95(3), 1181–1185.
  4. Wu, Y.-M., Kanamori, H., Allen, R. M., & Hauksson, E. (2007). Determination of earthquake early warning parameters, τc and Pd, for southern California. Geophysical Journal International, 170(2), 711–717.
  5. Yang, B. M., Mittal, H., & Wu, Y.-M. (2021). Real-Time Production of PGA, PGV, Intensity, and Sa Shakemaps Using Dense MEMS-Based Sensors in Taiwan. Sensors, 21(3), 943.
  6. 徐明同(1979)。《地震學》。黎明文化,pp. 16–26。

兩種濾波方式的比較

  1. Boore, D. M., & Akkar, S. (2003). Effect of causal and acausal filters on elastic and inelastic response spectra. Earthquake Engineering & Structural Dynamics, 32(11), 1729–1748. doi:10.1002/eqe.299
  2. Boore, D. M., & Bommer, J. J. (2005). Processing of strong-motion accelerograms: needs, options and consequences. Soil Dynamics and Earthquake Engineering, 25, 93–115.
  3. Ancheta, T. D., et al. (2014). NGA-West2 Database. Earthquake Spectra, 30(3), 989–1005.
  4. Chiou, B., Darragh, R., Gregor, N., & Silva, W. NGA Project Strong-Motion Database. Earthquake Spectra.(引述 Bazzurro et al., 2004 的結論)

其他

  1. Nigam, N. C., & Jennings, P. C. (1969). Calculation of response spectra from strong-motion earthquake records. BSSA, 59(2), 909–922.
  2. Kunugi, T., Aoi, S., Nakamura, H., Fujiwara, H., & Morikawa, N. (2008). A Real-Time Processing of Seismic Intensity. 地震 2輯, 60(4), 243–252. doi:10.4294/zisin.60.243
  3. 功刀卓ほか(2013)。震度のリアルタイム演算に用いられる近似フィルタの改良。地震 2輯, 65, 223–230。
  4. 斎藤正徳(1978)。漸化式デジタル・フィルターの自動設計。物理探鉱, 31(4), 240–263。

沒能查到的部分

誠實說明幾個查不到的環節:

  • Kanamori、Maechling 與 Hauksson (1999)BSSA 89, 311–316——這篇是氣象局速度計算的原始出處,很可能才是釘死當年做法的關鍵,但取不到全文。
  • 徐明同(1979)《地震學》——加速度關係式的源頭,是中文教科書、沒有線上版本。整套台灣震度分級等於錨定在一份查不到的 1979 年迴歸上。
  • 斎藤正徳(1978)原文——紙本日文期刊。若能取得,應該可以完全消掉第八節那 0.39% 的殘差。
  • 大樣本的兩種濾波比較統計——目前找得到的公開比較只有 4 筆紀錄。本文的 125 站統計可能是手上最大的樣本。

資料來源

本文使用的地震紀錄全部來自日本防災科學技術研究所(NIED)的 K-NET 強震觀測網,公開資料。2026 年 7 月 28 日熊本 M7.1,125 個測站、每站三分量、每秒 100 個取樣點。

所有數字都可以從公開資料重現。文中引用的法規原文,是把 PDF 的文字全部抽出來逐字比對的結果,不是依賴搜尋摘要。