harminv - Online in der Cloud

Dies ist der Befehl harminv, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


harminv - Modusfrequenzen aus Zeitreihendaten extrahieren

ZUSAMMENFASSUNG


schädlich [zur Auswahl]... [Freq-min-Freq-max] ...

BESCHREIBUNG


schädlich ist ein Programm, das entwickelt wurde, um das Problem der "harmonischen Inversion" zu lösen: zu gegebener Zeit
Reihe bestehend aus einer Summe von Sinuskurven ("Moden"), extrahieren deren Frequenzen und
Amplituden. Es kann auch den Fall von exponentiell abfallenden Sinusoiden behandeln, bei denen
Fall extrahiert es auch ihre Zerfallsraten.

schädlich ist oft in der Lage, eine viel größere Genauigkeit und Robustheit zu erreichen als Fourier-
Transformationsmethoden, im Wesentlichen, weil sie eine bestimmte Form für die Eingabe annehmen.

Es verwendet ein speicherarmes "Filter-Diagonalisierungsverfahren" (FDM), wie in VA . beschrieben
Mandelshtam und HS Taylor, "Harmonische Inversion von Zeitsignalen", J. Chem. Physik. 107,
6756 (1997). Siehe auch Erratum, ibid 109, 4128 (1998).

SPEISUNG


schädlich liest eine Folge von durch Leerzeichen getrennten reellen oder komplexen Zahlen aus dem Standard ein
Eingabe sowie Befehlszeilenargumente, die einen oder mehrere Frequenzbereiche bis
Suche und gibt die Modi aus, die es aus den Daten extrahiert. (Es findet vorzugsweise
Modi in dem von Ihnen angegebenen Frequenzbereich, können jedoch manchmal zusätzliche Modi außerhalb finden
dieses Bereichs.) Die Daten sollten Zeitintervallen mit gleichem Abstand entsprechen, aber es gibt
keine Beschränkung der Punktzahl.

Komplexe Zahlen in der Eingabe sollten im Format . ausgedrückt werden RE+IMi (kein Leerzeichen).
Andernfalls werden Leerzeichen ignoriert. Auch Kommentare, die mit "#" beginnen und sich bis zum erstrecken
Zeilenende werden ignoriert.

Eine typische Anrufung ist so etwas wie

harminv -t 0.02 1-5 < input.dat

die eine Sequenz von Abtastwerten liest, die in 0.02 Zeitintervallen (in ms, sagen wir,
entspricht 50 kHz) und sucht nach Modi im Frequenzbereich 1-5 kHz. (Sehen
unten auf Einheiten.)

AUSGABE


schädlich schreibt sechs durch Kommas getrennte Spalten in die Standardausgabe, eine Zeile für jeden Modus:
Frequenz, Abklingkonstante, Q, Amplitude, Phase und Fehler. Jeder Modus entspricht a
Funktion des Formulars:

Amplitude * exp[-i (2 pi Frequenz t - Phase) - Verfall t]

Hier ist i sqrt(-1), t ist die Zeit (Einheiten siehe unten) und die anderen Parameter in der
Ausgabespalten sind:

Frequenz
Die Frequenz des Modus. Wenn Sie dies aus dem obigen Ausdruck nicht erkennen,
Sie sollten sich die Eulersche Formel erinnern: exp(ix) = cos(x) + i sin(x). Beachten Sie, dass für
Bei komplexen Daten wird zwischen positiven und negativen Frequenzen unterschieden.

Verfall konstante
Die exponentielle Zerfallskonstante, angegeben durch Verfall in obiger Formel. Die
die Umkehrung davon wird oft als "Lebensdauer" des Modus bezeichnet. Die "Halbwertszeit" ist
ln(2) /Verfall.

Q Ein konventioneller, dimensionsloser Ausdruck der Zerfallslebensdauer: Q = pi |Frequenz|
/ Verfall. Q, was für "Qualitätsfaktor" steht, ist die Anzahl der Perioden für die
"Energie" im Modus (die quadrierte Amplitude) um exp(-2 pi) zu zerfallen. Äquivalent,
Wenn Sie sich das Leistungsspektrum ansehen (|Fourier-Transformation|^2), ist 1/Q der Bruch
Breite des Peaks auf halbem Maximum.

Amplitude
Die (reale, positive) Amplitude der Sinuskurven. Die Amplitude (und Phase)
Informationen scheinen im Allgemeinen weniger genau zu sein als die Frequenz und der Zerfall
konstant.

Phase Die Phasenverschiebung (in Radiant) der Sinuskurven, wie durch die obige Formel angegeben.

Fehler Eine grobe Schätzung des relativen Fehlers in der (komplexen) Frequenz. Das ist nicht
aber wirklich ein Fehlerbalken, also sollte man ihn eher als Gütezahl betrachten
(kleiner ist besser) für jeden Modus.

FALSCH MODI


In der Regel findet harminv neben den gewünschten auch eine Reihe von falschen Lösungen
Lösungen, insbesondere wenn Ihre Daten verrauscht sind. Solche Lösungen zeichnen sich durch große
Fehler, kleine Amplituden und/oder kleiner Q (große Zerfallsraten / breite Linienbreiten). Du kannst
lassen Sie diese von der Ausgabe durch die unten definierten Optionen für Fehler-/Q-/Amplituden-Screening weg.

Standardmäßig werden Modi mit Fehler > 0.1 und Q < 10 automatisch ausgelassen, aber es ist wahrscheinlich
dass Sie strengere Grenzen setzen müssen.

EINHEITEN


