1. 訊號的描述


Posted by 高肥 on 2022-06-14

1. 訊號的描述

1.1 類比訊號 (Analog Signal)

隨時間改變的連續訊號

1.1.1 弦波 (Sinusoidal Wave)

$x(t)=A\cos\left(\Omega t+\phi\right)$

$x(t)=A\cos\left(2\pi ft+\phi\right)$

$A$: 振幅 (Amplitude)

$f$: 類比頻率 (Analog Frequency),單位=Hz

$T$: 類比週期 (Analog Period) $T=\frac1f$,單位=sec

$\Omega$: 類比角頻率 (Analog Angular Frequency)=$2\pi f=\frac{2\pi}T$,單位= Radians/sec

$\phi$: 相位移 (Phase Shift),單位= Radians

範例

觀察弦波$x(t)=A\cos\left(2\pi ft+\phi\right)$的波形差異

  • 振幅: $A=1$
  • 頻率: $f=1 (Hz)$
  • 相位移: $\phi=0,\;\frac\pi4,\;\frac\pi2$
import numpy as np
import matplotlib.pyplot as plt

t = np.linspace( 0, 1, 1000, endpoint = False ) # 定義時間陣列
phi = [0, np.pi/2, np.pi/4]

for i in range(len(phi)):
    x = np.cos( 2 * np.pi * t + phi[i] )                    # 產生弦波

    plt.plot( t, x )                                # 繪圖
    plt.xlabel( 't (second)' )
    plt.ylabel( 'Amplitude' )

    plt.show( )

1.1.2 複數指數訊號 (Complex Exponential Signal)

$x(t)=Ae^{j(\omega t+\phi)}$

振幅 (Amplitude): $A$

相位角: $\omega t+\phi$

根據Euler’s Equation: $e^{j(\theta)}=\cos\left(\theta\right)+j\sin\left(\theta\right)$

$
\begin{aligned}
x(t) & = Ae^{j(\omega t+\phi)} \\
& = A\cos\left(\omega t+\phi\right)+Aj\sin\left(\omega t+\phi\right)
\end{aligned}
$

複指數訊號在現實世界中不會產生,但是在數學上透過複指數做計算時可以降低複雜程度,在頻率響應的部分會使用到。

簡單說複指數訊號主要是推導DSP系統的性質使用的,實際上並沒有這種訊號。

1.2 數位訊號 (Digital Signal)

隨時間改變的離散訊號 (Discrete-Time Signal)

1.2.1 取樣 (Sampling)

$x\lbrack n\rbrack=x(nT_s)$

$T_s$: 取樣週期 (Sampling Period)或取樣間隔 (Sampling Interval)

$f_s$: 取樣頻率 (Sampling Frequency)

1.2.2 離散弦波 (Discrete-Time Sinusoidal Wave)

$
\begin{align}
x\left[n\right]&=x(nT_s)\\
&=A\cos\left(2\pi f\cdot nT_s+\phi\right)\\
&=A\cos\left(2\pi f\cdot n\cdot\frac1{f_s}+\phi\right)\\
&=A\cos\left(\frac{2\pi f}{f_s}\cdot n+\phi\right)\\
&=A\cos\left(\widehat\omega\cdot n+\phi\right)
\end{align}
$

$\widehat\omega=\frac{2\pi f}{f_s}$: 正規化角頻率 (Normalized Angular Frequency)

1.2.3 Nyquist-Shannon 取樣定理

假設原始訊號的最大頻率為 $f_{max}$,假設離散時間取樣頻率為 $f_s$
則: $$f_s>2\cdot f_{max}$$
可保證重建原始訊號週期。

若$f_s\leq2\cdot f_{max}$
則可能發生混疊 (Aliasing)現象

  • 混疊現象實例1 — 弦波週期改變

  • 混疊現象實例2 — 飛機螺旋槳轉很慢
  • 混疊現象實例3 — 行進中汽車輪胎反向轉

衍生議題 ⇒ 傅立葉頻譜分析只能看到取樣頻率一半的頻譜

1.2.4 數位訊號數學表示法

數位為訊號可以表示成離散 (Discrete)的數字集合,
定義如下:
$$x={x\lbrack n\rbrack},\;-\infty<n<\infty$$

範例

$x\lbrack n \rbrack=\{1,\;2,\;4,\;3,\;2,\;1\},\;n=0,\;1,\;\dots,\;5$

1.2.5 單位脈衝訊號 (Unit Impulse Signal)

$$
\delta\lbrack n \rbrack =
\begin{cases}
1, & n=0 \\
0, & n \neq 0
\end{cases}
$$

1.2.6 單位步階訊號 (Unit Step Signal)

$$
u\lbrack n \rbrack =
\begin{cases}
1, & n \geq 0 \\
0, & n < 0
\end{cases}
$$

1.2.7 時間延遲 (Time Delay)

單位脈衝的時間延遲可定義為: $$\delta\lbrack n-n_0\rbrack$$

單位步階可表示為

$$
\begin{align}
u\lbrack n\rbrack & =\delta\lbrack n\rbrack+\delta\lbrack n-1\rbrack+\delta\lbrack n-2\rbrack+\cdots\\
& = \sum_{k=0}^\infty\delta\lbrack n-k\rbrack
\end{align}
$$

脈衝訊號可表示為

$$\delta\lbrack n\rbrack=u\lbrack n\rbrack-u\lbrack n-1\rbrack$$

任意的數位訊號可以表示成一般式

$$
\begin{align}
x\lbrack n\rbrack &= \cdots+x\lbrack-1\rbrack\cdot\delta\lbrack n+1\rbrack+x\lbrack0\rbrack\cdot\delta\lbrack n\rbrack+x\lbrack1\rbrack\cdot\delta\lbrack n-1\rbrack+\cdots\\
& =\sum_{k=-\infty}^\infty x\lbrack k\rbrack\cdot\delta\lbrack n-k\rbrack
\end{align}
$$

範例

若數位訊號定義為:

$x\lbrack n \rbrack=\{1,\;2,\;4,\;3,\;2,\;1\},\;n=0,\;1,\;2,\;3,\;4,\;5$
請以單位脈衝的一般式表示。

解答

$
\begin{align}
x\lbrack n\rbrack & = \sum_{k=0}^5x\lbrack k\rbrack\cdot\delta\lbrack n-k\rbrack\\
& = x\lbrack0\rbrack\cdot\delta\lbrack n\rbrack+x\lbrack1\rbrack\cdot\delta\lbrack n-1\rbrack+x\lbrack2\rbrack\cdot\delta\lbrack n-2\rbrack+x\lbrack3\rbrack\cdot\delta\lbrack n-3\rbrack+x\lbrack4\rbrack\cdot\delta\lbrack n-4\rbrack+x\lbrack5\rbrack\cdot\delta\lbrack n-5\rbrack\\
& = \delta\lbrack n\rbrack+2\delta\lbrack n-1\rbrack+4\delta\lbrack n-2\rbrack+3\delta\lbrack n-3\rbrack+2\delta\lbrack n-4\rbrack+\delta\lbrack n-5\rbrack
\end{align}
$

Ref:


#Signal_Processing #DSP_Class







Related Posts

component test 問題集4(React18 + TS + Jest + react-testing-library)

component test 問題集4(React18 + TS + Jest + react-testing-library)

不用框架實作 React 第一次渲染 SSR + Routing

不用框架實作 React 第一次渲染 SSR + Routing

[0.] 前置作業: 開發環境設定

[0.] 前置作業: 開發環境設定


Comments