Skip to content

Instantly share code, notes, and snippets.

@sonsongithub
Last active January 17, 2024 05:15
Show Gist options
  • Save sonsongithub/30368b356df31db98e537ca6cc7ea43b to your computer and use it in GitHub Desktop.
Save sonsongithub/30368b356df31db98e537ca6cc7ea43b to your computer and use it in GitHub Desktop.
FFTのおさらいメモ
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## FFTの勉強メモ\n",
"\n",
"#### 離散と連続,周期と非周期の関係\n",
"\n",
"離散フーリエ変換は,元の空間の信号が周期的,かつサンプリングが離散的なので,周波数空間でも値を取るところが離散的で,周波数が周期的になる.\n",
"\n",
"#### 基本周波数\n",
"\n",
"フーリエ級数展開やフーリエ変換で,基底となる正弦波の基本周波数をサンプリングの周期から決めるのは簡単のためである.別に,どんな基本周波数をとっても問題はない.\n",
"\n",
"#### ナイキスト定理\n",
"\n",
"ナイキスト定理の直感的理解のひとつとして,サンプリングがデルタ関数をたたみ込むことと同値であるという考え方がある.つまり,式で書くと,\n",
"\n",
"$$X_{\\mathrm{d}}\\left(\\Omega T_{\\mathrm{s}}\\right)=\\int_{-\\infty}^{\\infty}\\left\\{\\sum_{n=-\\infty}^{\\infty} \\delta\\left(t-n T_{\\mathrm{s}}\\right)\\right\\} x(t) e^{-j \\Omega t} d t$$\n",
"\n",
"となる.この $\\delta_{T_{\\mathrm{s}}}(t)=\\sum_{n=-\\infty}^{\\infty} \\delta\\left(t-n T_{\\mathrm{s}}\\right)$ 関数のことを櫛形関数と呼ぶ.櫛形関数は,フーリエ変換しても櫛形関数である.離散フーリエ変換した結果は,この櫛形関数を原信号にたたみ込んだものをフーリエ変換したものと同値である.\n",
"\n",
"$$X_{\\mathrm{d}}\\left(\\Omega T_{\\mathrm{s}}\\right)=\\mathcal{F}\\left[\\left\\{\\sum_{n=-\\infty}^{\\infty} \\delta\\left(t-n T_{\\mathrm{s}}\\right)\\right\\} x(t)\\right]$$\n",
"\n",
"このことから,離散フーリエ変換の結果は,原信号のフーリエ変換の結果とこの櫛形関数を使って,\n",
"\n",
"$$X_{\\mathrm{d}}\\left(\\Omega T_{\\mathrm{s}}\\right)=\\frac{1}{2 \\pi} \\mathcal{F}\\left[\\sum_{n=-\\infty}^{\\infty} \\delta\\left(t-n T_{\\mathrm{s}}\\right)\\right] * X(\\Omega)$$\n",
"\n",
"とかける.んで,がんばって計算すると,離散フーリエ変換の結果は,\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
"X_{\\mathrm{d}}\\left(\\Omega T_{\\mathrm{s}}\\right) & =\\frac{1}{T_{\\mathrm{s}}} \\delta_{\\Omega_{\\Omega}}(\\Omega) * X(\\Omega) \\\\\n",
"& =\\frac{1}{T_{\\mathrm{s}}} \\sum_{k=-\\infty}^{\\infty} X\\left(\\Omega-k \\Omega_{\\mathrm{s}}\\right)\n",
"\\end{aligned}\n",
"$$\n",
"\n",
"と書くことができ,これは,元々のフーリエ変換の結果を,サンプリング周波数だけズラして足し合わせたものと言える.\n",
"このことから,原信号の周波数領域での値$X(\\Omega)$が,サンプリング周波数の半分以上の広がりを持つ場合,足し合わせた結果が,重なってしまい,正しい離散フーリエ変換の結果が得られなくなる.この重なりをエイリアシングと呼ぶ."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"処理対象の信号の定義.\n",
"$T$は,原信号の周期.$F$は,周波数."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# original signal\n",
"T = 0.5\n",
"F = 1 / T\n",
"\n",
"signal_func = lambda t: np.sin(2 * np.pi * F * 1 * t) * 2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"処理対象の信号の定義.\n",
"$T_s$は,サンプリング周期.$F$は,サンプリング周波数.\n",
"サンプリング数を$N$とすると,自然,サンプリング時間$T_o$は,$T_s \\times N$となる.\n",
"\n",
"離散フーリエ変換の定義は,\n",
"\n",
"$$\n",
"F[k]=\\sum_{n=0}^{N-1} f[n] e^{-j \\frac{2 \\pi}{N} k n}\n",
"$$\n",
"\n",
"この式は,基本周波数$\\omega$が$1/T_o$,$t=n \\cdot T_s$とすると,\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
"F[k] &= \\sum_{n=0}^{N-1} f(t) \\cdot e^{-2 \\pi j \\cdot \\omega t} \\\\\n",
" &= \\sum_{n=0}^{N-1} f(n \\cdot T_s) \\cdot e^{-j \\frac{2 \\pi}{T_o} \\cdot k \\cdot n \\cdot T_s} \\\\\n",
" &= \\sum_{n=0}^{N-1} f(n \\cdot T_s) \\cdot e^{-j \\frac{2 \\pi}{T_s \\cdot N} \\cdot k \\cdot n \\cdot T_s} \\\\\n",
" &= \\sum_{n=0}^{N-1} f(n \\cdot T_s) \\cdot e^{-j \\frac{2 \\pi}{N} \\cdot k \\cdot n} \\\\\n",
" &= \\sum_{n=0}^{N-1} f[n] \\cdot e^{-j \\frac{2 \\pi}{N} \\cdot k \\cdot n} \\\\\n",
"\\end{aligned}\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# sampling\n",
"Ts = 0.01\n",
"Fs = 1/Ts\n",
"\n",
"sampling_t = np.arange(0, 1, Ts)\n",
"sampling_t = sampling_t[:64]\n",
"f = signal_func(sampling_t)\n",
"N = sampling_t.shape[0]\n",
"\n",
"# Fourier Transform\n",
"Fk = np.zeros(N, dtype=complex)\n",
"for k in range(N):\n",
" indices = np.arange(0, N, 1)\n",
" a = np.sum(np.exp(-1j * 2.0 * np.pi * float(k) / float(N) * indices) * f)\n",
" Fk[k] = a"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"得られた$F[k]$に対応する周波数は,$k$が$0$から$N-1$までの正規化周波数を$2\\pi$で割ったものである.\n",
"なので,周波数を横軸にパワースペクトルを見たい場合は,\n",
"\n",
"$$\n",
"\\omega = \\frac{k}{T_s \\cdot N}\n",
"$$\n",
"\n",
"として,周波数に戻してあげる.\n",
"\n",
"パワースペクトルは,離散フーリエ変換の結果の絶対値を"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# sampling\n",
"Ts = 0.01\n",
"Fs = 1/Ts\n",
"\n",
"sampling_t = np.arange(0, 1, Ts)\n",
"sampling_t = sampling_t[:64]\n",
"f = signal_func(sampling_t)\n",
"N = sampling_t.shape[0]\n",
"\n",
"# Fourier Transform\n",
"Fk = np.zeros(N, dtype=complex)\n",
"for k in range(N):\n",
" indices = np.arange(0, N, 1)\n",
" a = np.sum(np.exp(-1j * 2.0 * np.pi * float(k) / float(N) * indices) * f)\n",
" Fk[k] = a"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"逆離散フーリエ変換は,\n",
"\n",
"$$\n",
"\\begin{gathered}\n",
"f[n]=\\frac{1}{N} \\sum_{k=0}^{N-1} F[k] \\cdot e^{j w_0 k n}\n",
"\\end{gathered}\n",
"$$\n",
"\n",
"このとき$N$の半分は,同じで折り返しになっているので,和を$n=\\frac{N-1}{2}$までしか取らない書き方もある.\n",
"しかし,$N$まで足さないと元の信号に戻らないので,$n=\\frac{N-1}{2}$でしか足さない場合は,$2$倍する必要がある.\n",
"\n",
"$$\n",
"\\begin{gathered}\n",
"f[n]=\\frac{2}{N} \\sum_{k=0}^{\\frac{N-1}{2}} F[k] \\cdot e^{j w_0 k n} \\\\\n",
"=\\sum_{k=0}^{\\frac{N-1}{2}} \\frac{2}{N} F[k] \\cdot e^{j w_0 k n}\n",
"\\end{gathered}\n",
"$$\n",
"\n",
"となる.\n",
"なので,一部の本やソースコードで,フーリエ係数に$2/N$をフーリエ係数にかけているものがある.\n",
"\n",
"こういったことから,下のグラフのように周波数を横軸,縦軸にパワースペクトルをとると,折り返しの部分も含めて足さないと元の信号に戻らないことになる."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"w = np.arange(N) / (Ts * N)\n",
"plt.plot(w, np.abs(Fk)/(N))\n",
"plt.ylabel('amplitude')\n",
"plt.xlabel('frequency [Hz]')\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"そういう観点で,ナイキストレート以下の周波数のみでパワースペクトルを可視化する場合は,以下のように2倍すると直感的にスケールがあう."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"w = np.arange(N) / (Ts * N)\n",
"plt.plot(w[:int(N/2)], np.abs(Fk[:int(N/2)])/(N/2))\n",
"plt.ylabel('amplitude')\n",
"plt.xlabel('frequency [Hz]')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"離散逆フーリエ変換の結果を確認する."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Inverse Fourier Transform\n",
"fk = np.zeros(N, dtype=complex)\n",
"for k in range(N):\n",
" indices = np.arange(0, N, 1)\n",
" a = np.sum(np.exp(1j * 2.0 * np.pi * float(k) / float(N) * indices) * Fk)\n",
" fk[k] = a / N\n",
"\n",
"# original signal data\n",
"t = np.arange(0, np.max(sampling_t), 0.0005)\n",
"raw_signal = signal_func(t)\n",
"\n",
"plt.plot(sampling_t, fk.real, label=\"IDFT\")\n",
"plt.plot(t, raw_signal, label=\"Original\")\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"NumPyの場合"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# sampling\n",
"Ts = 0.01\n",
"Fs = 1/Ts\n",
"\n",
"sampling_t = np.arange(0, 1, Ts)\n",
"sampling_t = sampling_t[:64]\n",
"f = signal_func(sampling_t)\n",
"N = sampling_t.shape[0]\n",
"\n",
"Fk = np.fft.fft(f)\n",
"freq = np.fft.fftfreq(N, d=Ts)\n",
"plt.plot(w, np.abs(Fk)/N)\n",
"plt.ylabel('amplitude')\n",
"plt.xlabel('frequency [Hz]')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Aruduinoの場合\n",
"\n",
"```\n",
"#include <M5Core2.h>\n",
"#include \"arduinoFFT.h\"\n",
"\n",
"#define SAMPLING_FREQUENCY 100\n",
"const uint16_t FFTsamples = 64; // サンプル数は2のべき乗\n",
"\n",
"double vReal[FFTsamples];\n",
"double vImag[FFTsamples];\n",
"arduinoFFT FFT = arduinoFFT(vReal, vImag, FFTsamples, SAMPLING_FREQUENCY);\n",
"\n",
"void dofft() {\n",
" // FFT.Windowing(FFT_WIN_TYP_HAMMING, FFT_FORWARD); // 窓関数\n",
" FFT.Compute(FFT_FORWARD); // FFT処理(複素数で計算)\n",
" FFT.ComplexToMagnitude(); // 複素数を実数に変換\n",
"\n",
" for (int i = 0; i < FFTsamples; i++) {\n",
" Serial.printf(\"%f, %f\\n\", i * float(SAMPLING_FREQUENCY) / float(FFTsamples), vReal[i]);\n",
" }\n",
"}\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"エイリアシングの例"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# original signal\n",
"T = 0.05\n",
"w = 1 / T\n",
"# print(w)\n",
"omega = 2 * np.pi / T\n",
"\n",
"signal_func = lambda t: np.sin(omega * t) * 3 + np.sin(omega * 2 * t) * 1.5\n",
"\n",
"# original signal data\n",
"t = np.arange(0, 1.0, 0.001)\n",
"raw_signal = signal_func(t)\n",
"\n",
"# sampling\n",
"Ts = 0.01\n",
"Fs = 1/Ts\n",
"\n",
"sampling_t = np.arange(0, 1, Ts)\n",
"sampling_t = sampling_t[:64]\n",
"f = signal_func(sampling_t)\n",
"N = sampling_t.shape[0]\n",
"\n",
"# Fourier Transform\n",
"Fk = np.zeros(N, dtype=complex)\n",
"for k in range(N):\n",
" indices = np.arange(0, N, 1)\n",
" a = np.sum(np.exp(-1j * 2.0 * np.pi * float(k) / float(N) * indices) * f)\n",
" Fk[k] = a\n",
"w = np.arange(N) / (Ts * N)\n",
"plt.plot(w, np.abs(Fk)/(N/2))\n",
"plt.title('Sampling Frequency: 100Hz')\n",
"plt.xlabel('frequency [Hz]')\n",
"plt.ylabel('amplitude')\n",
"plt.show()\n",
"\n",
"# sampling\n",
"Ts = 0.02\n",
"Fs = 1/Ts\n",
"\n",
"sampling_t = np.arange(0, 2, Ts)\n",
"sampling_t = sampling_t[:64]\n",
"f = signal_func(sampling_t)\n",
"N = sampling_t.shape[0]\n",
"\n",
"# Fourier Transform\n",
"Fk = np.zeros(N, dtype=complex)\n",
"for k in range(N):\n",
" indices = np.arange(0, N, 1)\n",
" a = np.sum(np.exp(-1j * 2.0 * np.pi * float(k) / float(N) * indices) * f)\n",
" Fk[k] = a\n",
"w = np.arange(N) / (Ts * N)\n",
"plt.plot(w, np.abs(Fk)/(N/2))\n",
"plt.title('Sampling Frequency: 50Hz')\n",
"plt.xlabel('frequency [Hz]')\n",
"plt.ylabel('amplitude')\n",
"plt.show()\n",
"\n",
"# Inverse Fourier Transform\n",
"fk = np.zeros(N, dtype=complex)\n",
"for k in range(N):\n",
" indices = np.arange(0, N, 1)\n",
" a = np.sum(np.exp(1j * 2.0 * np.pi * float(k) / float(N) * indices) * Fk)\n",
" fk[k] = a / N\n",
"\n",
"plt.plot(sampling_t, fk.real)\n",
"plt.plot(t, raw_signal)\n",
"plt.ylabel('amplitude')\n",
"plt.xlabel('time[sec]')\n",
"plt.show()\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment