Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Coder avec une
Intelligence Artificielle
Voir le programme détaillé
Module « scipy.signal »

Fonction group_delay - module scipy.signal

Signature de la fonction group_delay

def group_delay(system, w=512, whole=False, fs=6.283185307179586) 

Description

help(scipy.signal.group_delay)

Compute the group delay of a digital filter.

The group delay measures by how many samples amplitude envelopes of
various spectral components of a signal are delayed by a filter.
It is formally defined as the derivative of continuous (unwrapped) phase::

           d        jw
 D(w) = - -- arg H(e)
          dw

Parameters
----------
system : tuple of array_like (b, a)
    Numerator and denominator coefficients of a filter transfer function.
w : {None, int, array_like}, optional
    If a single integer, then compute at that many frequencies (default is
    N=512).

    If an array_like, compute the delay at the frequencies given. These
    are in the same units as `fs`.
whole : bool, optional
    Normally, frequencies are computed from 0 to the Nyquist frequency,
    fs/2 (upper-half of unit-circle). If `whole` is True, compute
    frequencies from 0 to fs. Ignored if w is array_like.
fs : float, optional
    The sampling frequency of the digital system. Defaults to 2*pi
    radians/sample (so w is from 0 to pi).

    .. versionadded:: 1.2.0

Returns
-------
w : ndarray
    The frequencies at which group delay was computed, in the same units
    as `fs`.  By default, `w` is normalized to the range [0, pi)
    (radians/sample).
gd : ndarray
    The group delay.

See Also
--------
freqz : Frequency response of a digital filter

Notes
-----
The similar function in MATLAB is called `grpdelay`.

If the transfer function :math:`H(z)` has zeros or poles on the unit
circle, the group delay at corresponding frequencies is undefined.
When such a case arises the warning is raised and the group delay
is set to 0 at those frequencies.

For the details of numerical computation of the group delay refer to [1]_ or [2]_.

.. versionadded:: 0.16.0

References
----------
.. [1] Richard G. Lyons, "Understanding Digital Signal Processing,
       3rd edition", p. 830.
.. [2] Julius O. Smith III, "Numerical Computation of Group Delay",
       in "Introduction to Digital Filters with Audio Applications",
       online book, 2007,
       https://ccrma.stanford.edu/~jos/fp/Numerical_Computation_Group_Delay.html

Examples
--------
>>> from scipy import signal
>>> b, a = signal.iirdesign(0.1, 0.3, 5, 50, ftype='cheby1')
>>> w, gd = signal.group_delay((b, a))

>>> import matplotlib.pyplot as plt
>>> plt.title('Digital filter group delay')
>>> plt.plot(w, gd)
>>> plt.ylabel('Group delay [samples]')
>>> plt.xlabel('Frequency [rad/sample]')
>>> plt.show()



Vous êtes un professionnel et vous avez besoin d'une formation ? Mise en oeuvre d'IHM
avec Qt et PySide6
Voir le programme détaillé