harminv - ออนไลน์ในคลาวด์

นี่คือคำสั่ง harminv ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


harminv - แยกความถี่โหมดจากข้อมูลอนุกรมเวลา

เรื่องย่อ


ฮาร์มิน [ทางเลือกที่-ความถี่-นาที-ความถี่สูงสุด] ...

DESCRIPTION


ฮาร์มิน เป็นโปรแกรมที่ออกแบบมาเพื่อแก้ปัญหา "ฮาร์มอนิกผกผัน" : ให้เวลา
ชุดประกอบด้วยผลรวมของไซนัส ("โหมด") แยกความถี่และ
แอมพลิจูด นอกจากนี้ยังสามารถจัดการกับกรณีของไซนูซอยด์ที่สลายตัวแบบทวีคูณ ซึ่ง
กรณีที่แยกอัตราการสลายตัวด้วย

ฮาร์มิน มักจะสามารถบรรลุความแม่นยำและความทนทานมากกว่าฟูริเยร์-
วิธีการแปลงโดยพื้นฐานแล้วเนื่องจากถือว่ารูปแบบเฉพาะสำหรับการป้อนข้อมูล

ใช้ "วิธีการกรองแนวทแยงมุม" (FDM) ที่เก็บข้อมูลต่ำตามที่อธิบายไว้ในVA
Mandelshtam และ HS Taylor "การผกผันของสัญญาณเวลา" J. Chem ร่างกาย. 107,
6756 (1997). ดูเพิ่มเติมที่ erratum อ้างแล้ว 109, 4128 (1998)

INPUT


ฮาร์มิน อ่านในลำดับของจำนวนจริงหรือจำนวนเชิงซ้อนที่คั่นด้วยช่องว่างจากมาตรฐาน
อินพุต เช่นเดียวกับอาร์กิวเมนต์บรรทัดคำสั่งที่ระบุช่วงความถี่หนึ่งหรือหลายรายการเป็น
ค้นหาและส่งออกโหมดที่ดึงมาจากข้อมูล (โดยเฉพาะอย่างยิ่งพบว่า
โหมดในช่วงความถี่ที่คุณระบุ แต่บางครั้งอาจพบโหมดเพิ่มเติมภายนอก
ของช่วงนั้น) ข้อมูลควรสอดคล้องกับช่วงเวลาที่เว้นระยะเท่ากัน แต่มี
ไม่จำกัดจำนวนแต้ม

ตัวเลขที่ซับซ้อนในการป้อนข้อมูลควรแสดงในรูปแบบ RE+IMฉัน (ไม่มีช่องว่าง)
มิฉะนั้น ช่องว่างจะถูกละเว้น นอกจากนี้ ความคิดเห็นที่ขึ้นต้นด้วย "#" และขยายไปยัง
ปลายบรรทัดจะถูกละเว้น

การร้องขอทั่วไปเป็นสิ่งที่ชอบ

harminv -t 0.02 1-5 < input.dat

ซึ่งอ่านลำดับของตัวอย่าง เว้นระยะ 0.02 ช่วงเวลา (เป็นมิลลิวินาที พูดว่า
ที่สัมพันธ์กับ 50 kHz) และค้นหาโหมดในช่วงความถี่ 1-5 kHz (ดู
ด้านล่างของหน่วย)

เอาท์พุท


ฮาร์มิน เขียนหกคอลัมน์ที่คั่นด้วยเครื่องหมายจุลภาคไปยังเอาต์พุตมาตรฐาน หนึ่งบรรทัดสำหรับแต่ละโหมด:
ความถี่ ค่าคงที่การสลายตัว Q แอมพลิจูด เฟส และข้อผิดพลาด แต่ละโหมดสอดคล้องกับa
ฟังก์ชั่นของแบบฟอร์ม:

ความกว้าง * exp[-i (2 pi .) ความถี่ เสื้อ - ระยะ) - ผุ t]

ที่นี่ i คือ sqrt(-1) t คือเวลา (ดูหน่วยด้านล่าง) และพารามิเตอร์อื่นๆ ใน
คอลัมน์เอาต์พุตคือ:

ความถี่
ความถี่ของโหมด หากคุณไม่รู้จักสิ่งนั้นจากนิพจน์ด้านบน
คุณควรจำสูตรของออยเลอร์: exp(ix) = cos(x) + i sin(x) โปรดทราบว่าสำหรับ
ข้อมูลที่ซับซ้อน มีความแตกต่างระหว่างความถี่บวกและลบ

ผุ คงที่
ค่าคงที่การสลายตัวแบบเอ็กซ์โพเนนเชียล ระบุโดย ผุ ในสูตรข้างต้น NS
ผกผันของสิ่งนี้มักเรียกว่า "อายุการใช้งาน" ของโหมด "ครึ่งชีวิต" คือ
ln(2) /ผุ.

