Signal

Signal(Time Series)

「訊號」就是一串數字。

數學家稱做數列(離散)、函數(連續)。

訊號學家稱做數位訊號(離散)、類比訊號(連續)。

常見的Signal

合成波:正弦波、方波、三角波、脈衝波。

脈衝函數:Dirac函數、高斯函數、sinc函數。

成長速率:步進函數、sigmoid函數、logistic函數。

市場波動:Gaussian Process、Wiener Process。

雜訊:AGWN。

Signal的性質

脈衝:忽然劇烈變化、迅速還原。

週期:特定片段重複無限多次。通常稱作波。

穩態:最終收斂於特定常數。

Signal的指標

平均值、變異數、偏度、峰度、ANOVA、能量、訊噪比、頻率、週期、過零率、包絡線、……。

知名工具如tsfresh

Signal Quantization

Signal Sampling

訊號取樣。時間軸離散化。保留重點,刪除細節。

Signal Quantization

訊號量化。數值軸離散化。保留重點,刪除細節。

簡易的量化是四捨五入、無條件捨去、無條件進入。進階的量化是區分數量級。經典的量化是以圖表相較並沒有明顯差異

演算法(Cluster Analysis)(Vector Quantization)

https://en.wikipedia.org/wiki/Cluster_analysis

先分群,以群集中心做為量化結果。

再分類,以分界線決定量化結果。

演算法(Location-Allocation Analysis)

加強版。直線距離改成了其他指標。

Signal Resampling

Signal Reconstruction

訊號重建。找到原本波形。找到內插函數。

一、訊號通常很長。如果採用多項式內插,那麼內插函數必須是非常高次的多項式,才能穿過所有訊號。然而,非常高次的多項式,劇烈震盪,無法平順的穿過訊號,稱做「Runge's Phenomenon」。

二、訊號通常取自真實世界、源自物理現象。例如聲音訊號,是由不同頻率的波,疊加而成的。詳見「傅立葉轉換」。

由於上述兩點,因而衍生了其他內插演算法。

Signal Resampling

訊號重新取樣。改變疏密程度,重新設計訊號。

變密稱做upsampling、變疏稱做downsampling。也有人把變密稱做interpolation、變疏稱做decimation。

訊號重新取樣=訊號重建+函數求值。

演算法(Triangle Interpolation)(Linear Interpolation)

三角波,等價於一次內插。不切實際,但是算得快。

演算法(Sinc Interpolation)

方波函數,實施逆向傅立葉轉換,頻域轉時域(反過來也行),就是sinc函數。如果頻域只有特定幾個頻率有方波(理想中是無限薄的脈衝,但是實際上是有點厚的方波),那麼時域採用sinc函數,最理想不過了。算得極慢。

演算法(Lanczos Interpolation)

http://en.wikipedia.org/wiki/Lanczos_resampling

加強版。自由調整胖瘦。砍掉綿延的小波,只留主要的部分。

演算法(Mitchell-Netravali Filter)

http://de.wikipedia.org/wiki/Mitchell-Netravali-Filter

加強版。改用三次多項式函數模擬之。算得快。

Signal Prediction

Signal Estimation(Time Series Analysis)

訊號估計。找到訊號規律。找到迴歸函數。

迴歸函數是遞迴函數、週期函數等等具有規律的函數。

誤差設定成「均方誤差Mean Squared Error」:平方誤差,再除以數列長度;平方誤差的平均值。如此一來,長度不同的數列,得以互相比較誤差大小。

Signal Prediction(Time Series Forecasting)

訊號預測。訊號有某種規律,請預測接下來的訊號。

訊號預測=訊號估計+函數求值。

演算法(Linear Prediction)(Linear Predictive Coding)

請見本站文件「Filter」。

Linear Regression:用一次函數符合資料。Linear Prediction:用線性遞迴函數符合資料。

首先求得均方誤差最小的線性遞迴函數。時間複雜度O(N²),在頻域計算可加速為O(NlogN)。

求得線性遞迴函數之後,欲預測下一個新訊號,直接代入最後K個舊訊號即可。時間複雜度O(K),K是線性遞迴函數的項數。

求得線性遞迴函數之後,欲預測第M個新訊號,共有四種演算法。時間複雜度O(K²logM),在頻域計算可加速為O(KlogKlogM)。

演算法(ARIMA)

加強版。遞迴關係式增加項次。

https://otexts.com/fpp2/

演算法(ARCH)

加強版。推廣成非線性,引入統計學。

演算法(Prophet)

https://www.zhihu.com/question/21229371/answer/559468427

Signal Representation(Under Construction!)

Signal Transformation

訊號變換。訊號套用函數,實施變換,改變訊號。

Signal Representation

訊號重新表示。訊號套用函數,實施變換,換個視角呈現訊號。

演算法(Karhunen-Loève Transform)(Hotelling Transform)

即是Principal Component Analysis。

演算法(Fourier Analysis)

推廣到複數是Lapalce Analysis。

演算法(Wavelet Analysis)

演算法(Sparse Coding)

Signal Classification(Under Construction!)

Signal Detection

訊號偵測。判斷訊號是資訊或是雜訊。

Signal Classification

訊號分類。判斷訊號是哪種常見訊號。

演算法(MUSIC)

演算法(Hidden Markov Model)

Signal Recovery(Under Construction!)

Signal Completion

訊號補全。訊號部分佚失,推敲原本訊號。

Signal Recovery

訊號還原。訊號部分錯誤,推敲原本訊號。

Signal Separation(Under Construction!)

Signal Segmentation

訊號分段。時間軸分割。大量訊號銜接在一起,分割每段訊號。

Signal Separation

訊號分離。數據軸分割。大量訊號疊合在一起,分離每道訊號。

假定數據是關鍵因子的加權平均值。真實世界有許多自然現象是加權平均值,例如合力就是施力的加權平均值。

例如麥克風錄到一段演奏,嘗試分離出每種樂器的聲音。

例如相機拍到一個場景,嘗試分離出光線的來源與強度。

例如RFID收到一段訊號,嘗試分離出訊號的原始波形。

演算法(Independent Component Analysis)

演算法(Sparse Component Analysis)

演算法(Wavelet Analysis)

請參考「Fourier Transform」。

Signal Transmission(Under Construction!)

Signal Transmission(Communication)

請見專著《Introduction to Wireless and Mobile Systems》。

Modulation

稍作處理,以便進入另一種傳輸介質。

A2A: AM FM
D2A: ASK FSK PSK
A2D: PAM PWM PPM PCM
D2D: coding theory
https://en.wikipedia.org/wiki/Space–time_block_code#Alamouti's_code

Multiplexing

平行處理。

Multiplexing: SDM TDM FDM(OFDM) CDM
Multiple Access: TDMA FDMA CDMA

Equalization

調整頻率能量分布。

Noise

Noise(Random Signal)

隨機訊號,通常稱作「雜訊」或「噪訊」。

由於沒人研究隨機數列,大家只好援引浮動數列,以描述雜訊。

例如「White Gauss Noise」:高斯隨機雜訊,每個隨機變數的平均數(浮動中心)和變異數(浮動範圍)均相同。因為剛好是白雜訊,所以名稱裡面有白。

Noise的頻譜

http://en.wikipedia.org/wiki/Colors_of_noise

數學家仿照光譜由紅到紫的特性,嘗試分類雜訊。

 white: 強度為常數
  grey: 強度符合人類聽覺曲線。(不那麼白)
   red: 強度正比於頻率倒數平方。  以頻率對數為座標軸,漸減6dB。
  pink: 強度正比於頻率倒數。    以頻率對數為座標軸,漸減3dB。(不那麼紅)
violet: 強度負正比於頻率倒數平方。 以頻率對數為座標軸,漸增6dB。
  blue: 強度負正比於頻率倒數。   以頻率對數為座標軸,漸增3dB。(不那麼紫)

Smooth Noise

http://lodev.org/cgtutor/randomnoise.html

http://www.iquilezles.org/www/articles/warp/warp.htm

計算學家運用「內插」,製造柔順的雜訊。網路上已有詳細教學文章,請讀者自行參考。

value noise:等距設置隨機數值,內插得到其餘數值。內插是為了製造綿延感。

perlin noise:等距設置遞迴碎形,內插得到其餘數值。有些規律、又不失隨機;好像有道理、又好像在鬼扯。非常奇葩。

fBm noise:疊加各種解析度(頻率)的雜訊。解析度是2的各種次方。雜訊可以是上述任意一種。隱含混沌與碎形的概念,更細膩、更自然。

wavelet noise:疊加各種頻率暨振幅的波。類似fBm noise。