FFT.ipynb 43.6 KB
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import math\n",
    "import librosa"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "'''\n",
    "주파수의 구성요소 \n",
    "\n",
    "wave = 파장(dx), \n",
    "amplitude = 진폭(dy)\n",
    "1초에 몇번 진동하는지 =  주파수(Frequency) : HZ\n",
    "Phase = 위상 (같은 주기와 진폭을 가졌더라도 위상차가 있다면 두 파동이 엇갈린 형태를 갖는다)\n",
    "\n",
    "'''\n",
    "\n",
    "audio_path = './'\n",
    "filename = audio_path + '1.wav'\n",
    "n_mels = 40\n",
    "n_frame = 500\n",
    "window_size=1024\n",
    "hop_size=512\n",
    "sample_rate=22050"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "'''\n",
    "FFT 계산\n",
    "양측파대 설명 = http://linecard.tistory.com/46\n",
    "우리는 양측파대 안쓰고 단측파대를 쓰나보지..?\n",
    "'''\n",
    "Fs = 22050 # 샘플링 주파수\n",
    "T = 1/Fs # 샘플링 interval time <-? \n",
    "te= 10 #end of time\n",
    "t = np.arange(0,te,T) # Time vector (0초부터 te초까지 T간격으로 떨어져있는 배열생성)\n",
    "data,fs = librosa.core.load(filename,sr=sample_rate) # load the data\n",
    "y = data.T\n",
    "\n",
    "n= len(y) #신호의 길이 (FFT의 샘플개수 결정) (1000)\n",
    "NFFT = n # C++ 에서는 NFFT = 2^nextpow2(length(y)) 해줘야하는데 파이썬에서는 알아서해줌 (FFT의 샘플개수)\n",
    "\n",
    "k=np.arange(NFFT) #NFFT 샘플개수만큼의 배열 (1000개의 원소)\n",
    "\n",
    "f0 = k*Fs/NFFT # <- NFFT 샘플개수만큼의 배열 양측파대 (double side frequency) 범위\n",
    "\n",
    "f0 = f0[range(math.trunc(NFFT/2))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "Y=np.fft.fft(y)/NFFT #y(wave)를 푸리에변환한 후 1000으로 나눔\n",
    "Y=Y[range(math.trunc(NFFT/2))]\n",
    "amplitude_Hz = 2*abs(Y) #\"진폭\"을 구하기위해 abs(푸리에변환한놈)x2해줌\n",
    "phase_ang = np.angle(Y)*180/np.pi\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'y')"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# figure 1 ..................................\n",
    "plt.figure(num=2,dpi=100,facecolor='white')\n",
    "plt.subplots_adjust(hspace = 0.6, wspace = 0.3)\n",
    "plt.subplot(3,1,1)\n",
    "\n",
    "plt.plot(t,y,'r')\n",
    "plt.title('Signal FFT analysis')\n",
    "plt.xlabel('time($sec$)')\n",
    "plt.ylabel('y')\n",
    "#plt.xlim( 0, 0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# amplitude....\n",
    "plt.subplot(3,1,2)\n",
    "\n",
    "# Plot single-sided amplitude spectrum.\n",
    "\n",
    "plt.plot(f0,amplitude_Hz,'r')   #  2* ???\n",
    "plt.xlim( 0, 22050)\n",
    "plt.ylim( 0, 10)\n",
    "#plt.title('Single-Sided Amplitude Spectrum of y(t)')\n",
    "plt.xlabel('frequency($Hz$)')\n",
    "plt.ylabel('amplitude')\n",
    "plt.grid()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Phase .... <- 이해안감\n",
    "#plt.figure(num=2,dpi=100,facecolor='white')\n",
    "plt.subplot(3,1,3)\n",
    "plt.plot(f0,phase_ang,'r')   #  2* ???\n",
    "plt.xlim( 0, 200)\n",
    "plt.ylim( -180, 180)\n",
    "#plt.title('Single-Sided Phase Spectrum of y(t)')\n",
    "plt.xlabel('frequency($Hz$)')\n",
    "plt.ylabel('phase($deg.$)')\n",
    "plt.xticks([0, 60, 120, 200])\n",
    "plt.yticks([-180, -90, 0, 90, 180])\n",
    "plt.grid()\n",
    "\n",
    "plt.savefig(\"./test_figure2.png\",dpi=300)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "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.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}