Rechteck/Dreieck/Sägezahn/inverse Sägezahn-Wellendaten in Python mit UliEngineering generieren

English Deutsch

In einem vorherigen Beitrag habe ich beschrieben, wie man Sinus/Kosinus-Wellendaten mit Frequenz, Amplitude, Offset, Phasenverschiebung und Zeitversatz generiert mit nur einer einzigen Codezeile.

Dieser Beitrag erweitert diesen Ansatz und zeigt, wie man Rechteckwellen-, Dreieckwellen-, Sägezahnwellen- und inverse Sägezahnwellen-Daten generiert – immer noch in nur einer Codezeile.

Alle Parameter, einschließlich Frequenz, Amplitude, Offset, Phasenverschiebung und Zeitversatz, gelten auch für diese Funktionen – siehe den vorherigen Beitrag für Details und Beispiele für diese Parameter.

Wir verwenden die UliEngineering-Bibliothek, genauer gesagt das Paket UliEngineering.SignalProcessing.Simulation: Installiere zunächst UliEngineering.

Rechteckwelle

square_wave_example.py
from UliEngineering.SignalProcessing.Simulation import square_wave

data = square_wave(frequency=10.0, samplerate=10e3)

Rechteckwelle

Dreieckwelle

triangle_wave_example.py
from UliEngineering.SignalProcessing.Simulation import triangle_wave

data = triangle_wave(frequency=10.0, samplerate=10e3)

Dreieckwelle

Sägezahnwelle

sawtooth_example.py
from UliEngineering.SignalProcessing.Simulation import sawtooth

data = sawtooth(frequency=10.0, samplerate=10e3)

Sägezahnwelle

Inverse Sägezahnwelle

inverse_sawtooth_example.py
from UliEngineering.SignalProcessing.Simulation import inverse_sawtooth

data = inverse_sawtooth(frequency=10.0, samplerate=10e3)

Inverse Sägezahnwelle

Plot-Code

Dieser Code wurde verwendet, um die Plots für diesen Beitrag in Jupyter zu generieren:

plot_waveforms.py
%matplotlib inline
from matplotlib import pyplot as plt
plt.style.use("ggplot")

from UliEngineering.SignalProcessing.Simulation import square_wave

data = square_wave(frequency=10.0, samplerate=10e3)

# set_size_inches(20, 10) um ihn noch größer zu machen!
plt.gcf().set_size_inches(10, 5)
plt.plot(data, label="original")
plt.savefig("/dev/shm/square-wave.svg")

Check out similar posts by category: Data Science, Mathematics, Python