Distributed-Acoustic-Sensing-Geophysics

分布式聲學感知地球物理:利用既有光纖電纜作為密集地震感測陣列,進行地層結構反演、微震監測與城市地下空間成像。

FIBER OPTIC ARRAY · 10 km · 2-m SPACING
5,000 VIRTUAL SENSORS · STRAIN RATE: 10⁻⁹
SPATIAL RES2 m分散式聲學感知的等效感測器間距
RANGE50 km單一DAS詢問器可監測的最長光纖距離
STRAIN SENS10⁻⁹ ε/√HzDAS系統的應變靈敏度噪聲底限
CHANNELS25,00050 km光纖上的等效感測通道總數

以光纖聆聽地球的脈搏

我們腳下的大地並非沉默——它無時無刻不在震動:遠方地震傳來的微弱P波、城市交通引起的高頻地面噪聲、地下水遷移產生的極低頻應變訊號。傳統地震儀能捕捉這些訊號,但受限於部署密度——一座城市可能僅有數十台地震儀,空間解析度不足以解析精細的地下結構。分散式聲學感知(Distributed Acoustic Sensing, DAS)將長達數十公里的既有光纖電纜轉化為數萬個虛擬地震感測器,以一公尺級的空間解析度繪製地下振動的三維波場。

DAS的物理原理是瑞利背向散射(Rayleigh Backscattering)——詢問器向光纖發射高相干性的雷射脈衝,當脈衝沿光纖傳播時,光纖材料中固有的微觀折射率不均勻性會將一小部分光能量反射回來。當地面振動使光纖發生微小的拉伸或壓縮時,相鄰兩個散射點之間的相對相位隨之變化,通過連續監測相位差的時間演化,就可以反推出光纖沿線的應變率時空分佈。

從訊號到大陸地殼成像

DAS在固體地球物理中的革命性應用來自於其將被動電信基礎設施轉化為主動科學儀器的能力。一條橫跨城市的暗光纖(dark fiber)——電信公司鋪設但未投入使用的備用光纖——可以被租用於地震監測,無需在街道上挖掘新的佈線。在2018年的一個里程碑實驗中,加州理工學院的研究團隊利用一條穿越長灘市的20公里暗光纖,在短短數月內記錄了數千次微震事件,其空間解析度相當於每兩米一個地震儀。

這對於城市地震災害評估具有直接意義——傳統的場址效應評估(site effect assessment)依賴於在少數點位進行的微地動量測,而DAS可以提供連續的VS30剪力波速剖面,精確定位城市中哪些區域會在地震中經歷最強的場址放大效應。

Fiber optic sensing
Fig 1. DAS系統的部署示意圖:詢問器連接既有光纖,將電信基礎設施轉化為地震感測陣列Source: Unsplash

波場分離與反演

DAS產生的是海量資料——一條50公里光纖在100 Hz取樣率下每天產生約2 TB的原始資料。從這些資料中提取有用的地球物理資訊需要精巧的訊號處理技術。波場分離(wavefield separation)是第一步:使用頻率-波數(f-k)濾波將沿光纖傳播的表面波與來自地下的體波分離;延遲疊加(delay-and-stack)波束成形則可以將DAS陣列聚焦至特定的入射方向與視速度,實現類似陣列雷達的地下目標定位。

一旦提取了表面波的頻散曲線(dispersion curve)——即不同頻率的表面波具有不同的相速度——就可以透過反演(inversion)重建地下的剪力波速結構。這本質上是一個非線性最優化問題:尋找一個地層模型使得其理論頻散曲線與DAS觀測值在最小平方法意義上最接近。

DAS波場分離與反演模擬

以下Python程式演示了簡單的DAS波場疊加處理與頻散曲線提取。

DAS_WavefieldProcessor.pyPYTHON 3.11
import numpy as np
from scipy.signal import spectrogram

class DASWavefieldProcessor:
    """DAS波場處理器:波束成形與頻散曲線提取"""

    def __init__(self, gauge_length=10.0, channel_spacing=2.0, fs=100.0):
        self.gauge_length = gauge_length
        self.channel_spacing = channel_spacing
        self.fs = fs

    def delay_and_stack(self, data, slowness_range, f_band):
        """延遲疊加波束成形:掃描視慢度尋找最優對齊方向"""
        n_channels, n_samples = data.shape
        power = []
        for s in slowness_range:
            delays = np.arange(n_channels) * self.channel_spacing * s
            shifted = np.zeros(n_samples)
            for i in range(n_channels):
                shift_samples = int(delays[i] * self.fs)
                if 0 <= shift_samples < n_samples:
                    shifted[shift_samples:] += data[i, :n_samples - shift_samples]
            power.append(np.var(shifted) / n_channels ** 2)
        return np.array(power)

    def extract_dispersion(self, data, f_min=1.0, f_max=30.0):
        """提取頻散曲線:基於多通道表面波分析 (MASW)"""
        f, t, Sxx = spectrogram(data[0], self.fs, nperseg=512)
        # 跨通道計算相位差
        phase_diff = np.angle(np.fft.fft(data, axis=1)[:, 1:len(f)+1])
        velocity = 2 * np.pi * f * self.channel_spacing / (np.abs(phase_diff[1]) + 1e-6)
        mask = (f >= f_min) & (f <= f_max)
        return f[mask], velocity[mask]

# 生成合成DAS資料: 平面波通過5 km陣列
n_ch, n_samp, fs = 2500, 5000, 100.0
synthetic = np.random.randn(n_ch, n_samp) * 0.1
# 注入平面波 (視速度 2 km/s)
t = np.arange(n_samp) / fs
for i in range(n_ch):
    delay = i * 2.0 / 2000.0
    synthetic[i] += np.sin(2 * np.pi * 10 * (t - delay))

processor = DASWavefieldProcessor(gauge_length=10.0, channel_spacing=2.0)
power = processor.delay_and_stack(synthetic, np.linspace(0.0002, 0.001, 50), (5,25))
best_slowness = np.linspace(0.0002, 0.001, 50)[np.argmax(power)]
print(f"最優視慢度: {best_slowness:.6f} s/m → 視速度: {1/best_slowness:.0f} m/s")

城市地下空間的數位孿生

DAS最令人期待的願景是建立城市地下的即時動態數位孿生——類似於我們有天氣雷達追蹤大氣,DAS網路可以讓城市規劃者「看見」地底:空洞的發育、地下水位的升降、斷層的蠕滑、地鐵隧道周圍的土壤鬆動。這種能力對於老舊城市的基礎設施維護與災害預防具有不可估量的價值——在管線破裂或路面坍塌發生之前就發出預警。

免責聲明:本文所述DAS訊號處理為簡化學術模型,實際應用中考慮光纖耦合效應、方向敏感性(broadside null)與環境溫度變化引起的長週期漂移。