Ini adalah perintah harminv yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
harminv - mengekstrak frekuensi mode dari data deret waktu
RINGKASAN
merugikan [PILIHAN]...[frekuensi-min-frekuensi-maks] ...
DESKRIPSI
merugikan adalah program yang dirancang untuk memecahkan masalah "inversi harmonik": diberikan waktu
seri yang terdiri dari jumlah sinusoida ("mode"), ekstrak frekuensinya dan
amplitudo. Itu juga dapat menangani kasus sinusoid yang membusuk secara eksponensial, di mana
kasus itu mengekstrak tingkat peluruhan mereka juga.
merugikan sering mampu mencapai akurasi dan ketahanan yang jauh lebih besar daripada Fourier-
mengubah metode, pada dasarnya karena mengasumsikan bentuk tertentu untuk input.
Ini menggunakan "metode diagonalisasi filter" (FDM) penyimpanan rendah, seperti yang dijelaskan dalam VA
Mandelshtam dan HS Taylor, "Pembalikan harmonik sinyal waktu," J. Chem Phys 107,
6756 (1997). Lihat juga kesalahan, ibid 109, 4128 (1998).
INPUT
merugikan membaca dalam urutan bilangan real atau kompleks yang dipisahkan spasi dari standar
masukan, serta argumen baris perintah yang menunjukkan satu atau lebih rentang frekuensi ke
pencarian, dan menampilkan mode yang diekstraksi dari data. (Ini lebih disukai menemukan
mode dalam rentang frekuensi yang Anda tentukan, tetapi terkadang dapat menemukan mode tambahan di luar
rentang itu.) Data harus sesuai dengan interval waktu yang sama-spasi, tetapi ada
tidak ada batasan pada jumlah poin.
Bilangan kompleks dalam input harus dinyatakan dalam format RE+IMi (tidak ada spasi).
Jika tidak, spasi akan diabaikan. Juga, komentar yang dimulai dengan "#" dan diperluas ke
akhir baris diabaikan.
Doa khas adalah sesuatu seperti
harminv -t 0.02 1-5 < input.dat
yang membaca urutan sampel, berjarak 0.02 interval waktu (dalam ms, katakanlah,
sesuai dengan 50 kHz), dan mencari mode dalam rentang frekuensi 1-5 kHz. (Lihat
di bawah ini pada unit.)
KELUARAN
merugikan menulis enam kolom yang dipisahkan koma ke output standar, satu baris untuk setiap mode:
frekuensi, konstanta peluruhan, Q, amplitudo, fase, dan kesalahan. Setiap mode sesuai dengan
fungsi formulir:
amplitudo * exp[-i (2pi frekuensi t - tahap) - kerusakan t]
Di sini, i adalah kuadrat(-1), t adalah waktu (lihat di bawah untuk satuan), dan parameter lain dalam
kolom keluaran adalah:
frekuensi
Frekuensi modus. Jika Anda tidak mengenalinya dari ekspresi di atas,
Anda harus mengingat rumus Euler: exp(ix) = cos(x) + i sin(x). Perhatikan bahwa untuk
data yang kompleks, ada perbedaan antara frekuensi positif dan negatif.
kerusakan konstan
Konstanta peluruhan eksponensial, ditunjukkan oleh kerusakan dalam rumus di atas. NS
kebalikan dari ini sering disebut "seumur hidup" dari mode. "Waktu paruh" adalah
ln(2) /kerusakan.
Q Ekspresi konvensional, tak berdimensi dari masa peluruhan: Q = pi |frekuensi|
/ kerusakan. Q, yang merupakan singkatan dari "faktor kualitas", adalah jumlah periode untuk
"energi" dalam mode (amplitudo kuadrat) untuk meluruh dengan exp(-2 pi). Setara,
jika Anda melihat spektrum daya (|Transformasi Fourier|^2), 1/Q adalah pecahan
lebar puncak di setengah maksimum.
amplitudo
Amplitudo (nyata, positif) dari sinusoid. Amplitudo (dan fase)
informasi umumnya tampaknya kurang akurat daripada frekuensi dan peluruhan
konstan.
tahap Pergeseran fase (dalam radian) dari sinusoidal, seperti yang diberikan oleh rumus di atas.
kesalahan Perkiraan kasar dari kesalahan relatif dalam frekuensi (kompleks). Ini bukan
benar-benar bilah kesalahan, jadi Anda harus memperlakukannya lebih sebagai sosok yang pantas
(lebih kecil lebih baik) untuk setiap mode.
PALSU MODE
Biasanya, harminv akan menemukan sejumlah solusi palsu selain yang diinginkan
solusi, terutama jika data Anda berisik. Solusi seperti itu ditandai dengan besar
kesalahan, amplitudo kecil, dan/atau Q kecil (tingkat peluruhan besar / lebar garis lebar). Kamu bisa
hilangkan ini dari output dengan opsi penyaringan kesalahan/Q/amplitudo yang ditentukan di bawah ini.
Secara default, mode dengan kesalahan > 0.1 dan Q <10 secara otomatis dihilangkan, tetapi kemungkinan besar
bahwa Anda perlu menetapkan batas yang lebih ketat.
UNIT
Nilai frekuensi (dan peluruhan), baik input maupun output, ditentukan dalam satuan 1/waktu,
di mana satuan waktu ditentukan oleh interval sampling dt (waktu antara
masukan berurutan). dt secara default adalah 1, kecuali jika Anda menentukannya dengan -t dt .
Dengan kata lain, pilih beberapa unit (misalnya ms dalam contoh di atas) dan gunakan untuk mengekspresikan
langkah waktu. Kemudian, konsistenlah dan gunakan kebalikan dari satuan tersebut (misalnya kHz = 1/ms) untuk
frekuensi.
Perhatikan bahwa frekuensi adalah definisi 1/periode yang biasa; itu bukan frekuensi sudut.
PILIHAN
-h Tampilkan bantuan pada opsi dan penggunaan baris perintah.
-V Cetak nomor versi dan info hak cipta untuk merugikan.
-v Aktifkan keluaran verbose, dicetak ke keluaran standar sebagai baris komentar (dimulai dengan a
karakter "#"). Juga, setiap komentar "#" di input digaungkan ke output.
-T Tentukan rentang periode alih-alih rentang frekuensi pada baris perintah (dalam satuan
waktu yang sesuai dengan yang ditentukan oleh -t). Outputnya masih frekuensi dan
tidak periode, namun.
-w Tentukan frekuensi sudut alih-alih frekuensi, dan frekuensi sudut keluaran
bukannya frekuensi. (Frekuensi sudut adalah frekuensi dikalikan dengan 2 pi).
-n Balikkan tanda konvensi frekuensi (dan fase) yang digunakan dalam harminv. (Tanda
frekuensi hanya penting jika Anda memiliki data input bernilai kompleks, di mana
kasus amplitudo frekuensi positif dan negatif dapat berbeda.)
-t dt Tentukan interval pengambilan sampel dt; ini menentukan unit waktu yang digunakan di seluruh
masukan dan keluaran. Default ke 1.0.
-d d Tentukan "kepadatan" spektral d untuk mencari mode, di mana kepadatan 1
menunjukkan resolusi Fourier biasa. Artinya, jumlah fungsi dasar
(yang menetapkan batas atas pada jumlah mode) diberikan oleh d waktu (frekuensi-maks -
frekuensi-min) waktu dt kali jumlah sampel dalam dataset Anda. Maksimal 300
digunakan, bagaimanapun, untuk mencegah matriks menjadi terlalu besar (Anda dapat memaksa a
bilangan yang lebih besar dengan -f, di bawah).
Perhatikan bahwa resolusi frekuensi output adalah tidak dibatasi oleh spektrum
kepadatan, dan umumnya dapat jauh lebih besar daripada resolusi Fourier. NS
kepadatan menentukan berapa banyak mode, paling banyak, untuk mencari, dan dalam beberapa hal adalah
kepadatan yang bandwidth awalnya "mencari" untuk mode.
Kepadatan default adalah 0.0, yang berarti jumlah fungsi dasar adalah
ditentukan oleh -f (yang defaultnya adalah 100). Ini sering sesuai dengan yang jauh lebih besar
kepadatan dari resolusi Fourier biasa, tetapi singularitas yang dihasilkan di
matriks sistem secara otomatis dihapus oleh harminv.
-f nf Tentukan batas bawah nf pada jumlah fungsi basis spektral (default ke
100), menetapkan batas bawah pada jumlah mode yang akan dicari. Pilihan ini adalah
seringkali cara yang lebih mudah untuk menentukan jumlah fungsi dasar daripada -d
opsi, di atas, itulah sebabnya ini adalah default.
-f juga memungkinkan Anda untuk menggunakan lebih dari 300 fungsi basis, tetapi hati-hati: the
skala waktu komputasi sebagai O(N nf) + O(nf^3), di mana N adalah jumlah sampel, dan
matriks yang sangat besar juga dapat menurunkan akurasi.
-s jenis
Tentukan bagaimana output diurutkan, di mana jenis adalah salah satu
frekuensi/kesalahan/Q/peluruhan/amplitudo. (Hanya karakter pertama dari jenis penting.)
Semua jenis berada dalam urutan menaik. Standarnya adalah mengurutkan berdasarkan frekuensi.
-e khilaf Abaikan mode apa pun dengan kesalahan (lihat di atas) lebih besar dari khilaf kali kesalahan terbesar
antara mode yang dihitung. Default tanpa batas.
-E khilaf Abaikan mode apa pun dengan kesalahan (lihat di atas) lebih besar dari khilaf. Default ke 0.1.
-F Abaikan mode apa pun dengan frekuensi di luar rentang yang ditentukan. (Mode seperti itu tidak
tentu saja palsu.)
-a amp Abaikan mode apa pun dengan amplitudo (lihat di atas) kurang dari amp kali amplitudo terbesar
antara mode yang dihitung. Default tanpa batas.
-A amp Abaikan mode apa pun dengan amplitudo (lihat di atas) kurang dari amp. Default tanpa batas.
-Q q Hilangkan mode apa pun dengan |Q| (lihat di atas) kurang dari q. Default ke 10.
Gunakan harminv online menggunakan layanan onworks.net