{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Development Documentation\n", "\n", "This is a growing script to document the performance and development of the ADwin data acquisition and control system." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "init_cell": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline\n", "\n", "import pandas as pd\n", "import scipy.signal as sig\n", "from OpenQlab import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read/Write Transfer Functions\n", "First of all, we want to know the transfer functions of a very simple \"Read 8 channels\", \"Send 8 channels\" program running at different sampling frequencies (corresponding to a ProcessDelay of F_CPU/F_SAMPLE).\n", "\n", " P2_ADCF_MODE(2,1)\n", " ...\n", " P2_Read_ADCF8(module, buffer, 1)\n", " P2_DAC8(module, buffer, 1)\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "init_cell": true }, "outputs": [], "source": [ "fsamples = {\n", " '20k': ['09', '10'],\n", " '50k': ['11', '12'],\n", " '100k': ['13', '15'],\n", " '200k': ['05', '06'],\n", " '500k': ['07', '08']\n", "}\n", "\n", "amplitudes = pd.DataFrame()\n", "phases = pd.DataFrame()\n", "\n", "base_path = 'documentation_data/SCRN00'\n", "for rate, files in fsamples.items():\n", " df = io.import_data(base_path+files[0]+'.TXT', 'ASCII')\n", " amplitudes[rate] = df['SCRN00'+files[0]]\n", " df = io.import_data(base_path+files[1]+'.TXT', 'ASCII')\n", " phases[rate] = df['SCRN00'+files[1]]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 576x576 with 2 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plots.frequency_domain.amplitude_phase(amplitudes, phases, title='Response for various sample rates')\n", "fig.axes[0].legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read/Write with Fixed Delay\n", "\n", "The above transfer functions were made when the DAC outputs are always written immediately after being read. However, we want to do calculations in the mean time. Thus, the time delay between read and write would change depending on the amount of calculations. It might therefore be beneficial to always write the data at the beginning of the Event, i.e. with a constant time delay:\n", "\n", " P2_ADCF_MODE(2,1)\n", " ...\n", " P2_DAC8(module, buffer, 1)\n", " P2_Read_ADCF8(module, buffer, 1)\n", "\n", "This results in an additional delay:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "amplitude = io.import_data(base_path + '13.TXT', 'ASCII')\n", "amplitude.columns = ['100kHz']\n", "phases = io.import_data(base_path + '14.TXT', 'ASCII')\n", "phases = phases.join(io.import_data(base_path + '15.TXT', 'ASCII'))\n", "phases.columns = ['DAC:ADC', 'ADC:DAC']" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 576x576 with 2 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plots.frequency_domain.amplitude_phase(amplitude, phases, title='Response at 100kHz')\n", "fig.axes[1].legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us calculate that delay:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "fsample = 1e5\n", "delta_t = phases['DAC:ADC']/360/phases.index * 1e6" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig2 = delta_t.plot(logx=True, title='Time Delay in $\\mu s$')\n", "fig2.grid()\n", "fig2.set_ylabel('$\\Delta t$');" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "So, roughly 17us, whereas we would expect something on the order of 1/100kHz, i.e. 10us:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10.0" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1/fsample * 1e6" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At first I `P2_DAC8` to write the values, however this first needs to send the values to the DAC module and then starts the conversion, also it cannot synchronously start conversion on both output modules. Therefore I switched to `P2_Write_DAC8` at the end of the Event cycle, which just populates the DAC modules with new values but doesn't convert yet, and then at the start of the cycle I trigger the conversion using `P2_Sync_All`. However this did not lead to a measurable improvement in the time delay." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Second Order Sections\n", "\n", "The most straight forward approach for digital filters is the so-called second-order section (SOS). It has a transfer function that looks like this:\n", "\n", "$$H(z) = \\frac{b_0 + b_1 z^{-1} + b_2 z^{-2}}{a_0 + a_1 z^{-1} + a_2 z^{-2}}\\,.$$\n", "\n", "Usually, it is normalised such that $a_0 = 1$. Any second-order filter (e.g. pole-zero, 2nd order lowpass, notch) can be written in this form, and e.g. `scipy.signal` has functions to calculate the necessary coefficients:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([6.16841884e-11, 1.23368377e-10, 6.16841884e-11]),\n", " array([ 1. , -1.99997279, 0.99997279]))" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sig.bessel(2, 0.5/fsample)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A useful form to digitally calculate such filters is the so-called Direct Form II. It's equation looks like this:\n", "\n", "$$\n", "\\begin{aligned}\n", " y[n] &= b_0 w[n] + b_1 w[n-1] + b_2 w[n-2] \\\\\n", " w[n] &= x[n] - a_1 w[n-1] - a_2 w[n-2]\n", "\\end{aligned}\n", "$$\n", "\n", "In the LIGO filters, things are slightly rearranged:\n", "\n", "$$y[n] = b_0\\bigl(x[n]-(a_1 + b_1/b_0)w[n-1] - (a_2 + b_2/b_0)w[n-2]\\bigr)$$\n", "\n", "Thus, we need the 5 coefficients\n", "\n", "$$\n", "\\begin{aligned}\n", " c_0 &= b_0,\\\\\n", " c_1 &= a_1,\\\\\n", " c_2 &= a_2,\\\\\n", " c_3 &= b_1/b_0,\\\\\n", " c_4 &= b_2/b_0,\n", "\\end{aligned}\n", "$$\n", "\n", "and also storage space for the two _history_ items $w[n-1]$ and $w[n-2]$.\n", "\n", "The actual code then looks like this:\n", "\n", " ' overall gain\n", " out = sos_input * filter_coeffs[1]\n", " ' poles\n", " out = out - filter_history[1] * filter_coeffs[2]\n", " new_history = out - filter_history[2] * filter_coeffs[3] \n", " ' zeros\n", " out = new_history + filter_history[1] * filter_coeffs[4]\n", " out = out + filter_history[2] * filter_coeffs[5]\n", " filter_history[2] = filter_history[1]\n", " filter_history[1] = new_history\n", "\n", "... where indexing in ADwin-Basic starts with 1. And, it works! Here's an example with 4 notch filters and a low-pass filter:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "amplitude = io.import_data(base_path + '16.TXT', 'ASCII')\n", "fig = amplitude.plot(logx=True,legend=False)\n", "fig.grid()\n", "fig.set_ylabel('Magnitude');" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "At 100kHz sample rate and with 8 filter modules, $8*5 = 40$ SOSs, 200 coefficients, this runs at about 46% CPU load (T12 processor module)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Global Arrays and Parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Control register\n", "\n", "#### Par_1: Timer\n", "Time the program is already active. Measured in seconds.\n", "\n", "#### Par_2: Filter bank control register (FBCR)\n", "The least significant byte is used to initiate a reload of filter coefficients from the global data array (i.e., the one that is written to from the control PC). If a bit is set, the filter coefficients of the respective bank are reloaded. Afterwards, the bit is automatically cleared.\n", "<table>\n", "<thead>\n", "<tr>\n", "<th> bit </th>\n", "<th> 7 </th>\n", "<th> 6 </th>\n", "<th> 5 </th> \n", "<th> 4 </th> \n", "<th> 3 </th>\n", "<th> 2 </th> \n", "<th> 1 </th>\n", "<th> 0 </th>\n", "</tr>\n", "</thead>\n", "<tr>\n", "<th> filter bank</th>\n", "<td> 8 </td>\n", "<td> 7 </td>\n", "<td> 6 </td>\n", "<td> 5 </td> \n", "<td> 4 </td>\n", "<td> 3 </td>\n", "<td> 2 </td>\n", "<td> 1 </td>\n", "</tr>\n", "</table>\n", "\n", "#### Par_3: Ramp control register (RCR)\n", "The least significant byte determines which channel should output a ramp. 0 is no output\n", "and values from 1-15 correspond to the output with the respective number. The byte before that determines the step size at which the program writes values from the ramp array. For example for a value of 1, every index of the ramp array is used, while for a value of 2 every second value is written and therefore ramp frequency is doubled. \n", "<table>\n", "<thead>\n", "<tr>\n", "<th> bit </th> \n", "<th> 15 </th>\n", "<th> 14 </th>\n", "<th> 13 </th>\n", "<th> 12 </th>\n", "<th> 11 </th>\n", "<th> 10 </th>\n", "<th> 9 </th>\n", "<th style=\"border-right: 1px solid\"> 8 </th>\n", "<th> 7 </th>\n", "<th> 6 </th>\n", "<th> 5 </th>\n", "<th style=\"border-right: 1px solid\"> 4 </th>\n", "<th> 3 </th>\n", "<th> 2 </th> \n", "<th> 1 </th>\n", "<th> 0 </th>\n", "</tr>\n", "</thead>\n", "<tr>\n", "<th> description </th>\n", "<td colspan=8 style=\"border-right: 1px solid\">step size</td> \n", "<td colspan=4 style=\"border-right: 1px solid\">unused</td>\n", "<td colspan=4>ramp channel</td>\n", "</tr>\n", "</table>\n", "\n", "#### Par_5: Monitor selection (?)\n", "Selection of channel for the monitor function. Writes the input to DAC channel 9, the corresponding aux input to DAC channel 10 and the output to DAC channel 11.\n", "\n", "#### Par_4: Active selection (active_sel)\n", "Selection of channel for active data. Writes the input, corresponding aux input and output in the `active_data` array, which is accessible from the PC.\n", "\n", "#### Par_8: Input sensitivity\n", "\n", "| bit | channel |\n", "| ------ | ------- |\n", "| 0, 1 | 1 |\n", "| 2, 3 | 2 |\n", "| ... | ... |\n", "| 30, 31 | 16 |\n", "\n", "\n", "#### Par_11..18: Filter control register (fcr_1..8)\n", "\n", "Controls which functions of the respective filter (1..8) are enabled, e.g. bit 0 controls the input switch which enabled/disables the input into the filter.\n", "<table>\n", "<thead>\n", "<tr>\n", "<th> bit </th>\n", "<th> 9 </th>\n", "<th> 8 </th>\n", "<th> 7 </th>\n", "<th> 6 </th>\n", "<th> 5 </th>\n", "<th> 4 </th>\n", "<th> 3 </th>\n", "<th> 2 </th>\n", "<th> 1 </th>\n", "<th> 0 </th>\n", "</tr>\n", "</thead>\n", "<tr>\n", "<td> description </td>\n", "<td> AUX </td>\n", "<td> SOS 5 </td>\n", "<td> SOS 4 </td>\n", "<td> SOS 3 </td>\n", "<td> SOS 2 </td>\n", "<td> SOS 1 </td>\n", "<td> unused </td>\n", "<td> offset sw </td>\n", "<td> output sw </td>\n", "<td> input sw </td>\n", "</tr>\n", "</table>\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Data Arrays\n", "#### Filter coefficients (Data_1)\n", "Contains the filter coefficients. 5 for each SOS and 5 SOS for each filter module. The first 5 entries of each Filter correspond to the first SOS the second to the second and so on. For the calculation the values are refactored as mentioned above.\n", "The assignment of Array indexes is the following:\n", "\n", "<html>\n", "<body>\n", "<table>\n", "<thead>\n", "<tr>\n", "<th> index <th>\n", "<th> 1-25 <th>\n", "<th> 26-50 <th>\n", "<th> 51-75 <th>\n", "<th> 76-100 <th>\n", "<th> 101-126 <th>\n", "<th> 126-150 <th>\n", "<th> 151-175 <th>\n", "<th> 176-200 <th>\n", "</tr>\n", "</thead>\n", "<td> Filter Module <td>\n", "<td> 1 <td>\n", "<td> 2 <td>\n", "<td> 3 <td>\n", "<td> 4 <td>\n", "<td> 5 <td>\n", "<td> 6 <td>\n", "<td> 7 <td>\n", "<td> 8 <td>\n", "<tr>\n", "</tr>\n", "</table>\n", "</body>\n", "</html>\n", "\n", "\n", "#### Offset and gain (Data_2)\n", "Contains information for the offset and gain of the filter modules.\n", "\n", "| Index | 1 – 8 | 9 – 16 |\n", "|:------------- |:---------- |:------------ |\n", "| Filter Number | Gain 1 – 8 | Offset 1 – 8 |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### FIFO output\n", "* adc_input_1 (Data_3)\n", "* adc_input_2 (Data_4)\n", "* dac_output (Data_5)\n", "\n", "#### FIFO Tests\n", "* Writing of one channel with 3 values to FIFO needs about $500 \\mathrm{ns}$.\n", "* Reading of all three values with the maximum rate needs about $1.5\\mathrm{MB/s}$.\n", "* Current process time (without FIFO channels) $5037 \\mathrm{ns}$.\n", "* With the current rate of $100 \\mathrm{kHz}$ is it possible to write all 8 channels to FIFO." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculation of digital filters with Python\n", "The filters are designed in the contineous s-plane. To get a discrete time version usable for calculation in realtime with a set frequency, one has to transform the contineous transfer function. The time discret version of the laplace transform is the z-transform. The mapping between s and z is:\n", "$$\n", "z(s)=e^{sT}\\,,\n", "$$\n", "or alternatively,\n", "$$\n", "s(z)= \\frac{1}{T}\\ln(z)\\,,\n", "$$\n", "with $T$ being the inverse sampling rate. Since $\\ln(z)$ is a continuous function and therefore not useful for the calculation with second order sections one has to expand it and stop the expansion after a certain order. One way to do this is stopping the expansion after the first order, this is the so called bilinear transform,\n", "$$\n", "s \\rightarrow \\frac{2}{T}\\frac{z-1}{z+1}\\,.\n", "$$\n", "Since the whole frequency axis gets mapped on the unit circle the transfer functions calculated and designed in the $s$ plane have to be prewarped. This is done by changing the relevant frequencies with:\n", "$$\n", "w'=\\frac{2}{T}\\tan\\left(\\omega\\frac{T}{2}\\right).\n", "$$\n", "The prewarping transform in the code is done after the poles and zeros were calculated and not beforehands.\n", "$$\n", "{\\rm prewarp}(x)=\\frac{x}{|x|}\\frac{2}{T}\\cdot \\tan\\left(0.5\\pi \\cdot \\frac{|x|}{f_n} \\right)\n", "$$\n", "$x$ is the position of the pole/zero in the frequency domain and $f_n$ the nyquist frequency.\n", "This can lead to errors for Filter with a higher order than 1.$$ \\\\ $$ \n", "But for most cases there is no difference as one can see at the example of the second order lowpass and the second order notch filter. The location of the poles $p_{1,2}$ for both is:\n", "$$\n", "p_{1,2}=-\\frac{f_0}{2Q}\\pm \\sqrt{\\left(\\frac{f_0}{2Q}\\right)^2-f_0^2}\\,.\n", "$$\n", "For Q Values larger than 0.5 the absolute square is:\n", "$$\n", "||p_{1,2}||^2=\\left(\\frac{f_0}{2Q}\\right)^2 +f_0^2 -\\left(\\frac{f_0}{2Q}\\right)^2 = f_0^2\\,.\n", "$$\n", "So the result of the bilinear transform is the exact same for any Q value larger than 0.5." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Special properties of the Adwin System\n", "\n", "### Integer Overflow of the write DAC\n", "Since the ADwin system works with 32 bit signed integer numbers and the DAC-module takes only unsigned 16 bit integers, an overflow is created when numbers smaller than 0 or numbers larger than 65535 are used. For values smaller than 0 the last 15 bits and the sign bit are interpreted as 16 bit integer number. For values larger than 65535 the last 16 bits are cutoff so for example. If one wants to write 65536 in the output one gets a 0 which represents -10V or for the negative value of -1 one gets an output of 3.\n", "\n", "### Functions are macros\n", "Care needs to be taken when specifying calculations in function arguments, as they really are only macros that get replaced inline. E.g., if one has a function\n", "\n", "```\n", "Function MultiplyBy2(x) as Integer\n", " MultiplyBy2 = x * 2\n", "EndFunction\n", "```\n", "\n", "and then calls this function like `MultiplyBy2(a+1)`, this gets replaced with the actual code `a+1 * 2`, which is obviously evaluated to `a + 2` instead of `(a+1) * 2`.\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Measurements" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Average filter\n", "\n", "| Average | Gain 100Hz [dB] | Gain 10kHz [dB] | Phase 100Hz [°] | Phase 10kHz [°] | Aliasing (*) |\n", "|:------- |:---------------- |:--------------- |:--------------- | --------------- | ------------ |\n", "| 0 | 0.04 | **-0.19** | -0.70 | -68.59 | **5.00** |\n", "| 8 | 0.04 | **-0.19** | -0.88 | -86.31 | **2.32** |\n", "| 32 | 0.04 | **-0.85** | -1.05 | -101.29 | **0.65** |\n", "\n", "(*) 1.6Hz Aliasing, Pk-Pk [V]. Input signal: 200kHz, 5Vpp" ] } ], "metadata": { "celltoolbar": "Initialization Cell", "hide_input": false, "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.6" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "232px" }, "toc_section_display": "block", "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }