Monthly Archives: September 2018

TTGO T-Beam

AliExpress

LilyGO Store: TTGO T-Beam

Driver

CP210x USB to UART Bridge VCP Drivers (CP2104)

Shop

Adafruit CP2104 Friend – USB to Serial Converter

github

LilyGO/TTGO-T-Beam
LilyGO/TTGO-LORA32-V2.0
LilyGO/TTGO-Lora-ESP32-OLED-ESP8266
osresearch/esp32-ttgo, Code for the TT GO ESP32 module
DeuxVis/Lora-TTNMapper-T-Beam, TTNMapper on the TTGO T-Beam
cyberman54/ESP32-Paxcounter, Wifi & BLE driven passenger flow metering with cheap ESP32 boards

Tutorials and Help

The TTGO T-Beam, an ESP32 LoRa Board
Ttgo T-beam
ESP32 OGN DIY-Tracker
ESP32 – LoRa – OLED Module
Making a 1-3 channel LoRa – Gateway with an ESP32 from TTGO

TSM_DeLearn

Single Perceptron: Linear Classification and Calculate of the Decision Boundary

How to calculate the perceptron decision boundary [duplicate]
Calculate the Decision Boundary of a Single Perceptron – Visualizing Linear Separability
Decision boundary plot for a perceptron
Perceptron Learning Rule (PDF)
Perceptron.py, The 2D Linear Perceptron [simple example]
The Nature of Code – Chapter 10. Neural Networks (Java)
The Data Science Lab – Machine Learning Classics: The Perceptron
How To Implement The Perceptron Algorithm From Scratch In Python
Simple Perceptron Classifier
Programming a Perceptron in Python

Wikipedia

Skalarprodukt (dot product), für Vektoren
Matrizenmultiplikation (dot product), für Matrizen

YouTube

Python Machine Learning – Part 1 : Implementing a Perceptron Algorithm in Python | packtpub.com, 12min
Standard form for linear equations | Algebra I | Khan Academy, 8min
Tariq Rashid – A Gentle Introduction to Neural Networks and making your own with Python, 55min

Python numpy

seed

What does numpy.random.seed(0) do?

choice

numpy.random.choice vs random.choice

ndarray

Array objects
What is the difference between ndarray and array in numpy?

C Implementation

Python overriding class (not instance) special methods
Define Python class from C

NPY_NO_EXPORT PyTypeObject PyArray_Type = {
    PyObject_HEAD_INIT(NULL)
    0,                                          /* ob_size */
    "numpy.ndarray",                            /* tp_name */
    [...]
    (reprfunc)array_repr,                       /* tp_repr */
    [...]
    (reprfunc)array_str,                        /* tp_str */
    (getattrofunc)0,                            /* tp_getattro */
    (setattrofunc)0,                            /* tp_setattro */
    [...]
    (getiterfunc)array_iter,                    /* tp_iter */
    (iternextfunc)0,                            /* tp_iternext */
    array_methods,                              /* tp_methods */
    0,                                          /* tp_members */
    array_getsetlist,                           /* tp_getset */
    [...]
    (initproc)0,                                /* tp_init */
    (allocfunc)array_alloc,                     /* tp_alloc */
    (newfunc)array_new,                         /* tp_new */
    (freefunc)array_free,                       /* tp_free */
    [...]
};
NPY_NO_EXPORT PyObject *
array_str(PyArrayObject *self)
{
   [...]
}

static int
dump_data(...)
{
   [...]
}

String

Converting a numpy.ndarray to string
numpy.array2string

Python Virtual Environments

Python Virtual Environments: A Primer

# Install
$ pip install virtualenv

# Python 3 using apt install
$ python3 -m venv myapp

# Python 3 using pip install
$ virtualenv -p python3 myapp

$ source myapp/bin/activate
(env) $

(env) $ deactivate
$
$ python3 -m venv myapp
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/home/XXX/myapp/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
$ pip install virtualenv
Defaulting to user installation because normal site-packages is not writeable
Collecting virtualenv
  Downloading virtualenv-20.0.20-py2.py3-none-any.whl (4.7 MB)
Collecting distlib<1,>=0.3.0
  Downloading distlib-0.3.0.zip (571 kB)
Collecting importlib-metadata<2,>=0.12; python_version < "3.8"
  Downloading importlib_metadata-1.6.0-py2.py3-none-any.whl (30 kB)
Collecting appdirs<2,>=1.4.3
  Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting filelock<4,>=3.0.0
  Downloading filelock-3.0.12-py3-none-any.whl (7.6 kB)
Collecting importlib-resources<2,>=1.0; python_version < "3.7"
  Downloading importlib_resources-1.5.0-py2.py3-none-any.whl (21 kB)
Requirement already satisfied: six<2,>=1.9.0 in /usr/lib/python3/dist-packages (from virtualenv) (1.11.0)
Collecting zipp>=0.5
  Downloading zipp-3.1.0-py3-none-any.whl (4.9 kB)
Building wheels for collected packages: distlib
  Building wheel for distlib (setup.py) ... done
  Created wheel for distlib: filename=distlib-0.3.0-py3-none-any.whl size=336972 sha256=09fc154d5bab1f792599644aa5c06884f122de197a99cc8545827150f1ca945a
  Stored in directory: /home/bacr/.cache/pip/wheels/33/d9/71/e4e3cac73529e1947df418af0f140cd7589d5d9ec0e17ecfc2
Successfully built distlib
Installing collected packages: distlib, zipp, importlib-metadata, appdirs, filelock, importlib-resources, virtualenv
Successfully installed appdirs-1.4.4 distlib-0.3.0 filelock-3.0.12 importlib-metadata-1.6.0 importlib-resources-1.5.0 virtualenv-20.0.20 zipp-3.1.0
WARNING: The script virtualenv is installed in '/home/bacr/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: You are using pip version 20.0.2; however, version 20.1.1 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
$ which python
/usr/bin/python
(env) $ which python
/home/andreas/my_python_project/venv/bin/python
>>> import sys
>>> sys.prefix
'/usr'

>>> import site
>>> site.getsitepackages()
[
  '/usr/local/lib/python3.6/dist-packages',
  '/usr/lib/python3/dist-packages',
  '/usr/lib/python3.6/dist-packages'
]
>>> import sys
>>> sys.prefix
'/home/andreas/my_python_project/venv'

>>> import site
>>> site.getsitepackages()
[
  '/home/andreas/my_python_project/venv/lib/python3.6/site-packages',
  '/home/andreas/my_python_project/venv/local/lib/python3.6/dist-packages',
  '/home/andreas/my_python_project/venv/lib/python3/dist-packages',
  '/home/andreas/my_python_project/venv/lib/python3.6/dist-packages'
]

Informationstheorie / Informations Theorie

SNA
Maximum Likelihood
Boundry
Bound
Fehlerrate
Kanalkapazität
Erwartungswert
Symbol
Codewort
Träger
Modulation
Shannon

Informationstheorie
Kodierungstheorie
Kanalkapazität
Blockcode (
Faltungscode (Convolutional Code)
Linearer Code

Quadratur-Amplituden-Modulation (QAM)
Low-Density-Parity-Check-Codes (LDPC)
Turbo-Code

Maximum-Likelihood-Methode

Nicht das?

Leitungscode
Manchester-Code