ນີ້ແມ່ນຄໍາສັ່ງ harminv ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
harminv - ສະກັດຄວາມຖີ່ຂອງໂໝດຈາກຂໍ້ມູນຊຸດເວລາ
ສະຫຼຸບສັງລວມ
ຮາມິນ [ທາງເລືອກ]... [ຄວາມຖີ່-ນາທີ-ຄວາມຖີ່ສູງສຸດ] ...
ລາຍລະອຽດ
ຮາມິນ ເປັນໂຄງການທີ່ອອກແບບເພື່ອແກ້ໄຂບັນຫາຂອງ "ການ inversion ປະສົມກົມກຽວ": ໄດ້ຮັບການໃຊ້ເວລາ
ຊຸດປະກອບດ້ວຍຜົນລວມຂອງ sinusoids ("ໂຫມດ"), ສະກັດຄວາມຖີ່ຂອງພວກເຂົາແລະ
ຄວາມກວ້າງໄກ. ມັນຍັງສາມາດຈັດການກັບກໍລະນີຂອງ sinusoids ທີ່ເສື່ອມໂຊມແບບເລັ່ງລັດ, ໃນນັ້ນ
ກໍລະນີທີ່ມັນສະກັດອັດຕາການເສຍຫາຍຂອງເຂົາເຈົ້າເຊັ່ນດຽວກັນ.
ຮາມິນ ມັກຈະສາມາດບັນລຸຄວາມຖືກຕ້ອງແລະຄວາມເຂັ້ມແຂງຫຼາຍກ່ວາ Fourier-
ການປ່ຽນແປງວິທີການ, ສໍາຄັນເນື່ອງຈາກວ່າມັນສົມມຸດແບບຟອມສະເພາະສໍາລັບການປ້ອນຂໍ້ມູນ.
ມັນໃຊ້ການເກັບຮັກສາຕ່ໍາ "filter-diagonalization method" (FDM), ດັ່ງທີ່ອະທິບາຍໄວ້ໃນ VA.
Mandelshtam ແລະ HS Taylor, "Harmonic inversion of time signals," J. Chem ຟີຊິກ. 107,
6756 (1997). ເບິ່ງຄວາມຜິດພາດເຊັ່ນດຽວກັນ, ibid 109, 4128 (1998)
ປັດໄຈນໍາເຂົ້າ
ຮາມິນ ອ່ານເປັນລຳດັບຂອງຕົວເລກຕົວຈິງ ຫຼືຕົວເລກຊັບຊ້ອນທີ່ແຍກອອກຈາກຊ່ອງຫວ່າງຈາກມາດຕະຖານ
input, ເຊັ່ນດຽວກັນກັບ arguments ແຖວຄໍາສັ່ງຊີ້ບອກຫນຶ່ງຫຼືຫຼາຍໄລຍະຄວາມຖີ່ຂອງ
ຄົ້ນຫາ, ແລະອອກຮູບແບບທີ່ມັນສະກັດຈາກຂໍ້ມູນ. (ມັນມັກຊອກຫາ
ໂຫມດໃນຂອບເຂດຄວາມຖີ່ທີ່ທ່ານລະບຸ, ແຕ່ບາງຄັ້ງອາດຈະຊອກຫາຮູບແບບເພີ່ມເຕີມພາຍນອກ
ຂອງຊ່ວງນັ້ນ.) ຂໍ້ມູນຄວນຈະກົງກັບຊ່ວງເວລາທີ່ມີໄລຍະຫ່າງເທົ່າທຽມກັນ, ແຕ່ມີ
ບໍ່ມີຂໍ້ຈໍາກັດກ່ຽວກັບຈໍານວນຂອງຈຸດ.
ຕົວເລກຊັບຊ້ອນໃນການປ້ອນຂໍ້ມູນຄວນສະແດງອອກໃນຮູບແບບ RE+IMຂ້ອຍ (ບໍ່ມີຊ່ອງຫວ່າງ).
ຖ້າບໍ່ດັ່ງນັ້ນ, ຊ່ອງຫວ່າງຈະຖືກລະເລີຍ. ນອກຈາກນີ້, ຄໍາຄິດເຫັນທີ່ເລີ່ມຕົ້ນດ້ວຍ "#" ແລະຂະຫຍາຍໄປຫາ
ປາຍແຖວຖືກລະເລີຍ.
ການຮຽກຮ້ອງແບບປົກກະຕິແມ່ນບາງສິ່ງບາງຢ່າງເຊັ່ນ:
harminv -t 0.02 1-5 < input.dat
ເຊິ່ງອ່ານລໍາດັບຂອງຕົວຢ່າງ, ໄລຍະຫ່າງ 0.02 ເວລາ (ໃນ ms, ເວົ້າວ່າ,
ທີ່ສອດຄ້ອງກັນກັບ 50 kHz), ແລະຊອກຫາໂຫມດໃນຂອບເຂດຄວາມຖີ່ 1-5 kHz. (ເບິ່ງ
ຂ້າງລຸ່ມນີ້ຫົວຫນ່ວຍ.)
OUTPUT
ຮາມິນ ຂຽນຫົກຖັນທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດໄປຫາຜົນໄດ້ຮັບມາດຕະຖານ, ແຖວໜຶ່ງສຳລັບແຕ່ລະໂໝດ:
ຄວາມຖີ່, ຄົງທີ່ການເສື່ອມໂຊມ, Q, ຄວາມກວ້າງໃຫຍ່, ໄລຍະ, ແລະຄວາມຜິດພາດ. ແຕ່ລະໂຫມດເທົ່າກັບ a
ການທໍາງານຂອງຮູບແບບ:
ຄວາມກວ້າງຂວາງ * exp[-i (2 pi ຄວາມຖີ່ t - ໂຄງການໄລຍະ) - ທະລາຍ t]
ນີ້, i ແມ່ນ sqrt(-1), t ແມ່ນເວລາ (ເບິ່ງຂ້າງລຸ່ມນີ້ສໍາລັບຫົວຫນ່ວຍ), ແລະຕົວກໍານົດການອື່ນໆໃນ.
ຖັນຜົນຜະລິດແມ່ນ:
ຄວາມຖີ່
ຄວາມຖີ່ຂອງໂຫມດ. ຖ້າທ່ານບໍ່ຮັບຮູ້ວ່າຈາກຄໍາເວົ້າຂ້າງເທິງ,
ທ່ານຄວນຈື່ຈໍາສູດຂອງ Euler: exp(ix) = cos(x) + i sin(x). ໃຫ້ສັງເກດວ່າສໍາລັບ
ຂໍ້ມູນສະລັບສັບຊ້ອນ, ມີຄວາມແຕກຕ່າງລະຫວ່າງຄວາມຖີ່ທາງບວກແລະທາງລົບແມ່ນ.
ທະລາຍ ຄົງທີ່
ຄ່າຄົງທີ່ການເສື່ອມໂຊມຂອງເລກກຳລັງ, ສະແດງໂດຍ ທະລາຍ ໃນສູດຂ້າງເທິງ. ໄດ້
inverse ນີ້ມັກຈະເອີ້ນວ່າ "ຕະຫຼອດຊີວິດ" ຂອງຮູບແບບ. "ເຄິ່ງຊີວິດ" ແມ່ນ
ln(2) /ທະລາຍ.
Q ການສະແດງອອກແບບທຳມະດາທີ່ບໍ່ມີມິຕິຂອງອາຍຸການເສື່ອມໂຊມ: Q = pi |ຄວາມຖີ່|
/ ທະລາຍ. Q, ເຊິ່ງຢືນສໍາລັບ "ປັດໄຈຄຸນນະພາບ", ແມ່ນຈໍານວນຂອງໄລຍະເວລາສໍາລັບການ
"ພະລັງງານ" ໃນໂຫມດ (ຄວາມກວ້າງຂອງສອງເທົ່າ) ທີ່ຈະທໍາລາຍໂດຍ exp(-2 pi). ທຽບເທົ່າ,
ຖ້າຫາກວ່າທ່ານເບິ່ງສະເປກຂອງພະລັງງານ (|Fourier transform|^2), 1/Q ແມ່ນເສດສ່ວນ
ຄວາມກວ້າງຂອງຈຸດສູງສຸດຢູ່ທີ່ເຄິ່ງຫນຶ່ງສູງສຸດ.
ຄວາມກວ້າງຂວາງ
ຄວາມກວ້າງໃຫຍ່ (ຈິງ, ບວກ) ຂອງ sinusoids. ຄວາມກວ້າງໄກ (ແລະໄລຍະ)
ໂດຍທົ່ວໄປແລ້ວຂໍ້ມູນເບິ່ງຄືວ່າຈະຖືກຕ້ອງໜ້ອຍກວ່າຄວາມຖີ່ ແລະ ການເສື່ອມໂຊມ
ຄົງທີ່.
ໂຄງການໄລຍະ ການປ່ຽນແປງໄລຍະ (ເປັນເຣດຽນ) ຂອງ sinusoids, ດັ່ງທີ່ໄດ້ໃຫ້ໄວ້ໂດຍສູດຂ້າງເທິງ.
ຄວາມຜິດພາດ ການຄາດຄະເນຄວາມຖີ່ຂອງຄວາມຜິດພາດທີ່ກ່ຽວຂ້ອງໃນຄວາມຖີ່ (ຊັບຊ້ອນ). ນີ້ບໍ່ແມ່ນ
ແທ້ຈິງແລ້ວແຖບຄວາມຜິດພາດ, ຢ່າງໃດກໍຕາມ, ດັ່ງນັ້ນທ່ານຄວນປະຕິບັດມັນຫຼາຍເປັນຕົວເລກຂອງຄຸນງາມຄວາມດີ
(ນ້ອຍກວ່າແມ່ນດີກວ່າ) ສໍາລັບແຕ່ລະໂຫມດ.
ສະຫລາດ ຮູບແບບ
ໂດຍປົກກະຕິ, harminv ຈະຊອກຫາຈໍານວນຂອງການແກ້ໄຂ spurious ນອກເຫນືອໄປຈາກທີ່ຕ້ອງການ
ວິທີແກ້ໄຂ, ໂດຍສະເພາະຖ້າຂໍ້ມູນຂອງທ່ານບໍ່ມີສຽງ. ການແກ້ໄຂດັ່ງກ່າວແມ່ນມີລັກສະນະຂະຫນາດໃຫຍ່
ຄວາມຜິດພາດ, ຄວາມກວ້າງໃຫຍ່ຂະຫນາດນ້ອຍ, ແລະ / ຫຼື Q ຂະຫນາດນ້ອຍ (ອັດຕາການທໍາລາຍຂະຫນາດໃຫຍ່ / linewidths ກວ້າງ). ເຈົ້າສາມາດ
ຍົກເລີກສິ່ງເຫຼົ່ານີ້ອອກຈາກຜົນຜະລິດໂດຍຄວາມຜິດພາດ / Q / ທາງເລືອກການກວດສອບຄວາມກວ້າງຂອງຕົວກໍານົດໄວ້ຂ້າງລຸ່ມນີ້.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ໂໝດທີ່ມີຂໍ້ຜິດພາດ > 0.1 ແລະ Q < 10 ຈະຖືກຍົກເລີກໂດຍອັດຕະໂນມັດ, ແຕ່ມັນເປັນໄປໄດ້.
ທີ່ທ່ານຈະຈໍາເປັນຕ້ອງໄດ້ກໍານົດຂອບເຂດຈໍາກັດທີ່ເຂັ້ມງວດ.
UNITS
ຄ່າຄວາມຖີ່ (ແລະການເສື່ອມໂຊມ), ທັງຂາເຂົ້າ ແລະຜົນຜະລິດ, ແມ່ນລະບຸໄວ້ໃນຫົວໜ່ວຍຂອງ 1/ຄັ້ງ,
ບ່ອນທີ່ຫົວຫນ່ວຍຂອງເວລາຖືກກໍານົດໂດຍໄລຍະການເກັບຕົວຢ່າງ dt (ເວລາລະຫວ່າງ
ວັດສະດຸປ້ອນຕິດຕໍ່ກັນ). dt ແມ່ນໂດຍຄ່າເລີ່ມຕົ້ນ 1, ເວັ້ນເສຍແຕ່ວ່າທ່ານລະບຸມັນດ້ວຍ -t dt ທາງເລືອກ.
ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ເລືອກບາງຫນ່ວຍ (ຕົວຢ່າງ ms ໃນຕົວຢ່າງຂ້າງເທິງ) ແລະນໍາໃຊ້ພວກມັນເພື່ອສະແດງອອກ
ຂັ້ນຕອນທີ່ໃຊ້ເວລາ. ຫຼັງຈາກນັ້ນ, ໃຫ້ສອດຄ່ອງແລະນໍາໃຊ້ inverse ຂອງຫນ່ວຍງານເຫຼົ່ານັ້ນ (ເຊັ່ນ: kHz = 1/ms) ສໍາລັບ
ຄວາມຖີ່.
ໃຫ້ສັງເກດວ່າຄວາມຖີ່ແມ່ນປົກກະຕິ 1/period definition; ມັນບໍ່ແມ່ນຄວາມຖີ່ຂອງມຸມ.
OPTIONS
-h ສະແດງການຊ່ວຍເຫຼືອໃນຕົວເລືອກແຖວຄໍາສັ່ງ ແລະການນໍາໃຊ້.
-V ພິມໝາຍເລກສະບັບ ແລະຂໍ້ມູນລິຂະສິດສຳລັບ ຮາມິນ.
-v ເປີດໃຊ້ງານຜົນຜະລິດ verbose, ພິມອອກເປັນຜົນຜະລິດມາດຕະຖານເປັນເສັ້ນຄໍາເຫັນ (ເລີ່ມຕົ້ນດ້ວຍ a
"#" ຕົວອັກສອນ). ນອກຈາກນີ້, ຄຳເຫັນ "#" ໃດໆກໍຕາມໃນວັດສະດຸປ້ອນຈະຖືກສະທ້ອນກັບຜົນໄດ້ຮັບ.
-T ລະບຸໄລຍະເວລາ-ໄລຍະແທນທີ່ຈະເປັນຊ່ວງຄວາມຖີ່ໃນແຖວຄຳສັ່ງ (ໃນຫົວໜ່ວຍຂອງ
ທີ່ໃຊ້ເວລາທີ່ສອດຄ້ອງກັນກັບທີ່ລະບຸໄວ້ໂດຍ -t). ຜົນຜະລິດແມ່ນຍັງຄວາມຖີ່ແລະ
ບໍ່ແມ່ນໄລຍະເວລາ, ຢ່າງໃດກໍຕາມ.
-w ລະບຸຄວາມຖີ່ມຸມສາກແທນຄວາມຖີ່, ແລະຄວາມຖີ່ຂອງມຸມສາກ
ແທນຄວາມຖີ່. (ຄວາມຖີ່ມຸມແມ່ນຄວາມຖີ່ຄູນດ້ວຍ 2 pi).
-n ພິກສັນຍານຂອງສົນທິສັນຍາຄວາມຖີ່ (ແລະໄລຍະ) ທີ່ໃຊ້ໃນ harminv. (ປ້າຍ
ຄວາມຖີ່ແມ່ນມີຄວາມສໍາຄັນພຽງແຕ່ຖ້າທ່ານມີຂໍ້ມູນການປ້ອນຂໍ້ມູນທີ່ມີຄ່າຊັບຊ້ອນ, ໃນນັ້ນ
ກໍລະນີທີ່ຄວາມຖີ່ຂອງການທາງບວກແລະທາງລົບສາມາດແຕກຕ່າງກັນ.
-t dt ລະບຸໄລຍະການເກັບຕົວຢ່າງ dt; ນີ້ກໍານົດຫົວຫນ່ວຍຂອງເວລາທີ່ໃຊ້ຕະຫຼອດ
ການປ້ອນຂໍ້ມູນ ແລະຜົນຜະລິດ. ຄ່າເລີ່ມຕົ້ນເປັນ 1.0.
-d d ລະບຸ "ຄວາມຫນາແຫນ້ນ" spectral. d ເພື່ອຊອກຫາຮູບແບບທີ່ຄວາມຫນາແຫນ້ນຂອງ 1
ຊີ້ໃຫ້ເຫັນເຖິງຄວາມລະອຽດ Fourier ປົກກະຕິ. ນັ້ນແມ່ນ, ຈໍານວນຂອງຫນ້າທີ່ພື້ນຖານ
(ເຊິ່ງກໍານົດຂອບເຂດເທິງກ່ຽວກັບຈໍານວນຂອງໂຫມດ) ແມ່ນໃຫ້ໂດຍ d ເວລາ (ຄວາມຖີ່ສູງສຸດ -
ຄວາມຖີ່-ນາທີ) ເທື່ອ dt ເທົ່າຂອງຈໍານວນຕົວຢ່າງໃນຊຸດຂໍ້ມູນຂອງທ່ານ. ສູງສຸດ 300
ຢ່າງໃດກໍຕາມ, ຖືກນໍາໃຊ້ເພື່ອປ້ອງກັນບໍ່ໃຫ້ matrices ຂະຫນາດໃຫຍ່ເກີນໄປ (ທ່ານສາມາດບັງຄັບ a
ຈໍານວນຂະຫນາດໃຫຍ່ທີ່ມີ -f, ດ້ານລຸ່ມ).
ໃຫ້ສັງເກດວ່າການແກ້ໄຂຄວາມຖີ່ຂອງຜົນໄດ້ຮັບແມ່ນ ບໍ່ ຈໍາກັດໂດຍ spectral ໄດ້
ຄວາມຫນາແຫນ້ນ, ແລະໂດຍທົ່ວໄປສາມາດມີຫຼາຍກ່ວາຄວາມລະອຽດ Fourier. ໄດ້
ຄວາມຫນາແຫນ້ນກໍານົດວິທີການຈໍານວນຫຼາຍ, ຫຼາຍທີ່ສຸດ, ເພື່ອຊອກຫາ, ແລະໃນບາງຄວາມຫມາຍແມ່ນ
ຄວາມຫນາແຫນ້ນທີ່ແບນວິດໃນເບື້ອງຕົ້ນ "ຄົ້ນຫາ" ສໍາລັບໂຫມດ.
ຄວາມຫນາແຫນ້ນໃນຕອນຕົ້ນແມ່ນ 0.0, ຊຶ່ງຫມາຍຄວາມວ່າຈໍານວນຂອງຫນ້າທີ່ພື້ນຖານແມ່ນ
ກໍານົດໂດຍ -f (ເຊິ່ງເລີ່ມຕົ້ນເປັນ 100). ນີ້ມັກຈະກົງກັນກັບຂະຫນາດໃຫຍ່ຫຼາຍ
ຄວາມຫນາແຫນ້ນກ່ວາຄວາມລະອຽດ Fourier ປົກກະຕິ, ແຕ່ຜົນໄດ້ຮັບການເປັນຕົວເລກໃນ
matrices ລະບົບຈະຖືກລຶບອອກໂດຍອັດຕະໂນມັດໂດຍ harminv.
-f nf ກໍານົດຂອບເຂດຕ່ໍາ nf ກ່ຽວກັບຈໍານວນຂອງການທໍາງານພື້ນຖານ spectral (ຄ່າເລີ່ມຕົ້ນທີ່ຈະ
100), ກໍານົດຂອບເຂດຕ່ໍາກ່ຽວກັບຈໍານວນໂຫມດທີ່ຈະຄົ້ນຫາ. ທາງເລືອກນີ້ແມ່ນ
ມັກຈະເປັນວິທີທີ່ສະດວກກວ່າທີ່ຈະລະບຸຈໍານວນຂອງຫນ້າທີ່ພື້ນຖານກ່ວາ -d
ທາງເລືອກ, ຂ້າງເທິງ, ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າມັນເປັນຄ່າເລີ່ມຕົ້ນ.
-f ຍັງອະນຸຍາດໃຫ້ທ່ານສາມາດຈ້າງຫຼາຍກ່ວາ 300 ຫນ້າທີ່ພື້ນຖານ, ແຕ່ລະມັດລະວັງ: ໄດ້
ການຄິດໄລ່ເວລາຄິດໄລ່ເປັນ O(N nf) + O(nf^3), ບ່ອນທີ່ N ແມ່ນຈໍານວນຕົວຢ່າງ, ແລະ
matrices ຂະຫນາດໃຫຍ່ຫຼາຍຍັງສາມາດມີຄວາມຖືກຕ້ອງທີ່ຊຸດໂຊມ.
-s ການຈັດລຽງ
ລະບຸວ່າຜົນໄດ້ຮັບຖືກຈັດຮຽງແນວໃດ, ຢູ່ໃສ ການຈັດລຽງ ແມ່ນຫນຶ່ງໃນ
frequency/error/Q/decay/amplitude. (ພຽງແຕ່ລັກສະນະທໍາອິດຂອງ ການຈັດລຽງ ເລື່ອງ.)
ທຸກປະເພດຢູ່ໃນລໍາດັບຕັ້ງຊັນຂຶ້ນ. ຄ່າເລີ່ມຕົ້ນແມ່ນຈັດຮຽງຕາມຄວາມຖີ່.
-e err ຂ້າມໂໝດໃດນຶ່ງທີ່ມີຂໍ້ຜິດພາດ (ເບິ່ງຂ້າງເທິງ) ຫຼາຍກວ່າ err ເທົ່າຂອງຄວາມຜິດພາດທີ່ໃຫຍ່ທີ່ສຸດ
ໃນບັນດາຮູບແບບການຄິດໄລ່. ຄ່າເລີ່ມຕົ້ນບໍ່ຈຳກັດ.
-E err ຂ້າມໂໝດໃດນຶ່ງທີ່ມີຂໍ້ຜິດພາດ (ເບິ່ງຂ້າງເທິງ) ຫຼາຍກວ່າ err. ຄ່າເລີ່ມຕົ້ນເປັນ 0.1.
-F ຂ້າມໂໝດໃດນຶ່ງທີ່ມີຄວາມຖີ່ຢູ່ນອກຂອບເຂດທີ່ກຳນົດ. (ຮູບແບບດັ່ງກ່າວບໍ່ແມ່ນ
ຢ່າງໃດກໍຕາມ.)
-a amp ຫ້າມໂໝດໃດນຶ່ງທີ່ມີຄວາມກວ້າງ (ເບິ່ງຂ້າງເທິງ) ໜ້ອຍກວ່າ amp ເວລາກວ້າງໃຫຍ່ສຸດ
ໃນບັນດາຮູບແບບການຄິດໄລ່. ຄ່າເລີ່ມຕົ້ນບໍ່ຈຳກັດ.
-A amp ຫ້າມໂໝດໃດນຶ່ງທີ່ມີຄວາມກວ້າງ (ເບິ່ງຂ້າງເທິງ) ໜ້ອຍກວ່າ amp. ຄ່າເລີ່ມຕົ້ນບໍ່ຈຳກັດ.
-Q q ຫ້າມໂໝດໃດໆກໍຕາມທີ່ມີ |Q| (ເບິ່ງຂ້າງເທິງ) ຫນ້ອຍກວ່າ q. ຄ່າເລີ່ມຕົ້ນເປັນ 10.
ໃຊ້ harminv ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net