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

近年來許多政商人士提倡人工智慧,呼籲大眾學習如何運用深度學習。他們認為深度學習可以彌補電子電路的不足。大家可以待在家中設計神經網路,透過電腦與網路,輕鬆控制生活周遭的事物──不必事事都得委託聯發科設計電子電路、委託台積電製造電子電路。

然而深度學習目前仍是煉金術。大家憑感覺發明許多結構,但是無法利用數學來論證其功能。

模仿電子電路的transfer function,我們可以測量神經網路每個節點的輸出直方圖,粗略判斷節點的功能。

https://github.com/leemengtaiwan/deep-learning-resources

Metaheuristics也是類似的新流派。既有的最佳化演算法無法投入實用,大家重新發明基因演算法、蟻群演算法、粒子群演算法。

Machine Learning也是類似的新流派,既有的模式識別演算法無法投入實用,大家重新發明梯度下降技巧、神經網路結構。

陽春白雪變成下里巴人,引經據典變成信口開河。但是它實用。