Questo è il comando harminv che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
harminv - estrae le frequenze della modalità dai dati delle serie temporali
SINOSSI
Harminv [OPZIONE]... [freq-min-frequenza-max] ...
DESCRIZIONE
Harminv è un programma pensato per risolvere il problema dell'"inversione armonica": dato un tempo
serie costituita da una somma di sinusoidi ("modi"), estrarre le loro frequenze e
ampiezze. Può anche gestire il caso di sinusoidi a decadimento esponenziale, in cui
caso estrae anche i loro tassi di decadimento.
Harminv è spesso in grado di raggiungere una precisione e una robustezza molto maggiori rispetto a Fourier-
transform, essenzialmente perché assume una forma specifica per l'input.
Utilizza un "metodo di diagonalizzazione del filtro" (FDM) a bassa memoria, come descritto in VA
Mandelshtam e HS Taylor, "Inversione armonica dei segnali temporali", J. Chem. Fis. 107,
6756 (1997). Vedi anche erratum, ibid 109, 4128 (1998).
INGRESSO
Harminv legge in una sequenza di numeri reali o complessi separati da spazi dallo standard
input, nonché argomenti della riga di comando che indicano uno o più intervalli di frequenza a
ricerca e restituisce le modalità che estrae dai dati. (Si trova preferenzialmente
modalità nella gamma di frequenza specificata, ma a volte è possibile trovare modalità aggiuntive all'esterno
di quell'intervallo.) I dati dovrebbero corrispondere a intervalli di tempo equidistanti, ma c'è
nessun vincolo sul numero di punti.
I numeri complessi nell'input devono essere espressi nel formato RE+IMi (nessuno spazio bianco).
In caso contrario, gli spazi vengono ignorati. Inoltre, i commenti che iniziano con "#" e si estendono fino a
fine della riga vengono ignorati.
Una tipica invocazione è qualcosa come
harminv -t 0.02 1-5 < input.dat
che legge una sequenza di campioni, distanziati a intervalli di tempo di 0.02 (in ms, diciamo,
corrispondente a 50 kHz) e ricerca le modalità nella gamma di frequenza 1-5 kHz. (Vedere
sotto sulle unità.)
USCITA
Harminv scrive sei colonne delimitate da virgole nell'output standard, una riga per ciascuna modalità:
frequenza, costante di decadimento, Q, ampiezza, fase ed errore. Ogni modalità corrisponde a a
funzione della forma:
ampiezza * exp[-i (2 pi frequenza t - fase) - decadimento t]
Qui, i è sqrt(-1), t è il tempo (vedi sotto per le unità) e gli altri parametri nel
le colonne di output sono:
frequenza
La frequenza della modalità. Se non lo riconosci dall'espressione sopra,
dovresti ricordare la formula di Eulero: exp(ix) = cos(x) + i sin(x). Nota che per
dati complessi, si distingue tra frequenze positive e negative.
decadimento costante
La costante di decadimento esponenziale, indicata da decadimento nella formula sopra. Il
l'inverso di questo è spesso chiamato "durata" della modalità. Il "periodo di dimezzamento" è
ln(2) /decadimento.
Q Un'espressione convenzionale e adimensionale della durata del decadimento: Q = pi |frequenza|
/ decadimento. Q, che sta per "fattore di qualità", è il numero di periodi per il
"energia" nella modalità (l'ampiezza al quadrato) a decadere per exp(-2 pi). Equivalentemente,
se guardi lo spettro di potenza (|trasformata di Fourier|^2), 1/Q è il frazionario
larghezza del picco a metà massimo.
ampiezza
L'ampiezza (reale, positiva) delle sinusoidi. L'ampiezza (e la fase)
le informazioni generalmente sembrano essere meno accurate della frequenza e del decadimento
costante.
fase Lo sfasamento (in radianti) delle sinusoidi, come indicato dalla formula sopra.
errore Una stima grezza dell'errore relativo nella frequenza (complessa). Questo non è
davvero una barra di errore, tuttavia, quindi dovresti trattarla più come una figura di merito
(più piccolo è meglio) per ogni modalità.
SPURIOSO MODALITA '
In genere, harminv troverà una serie di soluzioni spurie oltre a quelle desiderate
soluzioni, soprattutto se i dati sono rumorosi. Tali soluzioni sono caratterizzate da grandi
errori, piccole ampiezze e/o piccoli Q (grandi tassi di decadimento/larghezze di riga larghe). Puoi
ometterli dall'output mediante le opzioni di screening errore/Q/ampiezza definite di seguito.
Per impostazione predefinita, le modalità con errore > 0.1 e Q < 10 vengono omesse automaticamente, ma è probabile
che sarà necessario impostare limiti più severi.
UNITA '
I valori di frequenza (e decadimento), sia in ingresso che in uscita, sono specificati in unità di 1/tempo,
dove le unità di tempo sono determinate dall'intervallo di campionamento dt (il tempo tra
ingressi consecutivi). dt è di default 1, a meno che non lo specifichi con il -t dt opzione.
In altre parole, scegli alcune unità (ad esempio ms nell'esempio sopra) e usale per esprimere il
passo temporale. Quindi, sii coerente e usa l'inverso di quelle unità (es. kHz = 1/ms) per
frequenza.
Si noti che la frequenza è la consueta definizione 1/periodo; non è la frequenza angolare.
VERSIONI
-h Visualizza la guida sulle opzioni e sull'utilizzo della riga di comando.
-V Stampa il numero di versione e le informazioni sul copyright per Harminv.
-v Abilita l'output dettagliato, stampato sull'output standard come righe di commento (che iniziano con a
"#" carattere). Inoltre, tutti i commenti "#" nell'input vengono echeggiati nell'output.
-T Specifica gli intervalli di periodo anziché gli intervalli di frequenza sulla riga di comando (in unità di
tempi corrispondenti a quelli indicati da -t). L'uscita è ancora in frequenza e
non periodo, comunque.
-w Specifica le frequenze angolari invece delle frequenze e emetti la frequenza angolare
invece della frequenza. (La frequenza angolare è la frequenza moltiplicata per 2 pi).
-n Invertire il segno della convenzione di frequenza (e fase) utilizzata in harminv. (Il segno
della frequenza è importante solo se si dispone di dati di input con valori complessi, in cui
caso le ampiezze di frequenza positiva e negativa possono differire.)
-t dt Specificare l'intervallo di campionamento dt; questo determina le unità di tempo utilizzate in tutto
l'ingresso e l'uscita. Il valore predefinito è 1.0.
-d d Specificare la "densità" spettrale d per cercare modi, dove una densità di 1
indica la solita risoluzione di Fourier. Cioè, il numero di funzioni di base
(che imposta un limite superiore al numero di modi) è dato da d volte (frequenza-max -
freq-min) volte dt volte il numero di campioni nel tuo set di dati. Un massimo di 300
viene utilizzato, tuttavia, per evitare che le matrici diventino troppo grandi (si può forzare a
numero maggiore con -f, sotto).
Notare che la risoluzione in frequenza delle uscite è non è un limitato dallo spettro
densità e generalmente può essere molto maggiore della risoluzione di Fourier. Il
la densità determina quante modalità, al massimo, cercare, e in un certo senso è la
densità con cui la larghezza di banda viene inizialmente "ricercata" per le modalità.
La densità predefinita è 0.0, il che significa che il numero di funzioni di base è
determinato da -f (che per impostazione predefinita è 100). Questo spesso corrisponde a un molto più grande
densità rispetto alla solita risoluzione di Fourier, ma le singolarità risultanti nella
le matrici di sistema vengono rimosse automaticamente da harminv.
-f nf Specifica un limite inferiore nf sul numero di funzioni di base spettrale (predefinito su
100), impostando un limite inferiore al numero di modalità da cercare. Questa opzione è
spesso un modo più conveniente per specificare il numero di funzioni di base rispetto a -d
opzione, sopra, motivo per cui è l'impostazione predefinita.
-f permette anche di impiegare più di 300 funzioni base, ma attenzione: il
tempi di calcolo come O(N nf) + O(nf^3), dove N è il numero di campioni, e
matrici molto grandi possono anche avere una precisione ridotta.
-s sorta
Specificare come sono ordinati gli output, dove sorta è uno dei
frequenza/errore/Q/decadimento/ampiezza. (Solo il primo carattere di sorta importa.)
Tutti i tipi sono in ordine crescente. L'impostazione predefinita è ordinare per frequenza.
-e sbagliare Omettere qualsiasi modalità con errore (vedi sopra) maggiore di sbagliare volte l'errore più grande
tra le modalità calcolate. Predefinito a nessun limite.
-E sbagliare Omettere qualsiasi modalità con errore (vedi sopra) maggiore di sbagliare. Il valore predefinito è 0.1.
-F Omettere qualsiasi modalità con frequenze al di fuori dell'intervallo specificato. (Tali modalità non lo sono
necessariamente spurio, tuttavia.)
-a amp Omettere qualsiasi modalità con ampiezza (vedi sopra) inferiore a amp volte l'ampiezza maggiore
tra le modalità calcolate. Predefinito a nessun limite.
-A amp Omettere qualsiasi modalità con ampiezza (vedi sopra) inferiore a amp. Predefinito a nessun limite.
-Q q Ometti qualsiasi modalità con |Q| (vedi sopra) meno di q. Il valore predefinito è 10.
Utilizzare harminv online utilizzando i servizi onworks.net