system🚧
filter
「濾波器」。函數,輸入訊號,輸出訊號。
電類科系的基礎課程內容,跟演算法無關,以下只做簡介。
filter / system
濾波器:函數,輸入輸出都是一道訊號。 系統:多變量函數,輸入輸出都是多道訊號。
finite impulse response / infinite impulse response
濾波器有兩種款式。 有限脈衝響應:沒迴圈=>輸入的加權總和=>輸入只取幾項=>有限 無限脈衝響應:有迴圈=>輸入與輸出的加權總和=>展開迴圈,變成取所有項=>無限
moving average model / autoregressive model
濾波器有三種款式。 移動平均數模型:輸入訊號的加權總和=輸出訊號 (all zero) 自迴歸模型:輸出訊號的加權總和=輸出訊號 (all pole) 兩種都用:輸入訊號的加權總和=輸出訊號的加權總和
z-transform / convolution theorem / zero / pole
z-transform:訊號=>多項式 convolution theorem:輸入訊號加權總和=>多項式乘法 convolution theorem:輸出訊號加權總和=>多項式除法 zero:分子多項式的根(多項式變成0)。 pole:分母多項式的根(多項式變成±∞)。 大家用示波器看zero pole,然後反向推理濾波器是什麼。
time domain / frequency domain
因為真實世界的訊號幾乎都是一堆波, 所以大家用傅立葉轉換,把訊號分解成波。 原本訊號稱作時域(座標軸是時間),傅立葉轉換之後稱作頻域(座標軸是頻率)。 值得一提的是,除了訊號可以這樣分解,濾波器也可以這樣分解。 濾波器弄成加權總和的形式,然後把權重當作訊號,拿去分解。 (因為z-transform和convolution theorem)
Fourier transform / Laplace transform
簡單來說,就是整數推廣成複數。 傅立葉轉換:振幅為1、頻率為定值、頻率呈整數倍數的波(整數)。 拉普拉斯轉換:沒有上述限制的波(複數)。 因為複數是通例,乍看比較厲害, 所以教科書很喜歡用拉普拉斯轉換,但是現實世界不存在啦。
frequency response / transfer function / gain / Bode plot
頻譜(spectrum)是各種頻率(frequency)的波(wave)的強度(magnitude)和相位(phase)。 一、濾波器的頻譜(權重做傅立葉轉換)。 二、輸出訊號頻譜除以輸入訊號頻譜(訊號做傅立葉轉換,再相除)。 兩者都可以得到各種頻率的波的強度變化倍率。 頻率響應:濾波器的頻譜。 傳遞函數:系統的頻譜。 增益:濾波器/系統,各種頻率的波的強度變化倍率。 波特圖:濾波器/系統的頻譜,畫成折線圖。
low-pass filter / high-pass filter
濾波器只保留低頻波、只保留高頻波。
band-pass filter / band-stop filter
濾波器只保留中頻波、只刪除中頻波。
Shelving filter / Butterworth filter
濾波器保留低頻波或高頻波;其餘的波,頻率相差越遠、保留越少。比較平滑柔順啦。 濾波器保留中頻波;其餘的波,頻率相差越遠、保留越少。比較平滑柔順啦。 Shelving filter其實有時域公式喔! http://www.cs.cf.ac.uk/Dave/CM0268/PDF/10_CM0268_Audio_FX.pdf
peak filter / notch filter
濾波器頻譜呈現一個尖峰、頻譜呈現一個尖谷。
difference filter / feedforward comb filter / feedback comb filter
延遲1刻 yn = xn + a xn-1 延遲d刻 yn = xn + a xn-d (頻譜的強度呈現連綿圓峰) 改成回饋 yn = xn + a yn-d (頻譜的強度呈現梳子)(連綿圓丘上下顛倒) 2nd-order其實就是延遲時刻有小數點,需要做線性內插。 https://thewolfsound.com/allpass-filter/
all-pass filter
濾波器頻譜,強度不變(常數1)、相位改變。 例如feedforward comb filter與feedback comb filter串聯。 https://ccrma.stanford.edu/~jos/pasp/Allpass_Two_Combs.html
moving average filter
k點平均 yn = (xn + xn-1 + ... + xn-k+1) / k (頻譜的強度呈現連綿縮小圓丘)
window function / spectral leakage
傅立葉轉換,只有整數倍頻率波。 如果訊號不是整數倍頻率波所組成,那就完蛋了。 非整數倍頻率波,將分散到各個整數倍頻率波,漏的到處都是。 訊號預先乘以窗函數,才做傅立葉轉換,稍微有點療效。 窗函數也可以想成是一種濾波器:連綿圓丘,消滅非整數倍頻率波。
sampling / aliasing
取樣,連續波變離散波。 根據取樣定理, 頻率超過取樣頻率兩倍的連續波(高頻連續波、取樣間隔太大), 將得到頻率稍小的離散波(波長稍長)。 固定取樣頻率時,若上述連續波頻率增大,則上述離散波頻率減小。 從頻譜來看,差不多是往左鏡射、往左翻書,中譯疊頻。 解法是連續波事先做lowpass filter。 去除高頻連續波,讓它沒有東西用來鏡射翻書。 但是濾波器無法做到完美矩形,只能陡降斜下。 稱作sharp cutoff lowpass filter。 曲線越陡價格越貴。
system
「系統」。多變量函數,輸入多道訊號,輸出多道訊號。
已經發展成熟,累積大量懸案,最近二十年沒有太大變化。
stochastic process
訊號的數值,從固定的改成浮動的。甚至前後項有某種特殊性關係。
system identification / system realization / system estimation
給你輸入訊號、輸出訊號,請你找到系統。 換句話說,就是迴歸!
mean squared error / Kullback–Leibler divergence
兩道訊號的距離。 換句話說,就是誤差!迴歸的時候拿來用吧。
control
「控制」。一個系統,兩道輸入訊號(原始訊號、控制訊號),一道輸出訊號。調整控制訊號,得到特別的輸出訊號。
control應用十分廣泛,是世上最實用的演算法之一。
state transition state estimation optimal control optimal estimation
optimal control / dynamic optimization / motion planning
找到迴歸函數之後,就可以預測訊號啦。 常見的迴歸方式有Kalman filter和hidden Markov model。 http://www.princeton.edu/~stengel/MAE546Seminars.html
Kalman filter
未知因:autoregression model (LTI filter) 已知業:LTI filter 已知果:一道訊號 請見本站文件「filter」。 未知輸入(因)已知函數(業)已知輸出(果),求因。 精髓:果的誤差,通過反濾波器,用以修正因。
hidden Markov model (Bayes filter)
未知因:Markov chain 未知業:hidden Markov model 已知果:許多道訊號 請見本站文件「hidden Markov model」。 未知輸入(因)未知函數(業)已知輸出(果),求因。 精髓:已知果,梯度下降法(反向傳播法)找最大值,得到機率最大的業。 未知果,動態規劃找最佳路線,得到機率最大的因。
PD controller
τ = kp (θd - θc) + kv (θd' - θc') τ is the generated joint torque. θd and θc the desired and current joint angles. θd' and θc' the desired and current joint angular velocity. kp and kv are the controller gain.
PID controller
SMC controller
model predictive control
Hamilton–Jacobi–Bellman equation
動態規劃,找到最好的動作方式。
Sylvester equation / Lyapunov equation
矩陣方程式,常見的最佳化問題的解。
system design
設計系統,達成控制。我目前只知道三種流派。
一、電子電路:風靡全世界。雖然台灣是地球上最大的電子零件生產基地,台灣也有專門設計電子電路的公司,但是我不太確定台灣是否有這方面的專家。關鍵字:IC設計、晶片設計。
二、生化反應:發展中。關鍵字:生物系統模擬、系統生物學。
三、深度學習:最近十年才剛萌芽,還稱不上控制。關鍵字:類神經網路、機器學習。
系統是函數網路。工程師設計函數網路,達成控制。
electronic circuit🚧
electronic circuit
電路學、電路分析。
circuit
RC circuit / resistor–capacitor circuit
low-pass filter high-pass filter
RLC circuit / resistor–inductor–capacitor circuit
sine wave
oscillator
synchronization
phase-locked loop
electrical–mechanical–acoustical analogy
電流、機動、聲響,三者物理量相仿,可以類比。
https://en.wikipedia.org/wiki/Mechanical–electrical_analogies https://en.wikipedia.org/wiki/Impedance_analogy https://en.wikipedia.org/wiki/Harmonic_oscillator
mechanical impedance https://www.bksv.com/media/doc/17-179.pdf
fuzzy logic
把布林數的AND和OR運算,變成函數的min和max運算。
Karnik–Mendel algorithm
chemical kinetics🚧
chemical reaction network
畫出變數關係圖,得到一階微分方程組,製作特殊的函數曲線,例如sigmoid和logistic、開關、震盪。
酵素動力學、藥物動力學。
Michaelis–Menten equation 化學反應 Hill equation 化學反應
CRN++ http://www.sohu.com/a/258018813_473283
dynamical system 嚴格來說不是時刻,而是對什麼變數微分,可以是時間/空間/兩者都有 是時間的叫動態系統 是空間的叫做碎形 兩者都有的例如波方程、量子力學 一階微分 = 取前一個時刻 二階微分 = 取前兩個時刻 recurrence = 取很多個時刻 markov process就是引入機率的動態系統 函數值是連續的 markov chain就是引入機率的動態系統 函數值是離散的 state是某個時刻的函數值 steady state是保持不動的函數值 linear function的不動點就是eigenvector linear functional(ode/pde)的不動點/循環就是eigenfunction/eigenmode
Lotka–Volterra equations
Lotka–Volterra equations是模擬兔子與狐狸的生態消長的微分方程組。
處處都循環,不會產生混沌。
deep learning
deep learning
「深度學習」。可以視作迴歸,迴歸函數是各種函數串聯並聯。
https://github.com/leemengtaiwan/deep-learning-resources
deep learning是新興理論,尚在發展當中,無法整理成篇。我將發展現況分成兩種方向,僅供參考。
邏輯推理觀點
我認為深度學習可以做到邏輯推理的歸納法。
邏輯推論logical inference宛如求解equation solving。根據一些邏輯運算式子的計算結果,判斷一個邏輯運算式子是否有唯一解。
邏輯推理logical reasoning宛如迴歸regression。根據一些邏輯運算式子的計算結果,調整一個邏輯運算式子,盡量達成唯一解。
機率分布即是二元邏輯的推廣版本。convolution即是加法運算。ReLU即是分支判斷。各種函數即是各種邏輯運算。
事先網羅足夠多的函數,事後練出足夠長的邏輯運算式子。
模組編程觀點
我認為深度學習就是在寫程式。
專案即是迴歸模型。編程即是拼湊函數,除錯即是降低誤差。運算子即是初階函數,函式庫即是進階函數。物件導向精簡函數架構,演算法形成函數單元。自行拼湊適當函數,考慮越多,效果越好。
以前是撰寫程式碼,經過編譯器,自動生成機器碼。現在是拼湊函數,經過deep learning,自動生成程式碼。封建升城堡。
與其說deep learning可以取代程式設計師,不如說deep learning是一種更高層次的編程方式。大家只是換個方式寫程式。
近況
近年來許多政商人士提倡人工智慧,呼籲大眾學習如何運用深度學習。他們認為深度學習可以彌補電子電路的不足。大家可以待在家中設計神經網路,透過電腦與網路,輕鬆控制生活周遭的事物──不必事事都得委託聯發科設計電子電路、委託台積電製造電子電路。
然而深度學習目前仍是煉金術。大家憑感覺發明許多結構,但是無法利用數學來論證其功能。
metaheuristics也是類似的新流派。既有的最佳化演算法無法投入實用,大家重新發明基因演算法、蟻群演算法、粒子群演算法。
machine learning也是類似的新流派,既有的模式識別演算法無法投入實用,大家重新發明梯度下降技巧、神經網路結構。
陽春白雪變成下里巴人,引經據典變成信口開河。但是它實用。