diff --git a/measurement-data/.gitattributes b/measurement-data/.gitattributes new file mode 100644 index 0000000..305a9b0 --- /dev/null +++ b/measurement-data/.gitattributes @@ -0,0 +1,2 @@ +*.ipynb filter=nbstripout +*.ipynb diff=ipynb diff --git a/measurement-data/.gitignore b/measurement-data/.gitignore new file mode 100644 index 0000000..20377d5 --- /dev/null +++ b/measurement-data/.gitignore @@ -0,0 +1 @@ +.ipynb_checkpoints/* diff --git a/measurement-data/Analog Measurement Analysis.ipynb b/measurement-data/Analog Measurement Analysis.ipynb new file mode 100644 index 0000000..64e7603 --- /dev/null +++ b/measurement-data/Analog Measurement Analysis.ipynb @@ -0,0 +1,168 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.core.display import display, HTML\n", + "display(HTML(\"\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Read in Measurements" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "constant_sampling = pd.read_csv(r'1000OhmSampling.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Calculation Function for $\\vartheta(R_{PT1000})$\n", + "$\\vartheta(R_{PT1000}) = \\frac{-\\alpha R_0 + \\sqrt{\\alpha^2R_0^2 - 4\\beta R_0 \\left(R_0 - R_{PT1000}\\right)}}{2\\beta R_0}$\n", + "\n", + "with\n", + "* $\\alpha = 3.9083 \\cdot 10^{-3}$\n", + "* $\\beta = -5.7750 \\cdot 10^{-7}$\n", + "* $R_0 = 1000~\\Omega$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "R_zero = 1000.0\n", + "A = 3.9083E-3\n", + "B = -5.7750E-7\n", + "\n", + "def calc_temp(resistance):\n", + " temp = (-R_zero * A + np.sqrt(R_zero*R_zero * A * A - 4* R_zero * B * (R_zero - resistance)))/(2*R_zero*B)\n", + " return temp" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Description of ADC Value" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(constant_sampling['adc_results.pa2_raw'].describe())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "--------------------\n", + "# Calculate Temperature from Resistance Value" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "constant_sampling['temp_calculated'] = constant_sampling.apply(lambda row: calc_temp(row['ext_lf_corr']) , axis=1)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Histograms -- Starting from Index 100" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(28,6))\n", + "signal_list = [('adc_results.pa2_raw', 25), ('ext_lf_corr', 25), ('temp_calculated', 25)]\n", + "for ax,sig in zip(axes, signal_list):\n", + " n, bins, patches = ax.hist(constant_sampling[sig[0]][100:], 25, density=1)\n", + " mu = np.mean(constant_sampling[sig[0]][100:])\n", + " sigma = np.std(constant_sampling[sig[0]][100:])\n", + " y = ((1 / (np.sqrt(2 * np.pi) * sigma)) * np.exp(-0.5 * (1 / sigma * (bins - mu))**2))\n", + " ax.plot(bins, y)\n", + " ax.set_title('Histogram and Standard Deviation of '+sig[0])\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Startup of Moving Average Filter with $\\alpha' = 0.005$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(nrows=2, ncols=1, figsize=(28,6), sharex=True)\n", + "data = constant_sampling['ext_lf_corr'][:20]\n", + "ax[0].plot(constant_sampling['Time'][:20], data)\n", + "ax[1].plot(constant_sampling['Time'][:20], constant_sampling['temp_calculated'][:20])\n", + "plt.show()" + ] + } + ], + "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.8.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}