From 9c67144686c81334157306d668aff869e3fa736f Mon Sep 17 00:00:00 2001 From: mahdiolfat Date: Mon, 27 Nov 2023 13:42:23 -0500 Subject: [PATCH] Resolve #13: implemented ARMA process and - created an example jupytor notebook for the ARMA process lint yaml to 2 space indentations - modeling.pade validation tests complete - more ruff linting updates --- .github/workflows/ContinuousTesting.yml | 44 +++--- .gitignore | 2 + examples/process_arma.ipynb | 187 ++++++++++++++++++++++++ pyproject.toml | 10 +- pyssp/__init__.py | 9 -- pyssp/modeling.py | 133 ++++++++--------- pyssp/optimal.py | 14 +- pyssp/spectrum.py | 2 +- pyssp/state.py | 28 +--- pyssp/system.py | 46 ++++-- requirements.txt | 3 +- tests/test_modeling.py | 105 +++++++++++++ 12 files changed, 440 insertions(+), 143 deletions(-) create mode 100644 examples/process_arma.ipynb diff --git a/.github/workflows/ContinuousTesting.yml b/.github/workflows/ContinuousTesting.yml index 2ff46f0..025f38c 100644 --- a/.github/workflows/ContinuousTesting.yml +++ b/.github/workflows/ContinuousTesting.yml @@ -3,30 +3,30 @@ name: Python Continuous Integration on: [push] jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.12' - cache: 'pip' + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.12' + cache: 'pip' - - name: Install Dependencies - run: | - python -m pip install --upgrade pip setuptools wheel - pip install -r requirements.txt + - name: Install Dependencies + run: | + python -m pip install --upgrade pip setuptools wheel + pip install -r requirements.txt - - name: Static Lint - run: | - ruff . --verbose --output-format=github + - name: Static Lint + run: | + ruff . --verbose --output-format=github - - name: Static Type Check - run: | - mypy --verbose + - name: Static Type Check + run: | + mypy --verbose - - name: Test - run: | - pytest --verbose + - name: Test + run: | + pytest --verbose diff --git a/.gitignore b/.gitignore index e72a55a..9c1e869 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ env .coverage .vscode +.ipynb_checkpoints + diff --git a/examples/process_arma.ipynb b/examples/process_arma.ipynb new file mode 100644 index 0000000..7065d98 --- /dev/null +++ b/examples/process_arma.ipynb @@ -0,0 +1,187 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "import os, sys\n", + "dir = os.path.abspath('../pyssp')\n", + "dir = os.path.dirname(dir)\n", + "sys.path.append(dir)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from pyssp.system import ARMA\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[-2.04380698e-01 -4.26774563e-01 -1.44143792e-01 2.31819648e-01\n", + " 4.42113178e-01 -6.14413481e-02 -4.78007766e-01 -2.02972447e-01\n", + " 2.34607891e-01 8.69156429e-01 7.78621431e-02 -4.68635812e-01\n", + " -6.19705177e-01 2.90456440e-01 9.03305906e-01 2.35543402e-01\n", + " -1.27878034e-01 -5.59660971e-01 -7.53363579e-02 3.67181210e-01\n", + " 3.07131751e-02 -4.20946931e-02 -2.47896855e-02 6.02732652e-01\n", + " 7.58166561e-01 5.14826662e-01 -8.23860908e-02 -5.61938075e-01\n", + " -6.17768679e-02 4.39293541e-01 4.59026653e-01 1.91853741e-02\n", + " -2.46415413e-01 -9.08287422e-02 4.26927158e-01 6.07640742e-01\n", + " 3.47514669e-01 7.98077551e-02 9.54602964e-02 2.19256022e-01\n", + " 5.00273522e-01 3.90094943e-01 -2.14655517e-01 -2.87823469e-02\n", + " -4.62998135e-01 9.30360793e-02 4.01504141e-01 1.10626281e-02\n", + " -2.97836958e-01 -5.44617069e-01 -5.22692447e-01 -2.00438082e-01\n", + " -1.94878617e-01 -3.90036560e-01 8.25577680e-03 -9.94653392e-02\n", + " -8.36643683e-03 3.31055169e-02 -3.35471284e-01 -5.40052680e-02\n", + " -5.96412204e-02 2.35657527e-02 1.25222543e-01 -1.08846885e-01\n", + " -2.80976065e-01 -5.37907660e-02 -6.62867817e-02 2.70547261e-01\n", + " -1.81225228e-02 -3.22259624e-01 -2.14947883e-01 2.85989609e-01\n", + " 5.08069910e-01 2.96155038e-01 5.61411777e-02 -2.38640089e-01\n", + " 1.95589879e-01 7.12254551e-02 1.18380341e-01 9.47363079e-03\n", + " -1.24839030e-01 -8.10272811e-02 -4.00101099e-01 -6.15545894e-01\n", + " -1.88742409e-01 4.35040034e-01 4.83366656e-01 1.31222047e-01\n", + " -3.84674788e-01 -6.73862651e-01 -3.49039545e-01 3.91951528e-01\n", + " -2.53962898e-02 -2.18588579e-01 -3.49760133e-01 -1.17528083e-01\n", + " 1.83922617e-01 5.31693320e-02 -6.55271921e-02 -6.05321257e-01\n", + " -9.36309682e-02 2.32269158e-01 2.57265984e-02 2.20121596e-01\n", + " 4.78997848e-02 3.51888335e-01 4.99706603e-01 1.75251592e-01\n", + " -3.77463018e-01 -5.21719274e-01 -2.12358917e-01 3.76155655e-01\n", + " 2.30127456e-01 3.17617851e-01 -4.76803249e-01 8.83297247e-02\n", + " 4.96290066e-02 3.84255367e-02 -3.40235389e-01 -5.93601442e-01\n", + " -3.77569838e-01 3.52674991e-02 1.25686070e-01 2.17353442e-01\n", + " -2.77498811e-01 1.55324470e-01 2.70812736e-01 2.02990622e-01\n", + " -2.16022059e-01 -2.45895828e-01 -1.33862404e-01 -1.34824355e-01\n", + " 2.83893854e-01 6.20629689e-02 -1.24177414e-01 5.84385740e-02\n", + " -1.02969962e-01 -3.71923854e-01 -5.45559460e-01 -3.93787208e-01\n", + " -3.44129041e-01 -3.17157737e-02 -3.21466009e-01 -5.12420851e-01\n", + " -4.14453042e-01 -1.90961517e-01 3.49389289e-01 4.97489565e-01\n", + " 1.16113416e-02 1.38915939e-02 -1.95046331e-01 1.92286424e-01\n", + " 4.82640932e-01 -4.64331585e-02 1.41693730e-01 -1.52150399e-01\n", + " -1.92082325e-01 -1.69667917e-01 -6.72305530e-02 2.02115797e-01\n", + " 6.22756130e-01 7.17135771e-01 4.72079831e-01 1.85752645e-01\n", + " 1.47701510e-02 2.56285603e-02 1.75860389e-01 2.98561078e-01\n", + " 1.20128302e-01 1.14276969e-02 -3.08086218e-01 1.02278255e-01\n", + " -1.33779955e-01 -2.33260566e-02 -3.77469515e-01 -3.95287961e-01\n", + " 2.22527531e-01 2.05358232e-01 1.57594269e-01 -2.39442577e-01\n", + " -5.62109812e-03 2.59791436e-01 5.55559212e-01 2.91709787e-01\n", + " -4.42848139e-01 -5.04857183e-01 -3.25040876e-01 3.81740051e-01\n", + " 3.33389578e-01 1.88055308e-01 -3.19822748e-01 -5.96707410e-01\n", + " -1.24393129e-01 4.52694668e-01 7.87961073e-01 2.21798697e-01\n", + " 1.39406601e-01 5.22009916e-02 3.70535841e-01 7.40841056e-01\n", + " 3.99860311e-01 1.49900097e-01 -4.29168640e-01 -7.74869990e-02\n", + " 6.55831738e-02 4.89422573e-01 2.03494372e-01 3.04375111e-01\n", + " -3.48975717e-01 -3.04845222e-01 -1.85683709e-01 1.42339488e-01\n", + " -1.47936566e-01 -2.20207213e-02 -3.64715059e-01 8.88065611e-02\n", + " 3.11292561e-01 1.81333765e-01 -2.28258156e-01 -3.19471393e-02\n", + " 2.33884730e-01 5.15210402e-01 5.42000646e-01 -3.83745184e-01\n", + " -2.06874512e-01 1.02915031e-01 1.36036926e-01 4.66303735e-02\n", + " -3.04193238e-01 -6.18622363e-01 -3.19779418e-01 1.83823568e-01\n", + " 1.20323147e-01 2.01755680e-01 2.57897108e-01 4.61714575e-01\n", + " 6.19921049e-01 4.46037044e-01 3.98136912e-01 -2.30327621e-02\n", + " -2.14083098e-04 -3.47698495e-02 -2.34532430e-01 -1.66139861e-03\n", + " -2.73909493e-01 2.27108657e-01 3.73435533e-01 2.29467663e-01\n", + " 1.24470696e-01 -4.83562788e-01 -5.99365226e-02 4.00276314e-01\n", + " 3.52953830e-01 4.06094131e-01 -1.41646683e-01 1.35259995e-01]\n" + ] + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "zeros = [0.95 * np.exp(+1j * np.pi / 2),\n", + " 0.95 * np.exp(-1j * np.pi / 2)]\n", + "\n", + "poles = [0.9 * np.exp(+1j * 2 * np.pi / 5),\n", + " 0.9 * np.exp(-1j * 2 * np.pi / 5)]\n", + "\n", + "rproc = ARMA(poles, zeros, 256)\n", + "print(rproc)\n", + "plt.plot(rproc)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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69vYB4U9e/Z4ALybbrrJ87zm8SwUCt7Xv/51uc0jjzziAfBuu+02z/OaxqTrut709LTc5nOf+5w3MTHhlcvl/n6BAWDFihXe5z//eT62XWJubs57/vOf711//fXeK1/5Smmo8PHtnI985CPe6aefbnxtkI8vh340KpUK7rnnHlxwwQXyOdd1ccEFF+C2225LcWSDz7Zt2zA9Pa0c28nJSZx77rny2N52222YmprCS17yErnNBRdcANd1cccdd/R9zFlnZmYGALBy5UoAwD333INqtaoc45NPPhlHH320coxf9KIXYd26dXKbiy66CLOzs3jooYf6OPpsU6/Xcc0112BhYQFbtmzhY9slLr30Urzuda9TjiPA5263eOKJJ7BhwwYcd9xxePvb347t27cDGOzjO/BNCbvNvn37UK/XlR8KANatW4dHH300pVEdHkxPTwOA8diK16anp7F27Vrl9Xw+j5UrV8ptmCaNRgPve9/78PKXvxynnnoqgObxKxaLmJqaUrbVj7HpNxCvHek88MAD2LJlC5aXlzE2NoZrr70Wp5xyCrZu3crHtkOuueYa3HvvvbjrrrsCr/G52znnnnsurr76apx00knYtWsXPvaxj+Hnfu7n8OCDDw708WVDhWEGlEsvvRQPPvggbr311rSHclhx0kknYevWrZiZmcE3vvENXHLJJbjpppvSHtbAs2PHDvzBH/wBrr/+egwNDaU9nMOSiy++WD4+7bTTcO655+KYY47B1772NQwPD6c4ss7g0I/G6tWrkcvlAkro3bt3Y/369SmN6vBAHL+wY7t+/Xrs2bNHeb1Wq+HAgQN8/AmXXXYZvvOd7+DGG2/Exo0b5fPr169HpVLBoUOHlO31Y2z6DcRrRzrFYhEnnHACzjrrLFx55ZU4/fTT8ZnPfIaPbYfcc8892LNnD1784hcjn88jn8/jpptuwmc/+1nk83msW7eOj2+XmZqawoknnognn3xyoM9fNlQ0isUizjrrLNxwww3yuUajgRtuuAFbtmxJcWSDz+bNm7F+/Xrl2M7OzuKOO+6Qx3bLli04dOgQ7rnnHrnNj370IzQaDZx77rl9H3PW8DwPl112Ga699lr86Ec/wubNm5XXzzrrLBQKBeUYP/bYY9i+fbtyjB944AHFILz++usxMTGBU045pT9fZIBoNBool8t8bDvk/PPPxwMPPICtW7fKfy95yUvw9re/XT7m49td5ufn8bOf/QxHHXXUYJ+/qcl4M8w111zjlUol7+qrr/Yefvhh793vfrc3NTWlKKEZM3Nzc959993n3XfffR4A76//+q+9++67z3vmmWc8z2umJ09NTXnf+ta3vJ/+9Kfem970JmN68plnnundcccd3q233uo9//nP5/TkFu9973u9yclJ78c//rGSgri4uCi3ec973uMdffTR3o9+9CPv7rvv9rZs2eJt2bJFvi5SEC+88EJv69at3nXXXeetWbMm9RTELPDhD3/Yu+mmm7xt27Z5P/3pT70Pf/jDnuM43g9+8APP8/jYdhua9eN5fHw75YMf/KD34x//2Nu2bZv3k5/8xLvgggu81atXe3v27PE8b3CPLxsqFv72b//WO/roo71iseidc8453u233572kAaCG2+80QMQ+HfJJZd4ntdMUf6TP/kTb926dV6pVPLOP/9877HHHlP2sX//fu9Xf/VXvbGxMW9iYsJ75zvf6c3NzaXwbbKH6dgC8L70pS/JbZaWlrzf/d3f9VasWOGNjIx4v/iLv+jt2rVL2c/TTz/tXXzxxd7w8LC3evVq74Mf/KBXrVb7/G2yx2/91m95xxxzjFcsFr01a9Z4559/vjRSPI+PbbfRDRU+vp3x1re+1TvqqKO8YrHoPe95z/Pe+ta3ek8++aR8fVCPr+N5npeOL4dhGIZhGCYc1qgwDMMwDJNZ2FBhGIZhGCazsKHCMAzDMExmYUOFYRiGYZjMwoYKwzAMwzCZhQ0VhmEYhmEyCxsqDMMwDMNkFjZUGIZhGIbJLGyoMAzDMAyTWdhQYRiGYRgms7ChwjAMwzBMZmFDhWEYhmGYzPL/Ax1THGZSruRSAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fspec = np.fft.rfft(rproc, 1024)\n", + "plt.plot(10 * np.log10(np.abs(fspec**2)))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".pyenv312", + "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.12.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/pyproject.toml b/pyproject.toml index 71803bd..9c6cd98 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,6 +10,7 @@ license = "LICENSE.txt" [tool.pytest.ini_options] pythonpath = "." +log_cli = true addopts = [ "--import-mode=importlib", "--cov=pyssp" @@ -23,6 +24,9 @@ indent-width = 4 target-version = "py312" extend-exclude = [".pyenv*"] +[tool.ruff.lint.pydocstyle] +convention = "google" + [tool.ruff.lint] select = ["E", "F", @@ -35,12 +39,10 @@ select = ["E", "NPY", "PERF", "C90", - "RUF"] + "RUF", + "D417", "D414"] ignore = ["D213", "D401", "D211"] -[tool.ruff.lint.pydocstyle] -convention = "google" - [tool.ruff.format] quote-style = "double" indent-style = "space" diff --git a/pyssp/__init__.py b/pyssp/__init__.py index 760a1cb..29e416e 100644 --- a/pyssp/__init__.py +++ b/pyssp/__init__.py @@ -1,10 +1 @@ """The import root for the book sections.""" - -# import system as Chapter3 -# import modeling as Chapter4 -# import levinson as Chapter5 -# import lattice as Chapter6 -# import optimal as Chapter7 -# import spectrum as Chapter8 -# import adaptive as Chapter9 -# import state as Appendix diff --git a/pyssp/modeling.py b/pyssp/modeling.py index f406868..7f4eda8 100644 --- a/pyssp/modeling.py +++ b/pyssp/modeling.py @@ -1,13 +1,16 @@ """Chapter 4 modeling algorithm implementations.""" +import logging from typing import NoReturn import numpy as np -import scipy as sp from numpy.typing import ArrayLike +from scipy import signal from .state import convm +logger = logging.getLogger(__name__) + def pade(x: ArrayLike, p: int, q: int) -> tuple[ArrayLike, ArrayLike]: """Reference Page 138, Table 4.1. @@ -15,7 +18,7 @@ def pade(x: ArrayLike, p: int, q: int) -> tuple[ArrayLike, ArrayLike]: The Pade approximation models a signal as the unis sample response of linear shift invariant system have p poles and q zeros. """ - _x = np.array(x) + _x = np.array(x).reshape(-1) if p + q > len(_x): raise ValueError(f"Model order {p + q} is too large.") @@ -23,16 +26,15 @@ def pade(x: ArrayLike, p: int, q: int) -> tuple[ArrayLike, ArrayLike]: # Linear difference matrix spanning the number of zeros Xq = X[q + 1:q + p + 1, 1:p + 1].copy() - print(Xq.shape) a = np.linalg.solve(-Xq, X[q + 1: q + p + 1, 0]) # a(0) normalized to 1 a = np.concatenate((np.ones(1), a)).reshape(-1, 1) b = X[:q + 1, :p + 1] @ a - return (a, b) + return a.ravel(), b.ravel() -def prony(x: ArrayLike, p: int, q: int) -> tuple[ArrayLike, ArrayLike, ArrayLike]: +def prony(x: ArrayLike, p: int, q: int) -> tuple[ArrayLike, ArrayLike, float]: """Least square minimization of poles to get denominator coefficients. Solves directly (Pade method) to get numerator coefficients. @@ -40,22 +42,12 @@ def prony(x: ArrayLike, p: int, q: int) -> tuple[ArrayLike, ArrayLike, ArrayLike Condition to energy_match is on page 575 """ - x = np.array(x) - if p + q > len(x): + _x = np.array(x).reshape(-1, 1) + N = len(_x) + if p + q > N: raise ValueError(f"Model order {p + q} is too large.") - # copy and make given signal column array X = convm(x, p + 1) - print(X.shape) - # M = p + q - N = len(x) - print(f"{N=}") - xc = x.copy().reshape(-1, 1) - - # Xq = X[q + 1:q + p + 1, 1:p + 1].copy() - # a = np.linalg.solve(-Xq, X[q + 1: q + p + 1, 0]) - # a = np.concatenate((np.ones(1), a)).reshape(-1, 1) - # b = X[:q + 1, :p + 1] @ a # the factorization does not guarantee nonsingularity! # resulting matrix is positive *semi*-definite: all zeros are @@ -66,53 +58,43 @@ def prony(x: ArrayLike, p: int, q: int) -> tuple[ArrayLike, ArrayLike, ArrayLike rx = Xq_H @ Xq1 Xinv = np.linalg.inv(Xq_H @ Xq) a = -Xinv @ rx - print(a.shape) # a(0) normalized to 1 a = np.concatenate((np.ones(1), a)).reshape(-1, 1) # same as Pade method b = X[:q + 1, :p + 1] @ a # the minimum squared error - err = np.transpose(xc[q + 1:N]) @ X[q + 1:N, :p + 1] @ a + err = np.transpose(_x[q + 1:N]) @ X[q + 1:N, :p + 1] @ a - return a, b, err + return a.ravel(), b.ravel(), err.ravel()[0] def shanks(x: ArrayLike, p: int, q: int) -> tuple[ArrayLike, ArrayLike, float]: """Shank's method.""" - x = np.array(x) - N = len(x) + _x = np.array(x).ravel().reshape(-1, 1) + N = len(_x) if p + q >= N: raise ValueError(f"Model order {p + q} is too large.") a, _, _ = prony(x, p, q) - a = np.array(a) - print(f"{a.transpose().ravel()=}") + logger.info(f"{a=}") u = np.concatenate((np.ones(1), np.zeros(N - 1))) - res = sp.signal.tf2zpk([1], a.ravel()) - res = sp.signal.zpk2sos(*res) - res = sp.signal.sosfilt(res, x=u) - G = convm(res.ravel(), q + 1) - G0 = G[:N,].copy() - print(f"{G0.shape=}") - G0_H = np.transpose((G0.copy()).conjugate()) - x0 = (x.copy()).reshape(-1, 1) - gx = G0_H @ x0 - # the factorization does not guarantee nonsingularity! - # resulting matrix is positive *semi*-definite - Ginv = np.linalg.inv(G0_H @ G0) - print(f"{x.shape=}") - print(f"{Ginv.shape=}") - b = Ginv @ gx - err = 1 + sos = signal.tf2sos([1], a) + g = signal.sosfilt(sos, x=u) + logger.info(f"{g=}") + G = convm(g, q + 1) + G0 = G[:N].copy() + logger.info(f"{G0=}") + b = np.linalg.lstsq(G0, _x, rcond=None)[0] + err = _x.T @ _x - _x.T @ G[:N, :q + 1] @ b - return a, b, err + return a, b.ravel(), err.ravel()[0] -def spike(g: ArrayLike, n0: int, n: int) -> ArrayLike: +def spike(g: ArrayLike, n0: int, n: int) -> tuple[ArrayLike, float]: """Leaset Squares Inverse Filter.""" - g = np.array(g).reshape(-1, 1) - m = len(g) + _g = np.array(g).reshape(-1, 1) + m = len(_g) if m + n - 1 <= n0: raise ValueError(f"m + n - 1 must be less than {n0=}") @@ -120,14 +102,10 @@ def spike(g: ArrayLike, n0: int, n: int) -> ArrayLike: G = convm(g, n) d = np.zeros((m + n - 1, 1)) d[n0] = 1 - print(f"{d.shape=}, {G.shape=}") - G_H = np.transpose(G.conjugate()) + h = np.linalg.lstsq(G, d, rcond=None)[0] + err = 1 - G[n0,] @ h - print(f"{G_H.shape=}, {G.shape=}") - Ginv = np.linalg.inv(G_H @ G) - h = Ginv @ G_H @ d - - return h + return h.ravel(), err.ravel()[0] def ipf(x: ArrayLike, p: int, q: int, n: None, a: ArrayLike) -> NoReturn: @@ -135,7 +113,7 @@ def ipf(x: ArrayLike, p: int, q: int, n: None, a: ArrayLike) -> NoReturn: raise NotImplementedError() -def acm(x: ArrayLike, p: int) -> tuple[np.ndarray, np.ndarray]: +def acm(x: ArrayLike, p: int) -> tuple[np.ndarray, float]: """The auto-correlation method.""" x0 = np.array(x).ravel().reshape(-1, 1) N = len(x0) @@ -151,36 +129,49 @@ def acm(x: ArrayLike, p: int) -> tuple[np.ndarray, np.ndarray]: a = np.concatenate((np.ones(1), a1)).reshape(-1, 1) err = np.abs(X[:N + p, 0].T @ X @ a) - return a, err + return a, err.ravel()[0] def covm(x: ArrayLike, p: int)-> tuple[ArrayLike, float]: """Solve the complete Prony normal equations.""" - x0 = np.array(x).ravel().reshape(-1, 1) - N = len(x0) - if p >= len(x0): + _x = np.array(x).ravel().reshape(-1, 1) + N = len(_x) + if p >= N: raise ValueError(f"{p=} all-pole model too large") - X = convm(x0, p + 1) + X = convm(_x, p + 1) Xq = X[p - 1:N - 1, :p].copy() - cx = X[p:N, 0].copy() - Xq_H = Xq.copy().conjugate().transpose() - print(f"{Xq=}") - Xinv = np.linalg.inv(Xq_H @ Xq) - a1 = -Xinv @ Xq_H @ cx - a = np.concatenate((np.ones(1), a1)).reshape(-1, 1) - err = np.abs(cx.transpose() @ X[p:N,] @ a) - return a, err + Xsol = np.linalg.lstsq(-Xq, X[p:N, 0], rcond=None)[0] + logger.warning(f"{Xsol=}") + a = np.hstack(([1], Xsol)) + err = np.abs(X[p:N,0] @ X[p:N,] @ a) + return a, err.ravel()[0] def durbin(x: ArrayLike, p: int, q: int) -> tuple[ArrayLike, ArrayLike]: """The durbin method.""" - x0 = np.array(x).ravel().reshape(-1, 1) - # N = len(x0) - if p >= len(x0): + _x = np.array(x).ravel().reshape(-1, 1) + N = len(_x) + if p >= N: raise ValueError("p (all-pole model) too large") - a, eps = acm(x, p) + a, eps = acm(_x, p) b, eps = acm(a / np.sqrt(eps), q) - b /= np.sqrt(eps) + b = b / np.sqrt(eps) return a, b + + +def mywe(x: ArrayLike, p: int, q: int) -> NoReturn: + """Modified Yuler-Walker Systems of Equations. + + Page 190. + """ + raise NotImplementedError() + + +def eywe(x: ArrayLike, p: int, q: int) -> NoReturn: + """Extended Yuler-Walker Systems of Equations. + + Page 193. + """ + raise NotImplementedError() diff --git a/pyssp/optimal.py b/pyssp/optimal.py index 580eaff..e4566a6 100644 --- a/pyssp/optimal.py +++ b/pyssp/optimal.py @@ -1,12 +1,13 @@ -"""Optimal Wiener Filters.""" +"""Optimal Filters, Chapter 7.""" +from typing import NoReturn import numpy as np -import numpy.typing as npt +from numpy.typing import ArrayLike -def kalman(y: list[float], A: npt.ArrayLike, C: npt.ArrayLike, sigmaw: list[float], - sigmav: list[float]) -> tuple[npt.NDArray, ...]: +def kalman(y: list[float], A: ArrayLike, C: ArrayLike, sigmaw: list[float], + sigmav: list[float]) -> tuple[np.ndarray, ...]: """Kalman Filter. y: vector of observations N x q, n time steps, q sensors @@ -73,3 +74,8 @@ def wiener_denoise() -> None: def wiener_systemid() -> None: """Systemid based on FIR wiener filters.""" raise NotImplementedError() + + +def wiener_hopf(x: ArrayLike, p: int, q: int) -> NoReturn: + """Wiener-Hopf Systems of Equations.""" + raise NotImplementedError() diff --git a/pyssp/spectrum.py b/pyssp/spectrum.py index 6b2e55f..e739f1c 100644 --- a/pyssp/spectrum.py +++ b/pyssp/spectrum.py @@ -1,4 +1,4 @@ -"""Power spectrum and Frequency Estimators.""" +"""Power spectrum and Frequency Estimators. Chapter 8.""" from typing import NoReturn diff --git a/pyssp/state.py b/pyssp/state.py index b7fd990..8389cfa 100644 --- a/pyssp/state.py +++ b/pyssp/state.py @@ -12,7 +12,7 @@ def convm(x: ArrayLike, p: int) -> np.ndarray: (N + p - 1) by p non-symmetric Toeplitz matrix """ - _x = np.array(x) + _x = np.array(x).ravel() if p < 1: raise ValueError(f"{p=} must be greater or equal to 1.") @@ -40,13 +40,16 @@ def covar(x: ArrayLike, p: int) -> np.ndarray: return R -def normalprony(x: ArrayLike, p: int, q: int) -> NoReturn: - """Normalized prony Systems of Equations.""" +def nprony(x: ArrayLike, p: int, q: int) -> NoReturn: + """Normalized Prony Systems of Equations.""" raise NotImplementedError() def ywe(x: ArrayLike, p: int, q: int) -> NoReturn: - """Yuler-Walker Systems of Equations.""" + """Yuler-Walker Systems of Equations. + + Page 110. + """ raise NotImplementedError() @@ -55,21 +58,6 @@ def nywe(x: ArrayLike, p: int, q: int) -> NoReturn: raise NotImplementedError() -def mywe(x: ArrayLike, p: int, q: int) -> NoReturn: - """Modified Yuler-Walker Systems of Equations.""" - raise NotImplementedError() - - -def eywe(x: ArrayLike, p: int, q: int) -> NoReturn: - """Extended Yuler-Walker Systems of Equations.""" - raise NotImplementedError() - - -def normaldeterministic(x: ArrayLike, p: int, q: int) -> NoReturn: +def ndeterministic(x: ArrayLike, p: int, q: int) -> NoReturn: """Normal Determenistic Systems of Equations.""" raise NotImplementedError() - - -def wienerhopf(x: ArrayLike, p: int, q: int) -> NoReturn: - """Wiener-Hopf Systems of Equations.""" - raise NotImplementedError() diff --git a/pyssp/system.py b/pyssp/system.py index a266470..88d49ff 100644 --- a/pyssp/system.py +++ b/pyssp/system.py @@ -5,33 +5,57 @@ from collections.abc import Generator from typing import NoReturn +import numpy as np +from numpy.typing import ArrayLike +from scipy import signal + class RandomProcess(random.Random): """Random process base class.""" -def arma(p: int, q: int, N: int, process: None | Generator = None) -> NoReturn: - """Auto-regressive Moving-Average.""" - raise NotImplementedError() +def ARMA(p: ArrayLike, q: ArrayLike, N: int, x0: ArrayLike | None = None) -> ArrayLike: + """Auto-regressive Moving-Average. + + An ARMA process of order (p, q) may be generated by filtering white noise with a linear + shift-invariant system. That is, a white noise process convolved with a rational system function + with p poles and q zeros. + + Note that the power spectrum of ARMA(p, q) process contains 2p poles and 2q zeros with spectral + reciprocal symmetry. In controls applications, this has deep implications on system + "identifiability". + + Args: + p: 1 or more poles, if p == 0 and q > 0 the process is equivalent to MA(q) + q: 1 or more poles, if q == 0 and p > 0 the process is equivalent to AR(p) + N: Number of iterations of system state evolution + x0: x1D vector of size (p + q + 1) to indicate an initial state + """ + rng = np.random.default_rng() + ensemble = np.sqrt(1 / 2) * (rng.random(N) - 0.5) + sos = signal.zpk2sos(q, p, 1) + sig = signal.sosfilt(sos, ensemble) + return sig + -def ar(p: int, N: int, process: None | Generator = None) -> NoReturn: +def AR(p: int, N: int) -> NoReturn: """Auto-regressive.""" raise NotImplementedError() -def ma(q: int, N: int, process: None | Generator = None) -> NoReturn: +def MA(q: int, N: int) -> NoReturn: """Moving Average Random (stochastic) process.""" raise NotImplementedError() -def harmonic(A: int, process: None | Generator = None) -> NoReturn: +def Harmonic(A: int, process: None | Generator = None) -> NoReturn: """The harmonic random process.""" raise NotImplementedError() -def white_noise(variance: float) -> NoReturn: - """The harmonic random process. +def White(variance: float) -> NoReturn: + """The unit variance, zero-mean, random process. Page 93. @@ -39,8 +63,8 @@ def white_noise(variance: float) -> NoReturn: raise NotImplementedError() -def white_gaussian_noise() -> NoReturn: - """A random process, a sequence of uncorrelated real-valued Gaussian random. +def White_Gaussian() -> NoReturn: + """Sequence of uncorrelated real-valued Gaussian random values. Page 94. @@ -48,7 +72,7 @@ def white_gaussian_noise() -> NoReturn: raise NotImplementedError() -def bernoulli() -> NoReturn: +def Bernoulli() -> NoReturn: """The Bernoulli process consists of a sequence of uncorrelated Bernoulli variables (-1, 1). Page 94. diff --git a/requirements.txt b/requirements.txt index d46dc3a..aeec680 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,4 +5,5 @@ matplotlib ruff pytest pytest-cov -mypy \ No newline at end of file +mypy +jupyterlab diff --git a/tests/test_modeling.py b/tests/test_modeling.py index e69de29..de1b349 100644 --- a/tests/test_modeling.py +++ b/tests/test_modeling.py @@ -0,0 +1,105 @@ +"""Tests for stochastic models.""" + +import logging + +import numpy as np +import scipy.signal as signal +from pyssp import modeling, system + + +logger = logging.getLogger(__name__) + + +def test_pade() -> None: + x = [1, 1.5, 0.75, 0.1875, 0.0938] + expected_a = [1, -1.5, 1.5] + expected_b = [1] + + a, b = modeling.pade(x, p = 2, q = 0) + + assert np.array_equal(a, expected_a) and np.array_equal(b, expected_b) + + expected_a = [1] + expected_b = [1, 1.5, 0.75] + + a, b = modeling.pade(x, p = 0, q = 2) + logger.warning(a) + logger.warning(b) + + assert np.array_equal(a, expected_a) and np.array_equal(b, expected_b) + + expected_a = [1, -0.5] + expected_b = [1, 1] + + a, b = modeling.pade(x, p = 1, q = 1) + logger.warning(a) + logger.warning(b) + + assert np.array_equal(a, expected_a) and np.array_equal(b, expected_b) + + +def test_prony(): + N = 21 + T = 2 * (N - 1) + 1 + xn = np.ones(T) + xn[N:] = 0 + + res = modeling.prony(xn, p = 1, q = 1) + logger.warning(res) + + +def test_shanks(): + N = 21 + T = 10 * (N - 1) + 1 + xn = np.ones(T) + xn[N:] = 0 + + expected_a = [1, -0.95] + expected_b = [1, 0.301] + expected_err = 3.95 + + a, b, err = modeling.shanks(xn, p = 1, q = 1) + + assert np.array_equal(np.around(a, decimals=3), expected_a) + assert np.array_equal(np.around(b, decimals=3), expected_b) + assert round(err, 3) == expected_err + +def test_spike(): + gn = np.array([-0.2, 0, 1]) + h, err = modeling.spike(gn, 4, 11) + d = np.convolve(h, gn) + logger.warning(f"{h=}") + logger.warning(f"{err=}") + logger.warning(f"{d=}, {np.argmax(d)=}") + +def test_ipf(): ... + +def test_acm(): + x = np.ones(20) + x[1::2] = x[1::2] * -1 + logger.warning(x) + + a, err = modeling.acm(x, 2) + logging.warning(f"{a=}") + logging.warning(f"{err=}") + +def test_covm(): + x = np.ones(20) + x[1::2] = x[1::2] * -1 + logger.warning(x) + + a, err = modeling.covm(x, 1) + logging.warning(f"{a=}") + logging.warning(f"{err=}") + + +def test_durbin(): + N = 64 + ap = [1, 0.7348, 1.882, 0.7057, 0.8851] + + zeros, poles, _ = signal.tf2zpk([1], ap) + px = system.ARMA(p=poles, q=[1], N=64) + logger.warning(f"{px=}") + + rx = np.correlate(px, px, "same") + logger.warning(modeling.durbin(rx, p=4, q=0)) \ No newline at end of file