Skip to content

Instantly share code, notes, and snippets.

@yuichiro-shibata
Created April 29, 2021 08:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuichiro-shibata/feac56e4deb04d3fd889084f5d312633 to your computer and use it in GitHub Desktop.
Save yuichiro-shibata/feac56e4deb04d3fd889084f5d312633 to your computer and use it in GitHub Desktop.
ACRi ブログ「DA コンバータがなくてもできる FPGA ピアノ (2)」の周波数解析ノートブック
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# パルス波の周波数解析"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"周波数440 Hz、デューティ50 % のパルス波を生成しプロット"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 0.01)"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# パルス周波数 (Hz)\n",
"fp = 440\n",
"# サンプリング周波数 (Hz)\n",
"fs = 100000 \n",
"# パルスデューティ\n",
"duty = 0.5 \n",
"# 解析時間 (秒)\n",
"T = 1 \n",
"\n",
"t = np.linspace(0, T, T * fs, endpoint=False)\n",
"x = np.floor(t * fp) - np.floor(t * fp - duty) - 0.5\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.plot(t, x)\n",
"ax.set_xlabel('time [s]')\n",
"ax.set_ylabel('Amplitude');\n",
"ax.set_xlim(0, 0.01)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"フーリエ変換し周波数領域でプロット"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 35000.0)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.fft.fft(x)\n",
"freqs = np.fft.fftfreq(len(x)) * fs\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.stem(freqs, np.abs(X))\n",
"ax.set_xlabel('Frequency [Hz]')\n",
"ax.set_ylabel('Spectrum')\n",
"ax.set_xlim(-4000, 4000)\n",
"ax.set_ylim(0, 35000)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"デューティ比だけ25%に変更し時間領域でプロット"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 0.01)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"duty = 0.25\n",
"\n",
"t = np.linspace(0, T, T * fs, endpoint=False)\n",
"x = np.floor(t * fp) - np.floor(t * fp - duty) - 0.5\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.plot(t, x)\n",
"ax.set_xlabel('time [s]')\n",
"ax.set_ylabel('Amplitude');\n",
"ax.set_xlim(0, 0.01)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"フーリエ変換し周波数領域でプロット"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 35000.0)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X = np.fft.fft(x)\n",
"freqs = np.fft.fftfreq(len(x)) * fs\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.stem(freqs, np.abs(X))\n",
"ax.set_xlabel('Frequency [Hz]')\n",
"ax.set_ylabel('Spectrum')\n",
"ax.set_xlim(-4000, 4000)\n",
"ax.set_ylim(0, 35000)"
]
}
],
"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.9.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment