跳到主要內容

發表文章

目前顯示的是 四月, 2017的文章

[機率論] 動差生成函數 的 常見應用 (1)

令 $\Omega$ 為 樣本空間,定義 $X : \Omega \to \mathbb{R}$ 為配備 機率分配函數 $f_X$ 的 隨機變數。

==================
Definition: k-th Moment
隨機變數 $X : \Omega \to \mathbb{R}$  的 k階 動差 (k-th moment) 定為 $E[X^k]$
==================


================== Definition: Moment Generating Function
令 $X$ 為隨機變數,若存在 $\delta >0$ 使得對 $t \in (-\delta,\delta )$ 而言,期望值 $E[e^{tX}]$ 存在,則 $X$ 的 動差生成函數 (Moment Generating Function, mgf) 存在,且定義為
\[
M_X(t) := E[e^{tX}], \;\;\; t \in (-\delta,\delta )
\]除此之外,若上述條件成立則
\[
D_t^k E[e^{tX}] = E[D_t^k e^{tX}]
\]其中 $D_t^k $ 表示為對 $t$ 微分 $k$次 微分算子。
==================

Comments:
1. 動差生成函數 $M_X(t)$ 是一個以 $t$ 為變數 的函數,目的在於 "產生動差",至於如何產生我們會在下面進行討論。
2. 上述定義僅僅要求 mgf 在 $t = 0$ 附近開區間 $t \in (-\delta, \delta)$ 期望值存在,此條件也保證積分與微分互換性。
3. 若在開區間 $ t \in (-\delta, \delta)$ 期望值存在,立刻可得知 $M_X(0) = E[e^{0}] = 1$


FACT: 上述動差生成函數算是非常便利的工具,我們可以透過其產生各種具有常見分配的隨機變數之一,二階動差。假定某隨機變數之 mgf 存在,則此隨機變數的 k-th 動差表為
\[
D_t^k M_X (0) = E[X^k], \;\; k=1,2,...
\]

