Wie werden gemessene Signale dargestellt? d. h. eine große Anzahl von Punkten

Wie werden gemessene Signale dargestellt? d. h. eine große Anzahl von Punkten

Bisher habe ich TikZ/PFGplots verwendet, um kleine Abschnitte (simulierter) Signale zu plotten, Schemata zu zeichnen usw., aber wenn es um tatsächlich gemessene Signale geht (z. B. bei 10 kHz), landet man schnell bei Millionen von Punkten. Sehr schnell stößt man auf dieTeX-Kapazität überschritten, tut uns leid [Hauptspeichergröße=54000000]-Fehler. Die offensichtliche Problemumgehung besteht darin, entweder den Speicher zu überschreiten (nicht wirklich empfohlen) oder zu verwenden externalize(nur nützlich, wenn Sie mehrere Bilder rendern), aber beides ist keine praktische Lösung für Rohdaten.

Es funktioniert zwar ziemlich gut mit 100.000 (1e5) Zeilen (jede enthält x- und y-Werte), bricht aber zusammen, wenn Sie viel größer werden. Bei 10 kHz entspricht dies jedoch einem Signal von maximal 10 s ...

F: Gibt es eine effiziente Möglichkeit, große Signale in TeX darzustellen?

MWE: (unter der Annahme, dass die Daten in einer Datei data.csvmit zwei Spalten xund vorliegen y)

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
    \begin{tikzpicture}
    \begin{axis}
        \addplot table [mark=none,x=x, y=y, col sep=comma] {data.csv};
    \end{axis}
    \end{tikzpicture}
\end{document}

Für die Datei data.csv. Nehmen Sie dieseDatei hier, oder verwenden Sie den MATLAB-Codeausschnitt, um die Datei selbst zu reproduzieren:

x = (1:1e6).';
y = awgn( ((x-1/3*length(x))/length(x)*10).^2,20,'measured');
writetable(table(x,y),'data.csv');

Ich habe mich gefragt, ob es ein Skript gibt, um die Daten herunterzurechnen, aber die wichtigsten Punkte automatisch beizubehalten. Insbesondere möchte ich spydie Daten, sie benötigen in diesem Bereich die Originalauflösung ...

verwandte Informationen