目錄
- 基本概念
- 復數
- 傅里葉級數
- 沖激函數及其取樣(篩選)性質
- 連續單變量函數的傅里葉變換
- 卷積
基本概念
復數
復數CCC的定義為
C=R+jI(4.3)C = R + jI \tag{4.3}C=R+jI(4.3)
R,IR,IR,I為實數,RRR是實部,III是虛部,j=?1j = \sqrt{-1}j=?1?。復數的共軛表示為C?C^*C?
C?=R?jI(4.4)C^* = R - jI \tag{4.4}C?=R?jI(4.4)
從幾何角度來看,復數可視為平面(稱為復平面)上的一個點,其橫坐標是實軸,縱坐標是虛軸,也就是說R+jIR+jIR+jI是得平面直角坐標系中的點(R,I)(R,I)(R,I)
極坐標表示復數
C=∣C∣(cosθ+jsinθ)(4.5)C = |C|(\text{cos}\theta + \text{jsin}\theta) \tag{4.5}C=∣C∣(cosθ+jsinθ)(4.5)
∣C∣=R2+I2|C|=\sqrt{R^2 + I^2}∣C∣=R2+I2?是從復平面的原點延伸到點(R,I)(R,I)(R,I)的向量長度,θ\thetaθ是該向量與實軸的夾角。
使用歐拉公式
ejθ=cosθ+jsinθ(4.6)e^{j\theta} = \text{cos}\theta + \text{jsin}\theta \tag{4.6}ejθ=cosθ+jsinθ(4.6)
可以給坐極坐標的復數表示為
C=∣C∣ejθ(4.7)C = |C|e^{j\theta} \tag{4.7}C=∣C∣ejθ(4.7)
復函數:
F(u)=R(u)+jI(u)F(u) = R(u) + jI(u)F(u)=R(u)+jI(u)
F?(u)=R(u)?jI(u)F^*(u) = R(u) - jI(u)F?(u)=R(u)?jI(u)
幅值是
∣F(u)∣=R(u)2+I(u)2|F(u)| = \sqrt{R(u)^2 + I(u)^2}∣F(u)∣=R(u)2+I(u)2?
a = np.complex(1 + 2j)
radian = np.arctan2(a.imag, a.real)
radian
1.1071487177940904
degree = np.rad2deg(radian)
degree
63.43494882292201
傅里葉級數
周期為TTT的連續變量ttt的周期函數f(t)f(t)f(t),可表示為乘以適當系數的正弦函數和余弦函數之和
f(t)=∑n=?∞∞cnej2πnTt(4.8)f(t) = \sum_{n=-\infty}^{\infty} c_n e^{j\frac{2\pi n}{T}t} \tag{4.8}f(t)=n=?∞∑∞?cn?ejT2πn?t(4.8)
cn=1T∫?T/2T/2f(t)e?j2πnTt(4.9)c_n = \frac{1}{T}\int_{-T/2}^{T/2}f(t)e^{-j\frac{2\pi n}{T}t} \tag{4.9}cn?=T1?∫?T/2T/2?f(t)e?jT2πn?t(4.9)
沖激函數及其取樣(篩選)性質
連續變量ttt在t=0t=0t=0處的單位沖激表示為δ(t)\delta(t)δ(t),定義是
δ(t)={∞,t=00,t≠0(4.10)\delta(t) =\begin{cases} \infty, & t=0 \\ 0, & t \neq 0 \end{cases} \tag{4.10}δ(t)={∞,0,?t=0t?=0?(4.10)
它被限制為滿足恒等式
∫?∞∞δ(t)dt=1(4.11)\int_{-\infty}^{\infty}\delta(t)dt= 1 \tag{4.11}∫?∞∞?δ(t)dt=1(4.11)
自然地,將ttt解釋為時間時,沖激就可視為幅度無限、持續時間為0、具有單位面積的尖峰信息。沖激具有關于積分的所謂取樣性質
∫?∞∞f(t)δ(t)dt=f(0)(4.12)\int_{-\infty}^{\infty} f(t) \delta(t)dt= f(0) \tag{4.12}∫?∞∞?f(t)δ(t)dt=f(0)(4.12)
沖激
沖激并不是通常意義上的函數,更準確的名稱是分布或廣義函數。
任意一點t0t_0t0?的取樣性質為:
∫?∞∞f(t)δ(t?t0)dt=f(t0)(4.13)\int_{-\infty}^{\infty} f(t) \delta(t - t_0)dt= f(t_0) \tag{4.13}∫?∞∞?f(t)δ(t?t0?)dt=f(t0?)(4.13)
例如: 若f(t)=cos(t)f(t) = \text{cos}(t)f(t)=cos(t),則使用沖激δ(t?π)\delta(t-\pi)δ(t?π)得到結果f(π)=cos(π)=?1f(\pi) = cos(\pi)=-1f(π)=cos(π)=?1
沖激串KaTeX parse error: \tag works only in display equations
離散沖激定義為
δ(x)={1,x=00,x≠0(4.15)\delta(x) = \begin{cases} 1, & x = 0 \\0, & x \neq 0 \end{cases} \tag{4.15}δ(x)={1,0,?x=0x?=0?(4.15)
∑?∞∞δ(x)=1(4.16)\sum_{-\infty}^{\infty}\delta(x)= 1 \tag{4.16}?∞∑∞?δ(x)=1(4.16)
∑?∞∞f(x)δ(x)=f(0)(4.17)\sum_{-\infty}^{\infty} f(x) \delta(x)= f(0) \tag{4.17}?∞∑∞?f(x)δ(x)=f(0)(4.17)
∑?∞∞f(x)δ(x?x0)dt=f(x0)(4.18)\sum_{-\infty}^{\infty} f(x) \delta(x - x_0)dt= f(x_0) \tag{4.18}?∞∑∞?f(x)δ(x?x0?)dt=f(x0?)(4.18)
def impulse(x, x0):return np.piecewise(x, [x==x0, x!=x0], [1, 0])
# 按定義寫的,不知道是否正確,如不正確,請指出,感謝,只做展示
x = np.arange(10)
plt.stem(x, impulse(x, 5), )
plt.show()
def impulse_serial(x):s = np.ones_like(x)return s
# 只做展示
x = np.arange(10)
plt.stem(impulse_serial(x))
plt.show()
連續單變量函數的傅里葉變換
傅里葉變換對
連續變量ttt的連續函數f(t)f(t)f(t)的傅里葉變換由J{f(t)}\mathfrak{J}\{f(t)\}J{f(t)}表示,定義為
J{f(t)}=∫?∞∞f(t)e?j2πμtdt(4.19)\mathfrak{J}\{f(t)\} = \int_{-\infty}^{\infty} f(t) e^{-j2\pi\mu t}dt \tag{4.19}J{f(t)}=∫?∞∞?f(t)e?j2πμtdt(4.19)
J{f(t)}=F(μ)\mathfrak{J}\{f(t)\} = F(\mu)J{f(t)}=F(μ)
所以有
F(μ)=∫?∞∞f(t)e?j2πμtdt(4.20)F(\mu) = \int_{-\infty}^{\infty} f(t) e^{-j2\pi\mu t}dt \tag{4.20}F(μ)=∫?∞∞?f(t)e?j2πμtdt(4.20)
反變換:
f(t)=∫?∞∞F(μ)e?j2πμtdμ(4.21)f(t) = \int_{-\infty}^{\infty} F(\mu) e^{-j2\pi\mu t}d\mu \tag{4.21}f(t)=∫?∞∞?F(μ)e?j2πμtdμ(4.21)
通常表示為f(t)?F(μ)f(t) \Leftrightarrow F(\mu)f(t)?F(μ)
使用歐拉公式,可以寫為
F(μ)=∫?∞∞f(t)[cos(2πμt)?jsin(2πμt)]dt(4.22)F(\mu) = \int_{-\infty}^{\infty} f(t) [\text{cos}(2\pi \mu t) - \text{jsin}(2\pi \mu t)]dt \tag{4.22}F(μ)=∫?∞∞?f(t)[cos(2πμt)?jsin(2πμt)]dt(4.22)
傅里葉變換是f(t)f(t)f(t)乘以正弦函數的展開式, 其中正弦函數的頻率是由μ\muμ值決定。因此積分后留下的唯一變量是頻率,因此,我們說傅里葉變換域是頻率域。
盒式函數的傅里葉變換
F(μ)=∫?∞∞f(t)e?j2πμtdt=∫?W/2W/2f(t)Ae?j2πμtdt=?Aj2πμ[e?j2πμt]?W/2W/2=?Aj2πμ[e?jπμW?ejπμW]=Aj2πμ[ejπμW?e?jπμW]=AWsin(πμW)(πμW)\begin{aligned} F(\mu) & = \int_{-\infty}^{\infty} f(t) e^{-j2\pi\mu t}dt = \int_{-W/2}^{W/2} f(t) A e^{-j2\pi\mu t}dt\\ & = \frac{-A}{j2\pi\mu}[e^{-j2\pi\mu t}]_{-W/2}^{W/2} = \frac{-A}{j2\pi\mu}[e^{-j\pi\mu W} - e^{j\pi\mu W}]\\ & = \frac{A}{j2\pi\mu}[e^{j\pi\mu W} - e^{-j\pi\mu W}] \\ & = AW \frac{sin(\pi \mu W)}{(\pi \mu W)} \\ \end{aligned}F(μ)?=∫?∞∞?f(t)e?j2πμtdt=∫?W/2W/2?f(t)Ae?j2πμtdt=j2πμ?A?[e?j2πμt]?W/2W/2?=j2πμ?A?[e?jπμW?ejπμW]=j2πμA?[ejπμW?e?jπμW]=AW(πμW)sin(πμW)??
最后的結果是sinc\text{sinc}sinc函數
sinc(m)=sin(πm)(πm)(4.23)\text{sinc}(m) = \frac{\text{sin}(\pi m)}{(\pi m)} \tag{4.23}sinc(m)=(πm)sin(πm)?(4.23)
通常傅里葉變換中包含復數項,這是為了顯示變換的幅值(一個實量)的約定。這個幅值稱為傅里葉頻譜或頻譜:
∣F(μ)∣=AW∣sin(πμW)(πμW)∣|F(\mu)| = AW \bigg|\frac{sin(\pi \mu W)}{(\pi \mu W)}\bigg|∣F(μ)∣=AW∣∣∣∣?(πμW)sin(πμW)?∣∣∣∣?
def box_function(x, w):w_2 = w / 2y = np.where(x, x > -w_2, 0)y = np.where(x < w_2, y, 0)return y
import mpl_toolkits.axisartist as axisartist
def setup_axes(fig, rect):ax = axisartist.SubplotZero(fig, rect)fig.add_axes(ax)for direction in ["xzero", "yzero"]:# adds arrows at the ends of each axisax.axis[direction].set_axisline_style("-|>")# adds X and Y-axis from the originax.axis[direction].set_visible(True)for direction in ["left", "right", "bottom", "top"]:# hides bordersax.axis[direction].set_visible(False)return ax
# 盒式函數的傅里葉變換
x = np.arange(-5, 5, 0.1)
y = box_function(x, 6)fig = plt.figure(figsize=(15, 5))
ax_1 = setup_axes(fig, 131)
ax_1.plot(x, y), ax_1.set_title('f(t)', loc='center', y=1.05), ax_1.set_ylim([0, 2]), ax_1.set_yticks([])f_u = np.sinc(x)
ax_2 = setup_axes(fig, 132)
ax_2.plot(x, f_u), ax_2.set_title('F(u)', loc='center', y=1.05), ax_2.set_yticks([]), #ax_2.set_ylim([-1, 2]),f_u_absolute = abs(f_u)
ax_3 = setup_axes(fig, 133)
ax_3.plot(x, f_u_absolute), ax_3.set_title('|F(u)|', loc='center', y=1.05), ax_3.set_yticks([]), #ax_3.set_ylim([-1, 2]),plt.tight_layout()
plt.show()
沖激和沖激串的傅里葉變換
J{δ(t)}=F(μ)=∫?∞∞δ(t)e?j2πμtdt=∫?∞∞e?j2πμtδ(t)dt=e?j2πμ0=e0=1\begin{aligned} \mathfrak{J}\{\delta(t)\} & = F(\mu) = \int_{-\infty}^{\infty} \delta(t) e^{-j2\pi\mu t}dt \\ & = \int_{-\infty}^{\infty} e^{-j2\pi\mu t} \delta(t)dt \\ & = e^{-j2\pi\mu_0} \\ & = e^0 = 1 \end{aligned}J{δ(t)}?=F(μ)=∫?∞∞?δ(t)e?j2πμtdt=∫?∞∞?e?j2πμtδ(t)dt=e?j2πμ0?=e0=1?
J{δ(t?t0)}=F(μ)=∫?∞∞δ(t?t0)e?j2πμtdt=∫?∞∞e?j2πμtδ(t?t0)dt=e?j2πμt0\begin{aligned} \mathfrak{J}\{\delta(t - t_0)\} & = F(\mu) = \int_{-\infty}^{\infty} \delta(t - t_0) e^{-j2\pi\mu t}dt \\ & = \int_{-\infty}^{\infty} e^{-j2\pi\mu t} \delta(t - t_0)dt \\ & = e^{-j2\pi\mu t_0} \\ \end{aligned}J{δ(t?t0?)}?=F(μ)=∫?∞∞?δ(t?t0?)e?j2πμtdt=∫?∞∞?e?j2πμtδ(t?t0?)dt=e?j2πμt0??
沖激串的傅里葉變換
S(μ)=J{SΔT(t)}=J{1Δ∑n=?∞∞ej2πnΔTt}=1ΔTJ{∑n=?∞∞ej2πnΔTt}=1ΔT∑n=?∞∞δ(μ?nΔT)\begin{aligned} S(\mu) & = \mathfrak{J}\{S_{\Delta T}(t)\} = \mathfrak{J}\{\frac{1}{\Delta } \sum_{n=-\infty}^{\infty} e^{j\frac{2\pi n}{\Delta T}t}\} \\ & = \frac{1}{\Delta T} \mathfrak{J}\{\sum_{n=-\infty}^{\infty} e^{j\frac{2\pi n}{\Delta T}t}\} \\ & = \frac{1}{\Delta T} \sum_{n=-\infty}^{\infty} \delta(\mu - \frac{n}{\Delta T}) \\ \end{aligned}S(μ)?=J{SΔT?(t)}=J{Δ1?n=?∞∑∞?ejΔT2πn?t}=ΔT1?J{n=?∞∑∞?ejΔT2πn?t}=ΔT1?n=?∞∑∞?δ(μ?ΔTn?)?
卷積
(f?h)(t)=∫?∞∞f(τ)h(t?τ)dτ(4.24)(f\star h)(t) = \int_{-\infty}^{\infty} f(\tau) h(t - \tau) d\tau \tag{4.24}(f?h)(t)=∫?∞∞?f(τ)h(t?τ)dτ(4.24)
J{(f?h)(t)}=∫?∞∞[∫?∞∞f(τ)h(t?τ)dτ]e?j2πμtdt=∫?∞∞f(τ)[∫?∞∞h(t?τ)e?j2πμtdt]dτ=H(μ)∫?∞∞f(τ)e?j2πμτdτ=H(μ)F(μ)=(H?F)(μ)\begin{aligned} \mathfrak{J}\{(f \star h)(t) \} & = \int_{-\infty}^{\infty} \bigg[\int_{-\infty}^{\infty} f(\tau) h(t - \tau) d\tau \bigg] e^{-j2\pi \mu t} dt\\ & = \int_{-\infty}^{\infty} f(\tau) \bigg[\int_{-\infty}^{\infty} h(t - \tau) e^{-j2\pi \mu t} dt\bigg] d\tau \\ & = H(\mu) \int_{-\infty}^{\infty} f(\tau) e^{-j2\pi \mu \tau} d\tau \\ & = H(\mu)F(\mu) = (H \bullet F)(\mu) \end{aligned}J{(f?h)(t)}?=∫?∞∞?[∫?∞∞?f(τ)h(t?τ)dτ]e?j2πμtdt=∫?∞∞?f(τ)[∫?∞∞?h(t?τ)e?j2πμtdt]dτ=H(μ)∫?∞∞?f(τ)e?j2πμτdτ=H(μ)F(μ)=(H?F)(μ)?
-
傅里葉正變換
(f?h)(t)?(H?F)(μ)(4.25)(f\star h)(t) \Leftrightarrow (H \bullet F)(\mu) \tag{4.25}(f?h)(t)?(H?F)(μ)(4.25) -
傅里葉反變換
(f?h)(t)?(H?F)(μ)(4.26)(f\bullet h)(t) \Leftrightarrow (H \star F)(\mu) \tag{4.26}(f?h)(t)?(H?F)(μ)(4.26)