Comment:
由上述討論可知,若我們想求期望值則
\[
D_t M_X(0) = E[X]
\]若我們想求變異數則
\begin{…

[訊號處理] 2d Convolution & 簡單的影像處理 (利用 MATLAB )

一般在處理影像的時候我們會把 影像(image) 視為 二維離散訊號, 更一般的說法是將其視為矩陣,亦即給定任一張 (灰階) 影像 我們可以將其分割成 $M \times N$ 矩陣 (像素 pixel),並且將其記作 $x[m,n]$,其中 $m=0,...,M-1$ 與 $n = 0,...,N-1$ 。

Comments:
如果要處理的影像是彩色的,一個常用的做法是把該影像以 $R,G,B$ 三色分別存成 三個矩陣,最後在做疊合。在此不做贅述。

以下我們利用 MATLAB 來執行 (灰階)影像處理,我們使用的圖檔是 MATLAB內建的圖檔 cameraman.tif ,當然讀者可自行讀入任何自己想要的圖檔。在MATLAB 輸入

MATLAB Code For Loading the Image
x = imread('cameraman.tif' )
imagesc(x)

則會顯示
圖1a: cameraman.tif 原圖 ($256 \times 256$)
Comments:
1. 上述影像訊號 $x[m,n]$ 為 $M \times N = 256 \times 256 $ 矩陣。
2. 一般而言在影像處理領域,我們將圖片最左上角點視為座標原點,對應的影像訊號為 $x[0,0]$ 。
3. 上述影像透過 MATLAB 2017a 讀圖會顯示有一些藍綠等顏色,若要使此圖顯示為灰階(gray scale) 讀者可鍵入 colormap(gray) 來使其變成灰階影像,亦即

MATLAB Code For Gray Scale Colormap
x = imread('cameraman.tif' )
imagesc(x)
colormap(gray)

則我們會得到如下圖

圖1b: 灰階影像


現在我們可對上述影像進行一些常見的基本處理。令 $x[m,n]$ 為輸入影像訊號,且假設 影像 濾波器 為 線性非時變 (Linear Time Invariant, LTI) 故其對應的 impulse response $h[m,n]$ 可以用來完全描述我們的影像濾波器,最後 我們令 影像處理過後的輸出訊號 $y[m,n]$ 可表為 $x[m,n]$ 與 $h[m,n]$ 的 convolution ,差別僅在此時我們的 convolution運算…

[凸分析] 半正定對稱矩陣所成之集合為凸錐

首先定義 $S^n$ 為由所有 實係數對稱矩陣 所形成之集合,表為
\[
S^n := \{A \in \mathbb{R}^{n \times n} : A^T = A\}
\] 則不難證明 $S^n$ 為一個 subspace (why?),故 $S%n$ 必為 vector space 。

Comments:
由於  $S^n$ 為一個 subspace ,我們可以定義其維度,且值得一提的是 $\dim S^n = (n) (n+1)/2$,在此不做贅述。


現在我們收集所有實係數對稱 且 半正定 (positive semidefinite) 矩陣,定義
\[
S_+^n := \{A \in S^n: A  \succeq  0\}
\] 其中 $A \succeq 0$ 表示 $A$ 為 半正定矩陣:亦即給定任意 $x \in \mathbb{R}^n$ 我們有
\[
x^T A x \geq 0
\]

則我們聲稱上述 $S_+^n $為 凸錐 (convex cone),以下我們給出主要 FACT :
===================
FACT:
$S_+^n$ 為 convex cone。
===================

Proof:
要證明 $S_+^n$ 為 convex cone,我們要證明 $S_+^n$ 為一個 cone 且 $S_+^n$ 為 convex,故我們令 $A,B \in S_+^n$ 與 $\theta_1, \theta_2 \geq 0$ 且必須證明
\[
\theta_1 A + \theta_2 B \in S_+^n
\]
此等價證明 $ \theta_1 A + \theta_2 B $ 為對稱矩陣 且 半正定。現在我們首先證明對稱性:觀察
\[{({\theta _1}A + {\theta _2}B)^T} = {\theta _1}{A^T} + {\theta _2}{B^T} = {\theta _1}A + {\theta _2}B\]注意最後一條等式成立因為  $A,B \in S_+^n$ 故  $A=A^T,B=B^T$。

接著我們證明半正定性質:取 $x \in \mathbb{R}^n$ 觀察
\[{x^T}({\theta _1}A + {\theta _2}B)x = {\the…

[凸分析] 仿射組合 仿射空間 與 線性方程關係

考慮 中學數學 中提及的 直線方程 (更嚴格的說法是 affine function 在此用 斜截式 表示):令 $x \in \mathbb{R}^1$,定義函數 $y: \mathbb{R}^1 \to \mathbb{R}^1$ 滿足
\[
y(x) = m x + b
\] 其中 $m$ 表示斜率, $b$ 表示截距。現在我們進一步觀察上式並將其改寫如下:
\[
y(x) = (m + b - b) x  + b
\]則讀者不難發現可得 $y(x) = (m + b) x  + b (1 - x) $ 現在若令 $a := m+b$ 則我們得到如下簡潔的形式
\[
y(x) = a x + b (1-x)
\]

Comments:
注意到 $ y(x):=y = a x + b (1-x)$ 一般稱 $y$ 為透過 $x, (1-x)$ 所成之 線性組合 (linear combination),若 $0 \le x \le 1$,則上式一般稱為 $a$ 與 $b$ 的 凸組合 (convex combination)


推廣到有限維度歐式空間:
上述結果可以推廣到 $\mathbb{R}^n$ 空間:考慮 $x_1 \neq x_2$ 為 $\mathbb{R}^n$ 中的兩(向量)點,則
\[
y := \theta x_1 + (1 - \theta) x_2  \;\;\;\; (*)
\] 其中 $\theta \in \mathbb{R}$ 形成  $\mathbb{R}^n$ 過點 $x_1$ 與 $x_2$ 之直線。讀者可觀察若 $\theta = 0$ 則 $y=x_2$。若 $\theta = 1$ 則 $y= x_1$。亦即當我們調整參數 $\theta \in [0,1]$ 可得到一條 $x_1$ 與 $x_2$ 的封閉線段 (line segment)。另外我們亦可將 $(*)$ 改寫如下
\begin{align*}
  &y = \theta {x_1} + (1 - \theta ){x_2} \hfill \\
   &\Rightarrow y = {x_2} + \theta \left( {{x_1} - {x_2}} \right) \hfill \\
\end{align*} 則此時我們可以用另一種觀點…

[訊號與系統] FIR系統的弦波響應 (1)

考慮 FIR 系統為 線性非時變(Linear Time-Invariant, LTI) 系統,且假設輸入為 離散 complex exponential 則其對應的輸出將非常容易計算:考慮 FIR 系統
\[
y[n] = \sum_{k=0}^M b_k x[n-k]
\]

假設輸入為 complex exponential 表為 $x[n] = x(nT_s) = A e^{j \varphi} e^{j \omega Ts n}$ 且 $-\infty < n < \infty$。則輸出為
\[\begin{array}{l}
y[n] = \sum\limits_{k = 0}^M {{b_k}} x[n - k]\\
 = \sum\limits_{k = 0}^M {{b_k}} A{e^{j\varphi }}{e^{j\omega Ts\left( {n - k} \right)}}\\
 = \left( {\sum\limits_{k = 0}^M {{b_k}} {e^{j\omega Ts\left( { - k} \right)}}} \right)A{e^{j\varphi }}{e^{j\omega Ts\left( n \right)}}\\
 := H\left( {{e^{ - j\widehat \omega }}} \right)\underbrace {A{e^{j\varphi }}{e^{j\omega Ts\left( n \right)}}}_{ = x\left[ n \right]}
\end{array}\]其中 $\widehat{\omega} := \omega T_s$ 且
\[H\left( {{e^{ - j\widehat \omega }}} \right) = \sum\limits_{k = 0}^M {{b_k}} {e^{ - j\widehat \omega k}} = \sum\limits_{k = 0}^M {h\left[ k \right]} {e^{ - j\widehat \omega k}}\]稱作 frequency-response function,一般而言我們簡稱為 frequency response。

回憶由於 FIR系統的脈衝響應 與 濾波…

[訊號與系統] FIR 與 Finite Convolution

在 系統理論 或者 訊號處理 的領域中,我們一般將 濾波器 (filter) 視作可用以移除某特定頻段的訊號 並且僅讓 部分指定的頻段訊號 可以通過 的 系統(system)。

現在 給定 一組 標準 有限脈衝響應濾波器(Finite Impulse Response Filter,  FIR filter) ,其 輸入/輸出之關係可用下列表述
\[
y[n] = \sum_{k = 0}^M b_k x[n -k]
\] 其中 $b_k$ 稱為 FIR 濾波器的係數,$x[\cdot]$ 為輸入訊號,$y[\cdot]$ 為輸出訊號。

Comments:
1. 上述 FIR 的定義中並不要求 未來的輸入訊號,亦即我們僅需要現在與過去的輸入 $x[n], x[n-1],...,x[n-M]$,一般稱此 FIR 為 因果系統 (casual system)
2. 上述 FIR filter 的 輸入/輸出關係 可被視為 有限摺積(finite convolution) 運算
3. 令輸入$x[n]$為具有長度 $L_x$ 的 sequence 且 $h[n]$ 為具有 長度 $L_h$ 的sequence 則其輸出 $y[n]$ 在經過 convolution 運算之後會具有長度
$$
L_y =L_x + L_h -1 \text {( why ? ) }
$$ 4. 在 MATLAB 中 內建函數 filter() 可以用來建構 上述 FIR filter,舉例而言,考慮一組 FIR
\[y[n] = \sum\limits_{k = 0}^3 {\frac{1}{4}} x[n - k] = \frac{1}{4}\left( {x[n] + x[n - 1] + x[n - 2] + x[n-3]} \right)\] 且輸入為 $sin(0.1 \pi n), \;\;\; n=0,1,...,99$ 則 我們可用 MATLAB code 來計算對應的輸出 $y$ 如下:

n = 0:99
x = sin( 0.1 * pi * n);
b = [1/4 1/4 1/4  1/4]
y = filter(b, 1, x)


另外注意到前述我們提及 輸入訊號與其 脈衝響應的和:
\[
y[n] = \sum_{k = 0}^M h[k] x[n -k]\;\;\…