Q นิพจน์ทั่วไปที่ไม่มีมิติของอายุการสลาย: Q = pi |ความถี่|
/ ผุ. Q ซึ่งย่อมาจาก "ปัจจัยด้านคุณภาพ" คือจำนวนช่วงเวลาสำหรับ
"พลังงาน" ในโหมด (แอมพลิจูดกำลังสอง) เพื่อสลายโดย exp(-2 pi) อย่างเท่าเทียมกัน
ถ้าคุณดูที่สเปกตรัมกำลัง (|การแปลงฟูเรียร์|^2) 1/Q คือเศษส่วน
ความกว้างของยอดสูงสุดครึ่งหนึ่ง

ความกว้าง
แอมพลิจูด (ของจริง, บวก) ของไซนัส แอมพลิจูด (และเฟส)
ข้อมูลโดยทั่วไปดูเหมือนจะมีความแม่นยำน้อยกว่าความถี่และการสลายตัว
คงที่

ระยะ เฟสกะ (เป็นเรเดียน) ของไซนัสตามที่กำหนดโดยสูตรด้านบน

ความผิดพลาด ค่าประมาณคร่าวๆ ของข้อผิดพลาดสัมพัทธ์ในความถี่ (ซับซ้อน) มันไม่ใช่
แถบข้อผิดพลาดจริง ๆ อย่างไรก็ตามคุณควรปฏิบัติต่อมันเป็นตัวเลขของบุญ
(เล็กลงจะดีกว่า) สำหรับแต่ละโหมด

ปลอม โหมด


โดยทั่วไปแล้ว harminv จะพบวิธีแก้ปัญหาปลอมจำนวนหนึ่งนอกเหนือจากที่ต้องการ
วิธีแก้ปัญหา โดยเฉพาะอย่างยิ่งหากข้อมูลของคุณมีเสียงรบกวน การแก้ปัญหาดังกล่าวมีลักษณะเฉพาะโดยใหญ่
ข้อผิดพลาด แอมพลิจูดเล็ก และ/หรือ Q เล็ก (อัตราการสลายขนาดใหญ่/ linewidth กว้าง) คุณสามารถ
ละเว้นสิ่งเหล่านี้จากเอาต์พุตโดยตัวเลือกการคัดกรองข้อผิดพลาด/Q/แอมพลิจูดที่กำหนดไว้ด้านล่าง

โดยค่าเริ่มต้น โหมดที่มีข้อผิดพลาด > 0.1 และ Q < 10 จะถูกละเว้นโดยอัตโนมัติ แต่มีแนวโน้มว่า
ที่คุณจะต้องกำหนดขีดจำกัดที่เข้มงวดมากขึ้น

UNITS


ค่าความถี่ (และการสลายตัว) ทั้งอินพุตและเอาต์พุต ระบุเป็นหน่วย 1/ครั้ง
โดยที่หน่วยของเวลาถูกกำหนดโดยช่วงสุ่มตัวอย่าง dt (เวลาระหว่าง
อินพุตต่อเนื่อง) dt เป็นค่าเริ่มต้น 1 เว้นแต่คุณจะระบุด้วย -t dt ตัวเลือก

กล่าวอีกนัยหนึ่ง เลือกบางหน่วย (เช่น ms ในตัวอย่างด้านบน) และใช้เพื่อแสดง
ขั้นตอนเวลา. จากนั้น ให้สอดคล้องกันและใช้ค่าผกผันของหน่วยเหล่านั้น (เช่น kHz = 1/ms) สำหรับ
ความถี่

โปรดทราบว่าความถี่เป็นคำจำกัดความ 1/รอบ ปกติ ไม่ใช่ความถี่เชิงมุม

OPTIONS


-h แสดงวิธีใช้เกี่ยวกับตัวเลือกบรรทัดคำสั่งและการใช้งาน

-V พิมพ์หมายเลขรุ่นและข้อมูลลิขสิทธิ์สำหรับ ฮาร์มิน.

-v เปิดใช้งานเอาต์พุตแบบละเอียด พิมพ์เป็นเอาต์พุตมาตรฐานเป็นบรรทัดความคิดเห็น (เริ่มต้นด้วย a
"#" อักขระ). นอกจากนี้ ความคิดเห็น "#" ใดๆ ในอินพุตจะถูกสะท้อนไปยังเอาต์พุต

-T ระบุช่วงระยะเวลาแทนช่วงความถี่ในบรรทัดคำสั่ง (ในหน่วยของ
ตามเวลาที่ . กำหนด -t). เอาท์พุทยังคงเป็นความถี่และ
ไม่ใช่ระยะเวลาอย่างไรก็ตาม

-w ระบุความถี่เชิงมุมแทนความถี่และความถี่เชิงมุมเอาต์พุต
แทนความถี่ (ความถี่เชิงมุมคือความถี่คูณด้วย 2 ไพ)

-n พลิกสัญลักษณ์ของการประชุมความถี่ (และเฟส) ที่ใช้ใน harminv. (สัญลักษณ์
ของความถี่จะมีความสำคัญก็ต่อเมื่อคุณมีข้อมูลอินพุตที่มีค่าซับซ้อน ซึ่ง
กรณีแอมพลิจูดความถี่บวกและลบอาจแตกต่างกัน)

-t dt ระบุช่วงการสุ่มตัวอย่าง dt; นี้กำหนดหน่วยของเวลาที่ใช้ตลอด
อินพุตและเอาต์พุต ค่าเริ่มต้นคือ 1.0

