Skip to content

Quantities that it could be measured with Pytta #33

Open

Description

@labodezao

Hi Here,
I was wondering what is possibkle to measure with Pytta and what it is not :

Measuring the transient of a system with step sine or step excitation signal,

Measure the Quality factor, or sustension factor,
Plotting the enveloppe of the time signals to do transient analysis, (I have found already a python script for that)

From the enveloppe : Measure the settling time or response time of the system,
Finding the slope of the transient enveloppe,
Bifuraction analysis : measuring Self sustained oscillation threshold, self sustained oscillation hysteresis, multiple bifuractions states, ...

Plot the signals in phase plane ( easy to implement when you have position or acceleration) -> plot Pos vs velocity / plot Velocity vs Acceleration and plot Acc / Pos

Evaluate the inharmonicity of signal,

Modal extraction exctaction of signal.

This are open questions, and even if I am new in python, I could try to developp this

Activity

  1. Chum4k3r commented on Dec 17, 2020

    @Chum4k3r
    Collaborator

    These are all awesome ideas!

    We would really appreciate such contribution. Maybe a PR of how you would implement one of those, so we can fine tune together the implementation.

    Let's see what the folk here says :D

  2. mtslazarin commented on Dec 18, 2020

    @mtslazarin
    Collaborator

    The toolbox has enough room to integrate the suggestions. Btw, great ideas! I think a module with those functionalities would do the job (e.g. pytta.iso3741 or pytta.rooms). Everything could be based on SignalObjs, which could store even the envelope, and the module could do calculations based on that.
    Please, submit a pull request.

  3. aguirreSL commented on Oct 31, 2026

    @aguirreSL

    Some of these are covered now or by open pull requests. The envelope of a signal is one line with SciPy:

    envelope = np.abs(scipy.signal.hilbert(sig.timeSignal, axis=0))

    Decay times of impulse responses come from pytta.RoomAnalysis (EDT, T20, T30), with the noise compensations of #58, and the harmonic distortion of a system measured with a sweep is in #57. Settling time, quality factor and bifurcation analysis are not in PyTTa. Each of them needs a definition to agree on before a function (for example, the tolerance band of the settling time, or whether Q comes from the -3 dB bandwidth or from the decay), so one issue per quantity, with the definition you use, would be the way to add them.

  4. aguirreSL commented on Oct 31, 2026

    @aguirreSL

    #74 adds the settling time (with rise time and overshoot) of a step response, the quality factor by both definitions (from the -3 dB bandwidth and from the decay of the envelope), and a helper for the onset, extinction and hysteresis of a self-sustained oscillation along a sweep of a control parameter. The tests use systems with exact values, listed in the pull request.

  5. aguirreSL commented on Nov 1, 2026

    @aguirreSL

    #112 adds the rest of this list on top of #74: the slope of the decaying envelope (response.envelope_slope, in dB per second), the inharmonicity of a tone after the stiff string model f_n = n f0 √(1 + B n²) (response.inharmonicity, which returns B, f0, the partials and their deviation in cents), and phase plane plots of position, velocity and acceleration from any one of them (response.plot_phase_plane). The envelope itself is pytta.envelope in #96.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions