Source code for wield.control.fitting.SISO.fitters_ZPK.codings_z

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: © 2021 Massachusetts Institute of Technology.
# SPDX-FileCopyrightText: © 2021 Lee McCuller <mcculler@caltech.edu>
# NOTICE: authors should document their contributions in concisely in NOTICE
# with details inline in source files, comments, and docstrings.
"""
"""
from wield.bunch import Bunch

from ..codings_cmn import (
    CodingTypeZ,
    Ipi,
    I2pi,
    BranchCutAmbiguity,
    CodingGain,
    CodingDelay,
)

from ..MRF import MultiReprFilterZ
from .cplx_real_imag import CodingRI

from .cplx_frequency_BW import CodingFBW
from .cplx_freq_nl_BW import CodingFnlBW
from .cplx_nl_freq_nl_BW import CodingnlFnlBW

from .cplx_frequency_amplitude import CodingFA, CodingFAUX
from .cplx_frequency_nl_amp import CodingFnlA
from .cplx_nl_freq_nl_amp import CodingnlFnlA

from .real_amplitude import CodingRealAmp, CodingRealAmpUX
from .real_BW import CodingRealBW

from .real_nl_amplitude import CodingRealnlA
from .real_nl_BW import CodingRealnlBW

from .cplx_sos import CodingSOS, CodingSOSMirror
from .multi_order_section import CodingMOS

import sys

# get the current module object to provide a reference
_module = sys.modules[__name__]


[docs] def is_unstable_Z(root): return abs(root) >= 1
_common = dict( module=_module, representation="Z", mrf_default=MultiReprFilterZ, is_unstable=is_unstable_Z, ) coding_maps = Bunch( nlFBW=Bunch( gain=CodingGain, delay=CodingDelay, num_r=CodingRealnlBW, num_c=CodingnlFnlBW, den_r=CodingRealnlBW, den_c=CodingnlFnlBW, num_r_u=None, num_c_u=None, den_r_u=None, den_c_u=None, num_collect_r=1, den_collect_r=1, num_collect_c=1, den_collect_c=1, **_common ), nlFBW_safe=Bunch( # gain = CodingGainNLDelay, gain=CodingGain, delay=CodingDelay, num_r=CodingRealnlBW, num_c=CodingnlFnlBW, den_r=CodingRealnlBW, den_c=CodingnlFnlBW, num_r_u=CodingRealBW, num_c_u=CodingFBW, den_r_u=CodingRealBW, den_c_u=CodingFBW, num_collect_r=1, den_collect_r=1, num_collect_c=1, den_collect_c=1, **_common ), nlFA=Bunch( # gain = CodingGainNLDelay, gain=CodingGain, delay=CodingDelay, num_r=CodingRealnlA, num_c=CodingnlFnlA, den_r=CodingRealnlA, den_c=CodingnlFnlA, num_r_u=None, num_c_u=None, den_r_u=None, den_c_u=None, num_collect_r=1, den_collect_r=1, num_collect_c=1, den_collect_c=1, **_common ), nlFA_safe=Bunch( # gain = CodingGainNLDelay, gain=CodingGain, delay=CodingDelay, num_r=CodingRealnlA, num_c=CodingnlFnlA, den_r=CodingRealnlA, den_c=CodingnlFnlA, num_r_u=CodingRealAmp, num_c_u=CodingFA, den_r_u=CodingRealAmp, den_c_u=CodingFA, num_collect_r=1, den_collect_r=1, num_collect_c=1, den_collect_c=1, **_common ), FA=Bunch( gain=CodingGain, delay=CodingDelay, num_r=CodingRealAmp, num_c=CodingFA, den_r=CodingRealAmp, den_c=CodingFA, num_r_u=None, num_c_u=None, den_r_u=None, den_c_u=None, num_collect_r=1, den_collect_r=1, num_collect_c=1, den_collect_c=1, **_common ), FBW=Bunch( gain=CodingGain, delay=CodingDelay, num_r=CodingRealBW, num_c=CodingFBW, den_r=CodingRealBW, den_c=CodingFBW, num_r_u=None, num_c_u=None, den_r_u=None, den_c_u=None, num_collect_r=1, den_collect_r=1, num_collect_c=1, den_collect_c=1, **_common ), RI=Bunch( gain=CodingGain, delay=CodingDelay, num_r=CodingRealAmp, num_c=CodingRI, den_r=CodingRealAmp, den_c=CodingRI, num_r_u=None, num_c_u=None, den_r_u=None, den_c_u=None, num_collect_r=1, den_collect_r=1, num_collect_c=1, den_collect_c=1, **_common ), SOS=Bunch( gain=CodingGain, delay=CodingDelay, num_r=CodingSOS, num_c=CodingSOS, den_r=CodingSOS, den_c=CodingSOS, num_r_u=None, num_c_u=None, den_r_u=None, den_c_u=None, num_collect_r=2, den_collect_r=2, num_collect_c=1, den_collect_c=1, **_common ), )