-d d ระบุสเปกตรัม "ความหนาแน่น" d เพื่อค้นหาโหมดที่มีความหนาแน่น 1
หมายถึงความละเอียดฟูริเยร์ปกติ นั่นคือจำนวนฟังก์ชันพื้นฐาน
(ซึ่งกำหนดขอบเขตบนของจำนวนโหมด) ถูกกำหนดโดย d ครั้ง (ความถี่สูงสุด -
ความถี่-นาที) ครั้ง dt คูณด้วยจำนวนตัวอย่างในชุดข้อมูลของคุณ สูงสุด300
อย่างไรก็ตาม ใช้เพื่อป้องกันไม่ให้เมทริกซ์ใหญ่เกินไป (คุณสามารถบังคับ a
จำนวนมากขึ้นด้วย -fด้านล่าง)

โปรดทราบว่าความละเอียดความถี่ของเอาต์พุตคือ ไม่ ถูกจำกัดด้วยสเปกตรัม
ความหนาแน่น และโดยทั่วไปจะมากกว่าความละเอียดฟูริเยร์มาก NS
ความหนาแน่นกำหนดจำนวนโหมด มากที่สุด ค้นหา และในแง่หนึ่งคือ
ความหนาแน่นที่แบนด์วิดธ์ถูก "ค้นหา" สำหรับโหมดในขั้นต้น

ความหนาแน่นเริ่มต้นคือ 0.0 ซึ่งหมายความว่าจำนวนฟังก์ชันพื้นฐานคือ
กำหนดโดย -f (ซึ่งค่าเริ่มต้นคือ 100) นี้มักจะสอดคล้องกับที่ใหญ่กว่ามาก
ความหนาแน่นมากกว่าความละเอียดฟูริเยร์ปกติ แต่ผลลัพธ์เป็นเอกพจน์ใน
เมทริกซ์ของระบบจะถูกลบออกโดยอัตโนมัติโดย harminv

-f nf ระบุขอบเขตล่าง nf เกี่ยวกับจำนวนฟังก์ชันพื้นฐานสเปกตรัม (ค่าเริ่มต้น to
100) กำหนดขอบเขตล่างของจำนวนโหมดที่จะค้นหา ตัวเลือกนี้คือ
มักจะเป็นวิธีที่สะดวกกว่าในการระบุจำนวนฟังก์ชันพื้นฐานมากกว่า -d
ด้านบน ซึ่งเป็นสาเหตุว่าทำไมจึงเป็นค่าเริ่มต้น

-f ยังช่วยให้คุณใช้ฟังก์ชันพื้นฐานมากกว่า 300 ฟังก์ชัน แต่ควรระมัดระวัง: the
มาตราส่วนเวลาในการคำนวณเป็น O(N nf) + O(nf^3) โดยที่ N คือจำนวนตัวอย่าง และ
เมทริกซ์ขนาดใหญ่มากอาจมีความแม่นยำลดลงเช่นกัน

-s ประเภท
ระบุวิธีการจัดเรียงผลลัพธ์ โดยที่ ประเภท เป็นหนึ่งใน
ความถี่/ข้อผิดพลาด/Q/การสลายตัว/แอมพลิจูด (เฉพาะอักขระตัวแรกของ ประเภท เรื่อง.)
ทุกประเภทอยู่ในลำดับจากน้อยไปมาก ค่าเริ่มต้นคือการเรียงลำดับตามความถี่

-e ทำผิดพลาด ละเว้นโหมดใด ๆ ที่มีข้อผิดพลาด (ดูด้านบน) มากกว่า ทำผิดพลาด คูณข้อผิดพลาดที่ใหญ่ที่สุด
ระหว่างโหมดการคำนวณ ค่าเริ่มต้นไม่จำกัด

-E ทำผิดพลาด ละเว้นโหมดใด ๆ ที่มีข้อผิดพลาด (ดูด้านบน) มากกว่า ทำผิดพลาด. ค่าเริ่มต้นเป็น 0.1

-F ละเว้นโหมดใดๆ ที่มีความถี่นอกช่วงที่ระบุ (โหมดดังกล่าวไม่ใช่
อย่างไรก็ตามจำเป็นต้องปลอม)

-a amp ละเว้นโหมดใดๆ ที่มีแอมพลิจูด (ดูด้านบน) น้อยกว่า amp คูณด้วยแอมพลิจูดที่ใหญ่ที่สุด
ระหว่างโหมดการคำนวณ ค่าเริ่มต้นไม่จำกัด

-A amp ละเว้นโหมดใดๆ ที่มีแอมพลิจูด (ดูด้านบน) น้อยกว่า amp. ค่าเริ่มต้นไม่จำกัด

-Q q ละเว้นโหมดใด ๆ ด้วย |Q| (ดูด้านบน) น้อยกว่า q. ค่าเริ่มต้นเป็น 10

ใช้ harminv ออนไลน์โดยใช้บริการ onworks.net



โปรแกรมออนไลน์ Linux และ Windows ล่าสุด