Skip to content

Instantly share code, notes, and snippets.

@tritemio
Last active August 29, 2015 14:15
Show Gist options
  • Save tritemio/162925a69a6ec29cdfe1 to your computer and use it in GitHub Desktop.
Save tritemio/162925a69a6ec29cdfe1 to your computer and use it in GitHub Desktop.
matplotlib spectrogram
{
"metadata": {
"name": "",
"signature": "sha256:f2f3593c1d178e2336d96bcb978c3642ce5e0a5943dbf554e24448310bff2a7b"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# FFT and Power Density Spectrum\n",
"\n",
"This notebook compares the PDS computed manually from `numpy.fft.rfft` and the PDF returned by `matplotlib.mlab.specgram`.\n",
"\n",
"The test signal is composed by 4 sinusoids of different frequency and same amplitude."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from __future__ import division"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib import mlab"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sampling_freq = 200\n",
"total_length = 2000"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"time = np.arange(total_length)/sampling_freq"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fn = sampling_freq*0.5\n",
"noise = np.random.randn(total_length)\n",
"sin1 = np.cos(2*np.pi*fn*time)\n",
"sin2 = np.cos(2*np.pi*fn/2*time)\n",
"sin3 = np.cos(2*np.pi*fn*3/4*time)\n",
"sin4 = np.cos(2*np.pi*fn/4*time)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"signal = sin1 + sin2 + sin3 + sin4"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Manual PDS calculation"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nfft = 256\n",
"noverlap = 128\n",
"chunked_signal = mlab.stride_windows(signal, nfft, noverlap=noverlap)\n",
"\n",
"fft = np.fft.rfft(chunked_signal, axis=0)\n",
"fft[1:-1] *= 2\n",
"\n",
"frequency = np.arange(nfft/2 + 1)/(nfft/2)*sampling_freq/2"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pds = np.abs(fft)**2\n",
"\n",
"fig, ax = plt.subplots(2, 1, figsize=(12, 3))\n",
"freqbin = frequency[1] - frequency[0]\n",
"ax[0].imshow(pds.T, interpolation='none', cmap='cubehelix',\n",
" extent=(-freqbin/2, frequency[-1] + freqbin/2, -0.5, pds.shape[1] + 0.5), aspect=0.5)\n",
"ax[0].tick_params(length=5, direction='out')\n",
"ax[0].set_xticks([0, 25, 50, 75, 100])\n",
"ax[1].set_xticks([0, 25, 50, 75, 100])\n",
"ax[1].plot(frequency, pds.mean(1), marker='.')\n",
"ax[1].set_xlabel('Frequency (Hz)');"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x7f3c0b756790>"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# `mlab.specgram` PDS"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fullspec, freq, t = mlab.specgram(signal, Fs=sampling_freq, mode='psd',\n",
" NFFT=256, noverlap=128, window=mlab.window_none)\n",
"spec = fullspec\n",
"\n",
"fig, ax = plt.subplots(2, 1, figsize=(12, 3))\n",
"freqbin = freq[1] - freq[0]\n",
"ax[0].imshow(spec.T, interpolation='none', cmap='cubehelix',\n",
" extent=(-freqbin/2, freq[-1] + freqbin/2, -0.5, spec.shape[1] + 0.5), aspect=0.5)\n",
"ax[0].tick_params(length=5, direction='out')\n",
"ax[0].set_xticks(freq[::8])\n",
"ax[1].plot(freq, spec.mean(1), marker='.')\n",
"ax[1].set_xlabel('Frequency (Hz)');"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x7f3c0b7561d0>"
]
}
],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fullspec[-1].mean(), fullspec[32].mean(), fullspec[64].mean(), "
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 10,
"text": [
"(1.2799999999999894, 0.64000000000000523, 0.64000000000000334)"
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment