Last active
June 24, 2016 06:04
-
-
Save peace098beat/bae66f388f8593546354f40efd26f6dc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "%matplotlib inline\n", | |
| "import numpy as np\n", | |
| "from matplotlib import pyplot as plt" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 355, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "ms = 1/1000." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 479, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "TMAX = 100 * ms\n", | |
| "FS = 48000\n", | |
| "T0= 20 * ms\n", | |
| "T = 0.5 * ms\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 480, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "4800\n", | |
| "65536\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "t = np.linspace(0, TMAX, (TMAX)*FS)\n", | |
| "print(len(t))\n", | |
| "print(2**16)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 481, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "y = np.zeros_like(t)\n", | |
| "# 矩形は\n", | |
| "# y[int(T0*FS) : int(T0*FS+T*FS)] = 1\n", | |
| "# y[0: int(T*FS)] = 1\n", | |
| "\n", | |
| "# ハーフサイン\n", | |
| "f0 = 1./(2.*T)\n", | |
| "# f0=10\n", | |
| "y = np.sin(2.*np.pi*f0*t)\n", | |
| "y[0:int(T0*FS)]=0\n", | |
| "y[int((T0+T)*FS):]=0" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 482, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[<matplotlib.lines.Line2D at 0x33656210>]" | |
| ] | |
| }, | |
| "execution_count": 482, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\nQmCC\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x32107850>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "# Signal \n", | |
| "plt.plot(t,y,'.')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 488, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "65536\n", | |
| "[ 0. 10. 20. ..., -30. -20. -10.]\n", | |
| "4800 4800\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# FFT\n", | |
| "nfft = 2**16\n", | |
| "\n", | |
| "Y_c = np.fft.fft(y)\n", | |
| "\n", | |
| "Y_amp = np.abs(Y_c)\n", | |
| "Y_r = np.real(Y_c)\n", | |
| "Y_i = np.imag(Y_c)\n", | |
| "Y_ang = np.angle(Y_c)\n", | |
| "\n", | |
| "freq = np.fft.fftfreq(len(Y_c), 1./FS)\n", | |
| "\n", | |
| "# freq = np.fft.fftshift(freq)\n", | |
| "print(nfft)\n", | |
| "print(freq)\n", | |
| "print(len(Y_c), len(freq))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 489, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[<matplotlib.lines.Line2D at 0x34960f10>]" | |
| ] | |
| }, | |
| "execution_count": 489, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x348dc790>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "# FFT Plot\n", | |
| "fig=plt.figure()\n", | |
| "\n", | |
| "fig.add_subplot(3,1,1)\n", | |
| "# plt.plot( freq, 20*np.log10(Y_amp))\n", | |
| "plt.plot( freq, (Y_amp))\n", | |
| "plt.xlim(0,20000)\n", | |
| "\n", | |
| "fig.add_subplot(3,1,2)\n", | |
| "plt.plot( freq, 20*np.log10(Y_amp))\n", | |
| "plt.xlim(0,20000)\n", | |
| "\n", | |
| "# fig.add_subplot(2,2,2)\n", | |
| "# plt.plot(20*np.log10(Y_amp))\n", | |
| "fig.add_subplot(3,1,3)\n", | |
| "plt.plot(np.unwrap(Y_ang))\n", | |
| "\n", | |
| "# fig.add_subplot(2,2,4)\n", | |
| "# plt.plot(Y_r,Y_i)\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 495, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "# Inverse FFT\n", | |
| "iy = np.fft.ifft(Y_c)\n", | |
| "iy = np.real(iy)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 497, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[<matplotlib.lines.Line2D at 0x34b6e570>]" | |
| ] | |
| }, | |
| "execution_count": 497, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x34a340f0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt.plot(t,iy)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "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.5.1" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment