You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Quantities that it could be measured with Pytta #33
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
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.
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.
#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.
#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.
Activity
Chum4k3r commentedon Dec 17, 2020
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
mtslazarin commentedon Dec 18, 2020
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.
aguirreSL commentedon Oct 31, 2026
Some of these are covered now or by open pull requests. The envelope of a signal is one line with SciPy:
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.aguirreSL commentedon Oct 31, 2026
#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.
aguirreSL commentedon Nov 1, 2026
#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 ispytta.envelopein #96.