Die Frequenz- (und Abkling-)Werte, sowohl Eingang als auch Ausgang, werden in Einheiten von 1/Zeit angegeben.
wobei die Zeiteinheiten durch das Abtastintervall bestimmt werden dt (die Zeit dazwischen
aufeinanderfolgende Eingaben). dt ist standardmäßig 1, es sei denn, Sie geben es mit dem an -t dt .

Mit anderen Worten, wählen Sie einige Einheiten aus (z. B. ms im obigen Beispiel) und verwenden Sie sie, um die
Zeitschritt. Seien Sie dann konsistent und verwenden Sie die Umkehrung dieser Einheiten (zB kHz = 1/ms) für
Frequenz.

Beachten Sie, dass die Frequenz die übliche 1/Periode-Definition ist; es ist nicht die Kreisfrequenz.

OPTIONAL


-h Hilfe zu den Befehlszeilenoptionen und der Verwendung anzeigen.

-V Drucken Sie die Versionsnummer und Copyright-Informationen für schädlich.

-v Aktivieren Sie die ausführliche Ausgabe, die als Kommentarzeilen in die Standardausgabe gedruckt wird (beginnend mit a
"#"-Zeichen). Außerdem werden alle "#"-Kommentare in der Eingabe an die Ausgabe ausgegeben.

-T Geben Sie Periodenbereiche anstelle von Frequenzbereichen in der Befehlszeile an (in Einheiten von
Zeit entsprechend den angegebenen durch -t). Die Ausgabe ist immer noch Frequenz und
jedoch keine Periode.

-w Geben Sie Winkelfrequenzen anstelle von Frequenzen an und geben Sie die Winkelfrequenz aus
statt Frequenz. (Winkelfrequenz ist Frequenz multipliziert mit 2 pi).

-n Kehren Sie das Vorzeichen der Frequenz- (und Phasen-) Konvention um, die in harminv verwendet wird. (Das Schild
der Häufigkeit ist nur wichtig, wenn Sie komplexwertige Eingabedaten haben, in denen
Fall können sich die positiven und negativen Frequenzamplituden unterscheiden.)

-t dt Geben Sie das Abtastintervall an dt; dies bestimmt die durchgängig verwendeten Zeiteinheiten
die Ein- und Ausgabe. Standardmäßig ist 1.0.

-d d Geben Sie die spektrale "Dichte" an d um nach Modi zu suchen, bei denen eine Dichte von 1
gibt die übliche Fourier-Auflösung an. Das heißt, die Anzahl der Basisfunktionen
(was eine obere Schranke für die Anzahl der Modi festlegt) ist gegeben durch d Zeiten (Freq-max -
Freq-min) mal dt mal die Anzahl der Samples in Ihrem Dataset. Maximal 300
wird jedoch verwendet, um zu verhindern, dass die Matrizen zu groß werden (Sie können a . erzwingen
größere Zahl mit -f, unter).

Beachten Sie, dass die Frequenzauflösung der Ausgänge nicht begrenzt durch das Spektral
Dichte und kann im Allgemeinen viel größer als die Fourier-Auflösung sein. Die
Die Dichte bestimmt, nach wie vielen Modi maximal gesucht werden soll, und in gewissem Sinne ist die
Dichte, mit der die Bandbreite zunächst nach Moden "durchsucht" wird.

Die Standarddichte ist 0.0, was bedeutet, dass die Anzahl der Basisfunktionen
bestimmt durch -f (standardmäßig 100). Dies entspricht oft einem viel größeren
Dichte als die übliche Fourier-Auflösung, aber die resultierenden Singularitäten in der
Systemmatrizen werden von harminv automatisch entfernt.

-f nf Geben Sie eine untere Grenze an nf von der Anzahl der spektralen Basisfunktionen (standardmäßig
100) und legt eine untere Grenze für die Anzahl der zu suchenden Modi fest. Diese Option ist
oft eine bequemere Möglichkeit, die Anzahl der Basisfunktionen anzugeben als die -d
Option oben, weshalb es die Standardeinstellung ist.

-f auch mehr als 300 Basisfunktionen nutzen, aber Vorsicht: die
Berechnungszeitskalen als O(N nf) + O(nf^3), wobei N die Anzahl der Abtastwerte ist und
sehr große Matrizen können auch eine verschlechterte Genauigkeit aufweisen.

-s sortieren
Geben Sie an, wie die Ausgaben sortiert werden, wo sortieren eines von
Frequenz/Fehler/Q/Abfall/Amplitude. (Nur das erste Zeichen von sortieren Angelegenheiten.)
Alle Sorten sind in aufsteigender Reihenfolge. Standardmäßig wird nach Häufigkeit sortiert.

-e sich irren Lassen Sie alle Modi mit Fehler (siehe oben) größer als weg sich irren mal den größten Fehler
unter den berechneten Modi. Standardmäßig unbegrenzt.

-E sich irren Lassen Sie alle Modi mit Fehler (siehe oben) größer als weg sich irren. Standardmäßig auf 0.1.

-F Lassen Sie alle Modi mit Frequenzen außerhalb des angegebenen Bereichs aus. (Solche Modi sind nicht
jedoch unbedingt falsch.)

-a amp Lassen Sie alle Modi mit einer Amplitude (siehe oben) kleiner als weg amp mal die größte Amplitude
unter den berechneten Modi. Standardmäßig unbegrenzt.

-A amp Lassen Sie alle Modi mit einer Amplitude (siehe oben) kleiner als weg amp. Standardmäßig unbegrenzt.

-Q q Lassen Sie alle Modi mit |Q| . weg (siehe oben) weniger als q. Standardmäßig auf 10.

Verwenden Sie harminv online mit den onworks.net-Diensten



Neueste Linux- und Windows-Online-Programme