เสียงประสานทรงกลม
สมมติว่าคุณมีข้อมูลอยู่ในอาร์เรย์ แต่คุณต้องการแสดงข้อมูลนั้นด้วยจำนวนไบต์ที่น้อยลง
วิธีหนึ่งในการทำเช่นนั้นอาจเป็นการแสดงข้อมูลเป็นฟังก์ชันแทนที่จะเป็นค่า raw
คุณสามารถแทนมันเป็นฟังก์ชันเชิงเส้นได้:
y=ax+b
จากนั้นแทนการจัดเก็บอาร์เรย์ของคุณของค่าที่คุณสามารถเก็บเพียงและขขab
ปัญหาคือสมการเชิงเส้นอาจเป็นข้อมูลที่ไม่ดีพอ
คุณสามารถลองกำลังสองแทน:
y=ax2+bx+c
ตอนนี้แทนการจัดเก็บและคุณเก็บ,และคb a b cababc
เราได้เพิ่มที่เก็บหน่วยความจำและความซับซ้อนในการคำนวณในการจัดเก็บและเรียกคืนข้อมูลของคุณเมื่อเทียบกับสมการเชิงเส้น แต่เป็นการประมาณที่ดีกว่าของอาร์เรย์ข้อมูลของคุณ เราสามารถใช้ฟังก์ชันลูกบาศก์ได้หรือสูงกว่าก็ได้ การเพิ่มคำสั่งซื้อเพิ่มการจัดเก็บการคำนวณและความแม่นยำ
ฮาร์โมนิกส์ทรงกลมเป็นวิธีการสร้างฟังก์ชั่นที่กำหนดไว้ในทรงกลมแทนที่จะเป็นเหมือนที่ฉันพูดถึงข้างต้นf(x)
เช่นเดียวกับในตัวอย่างด้านบนคุณสามารถใช้ฟังก์ชันฮาร์โมนิกส์ทรงกลมที่มีลำดับต่ำกว่าเพื่อสร้างบางสิ่งบางอย่างด้วยพื้นที่จัดเก็บที่ต่ำกว่าและการคำนวณที่ต่ำกว่าในการคำนวณข้อมูล แต่ยังลดความแม่นยำ
ในทางกลับกันคุณสามารถเพิ่มคำสั่งซื้อและรับข้อมูลที่ใกล้เคียงกับข้อมูลต้นฉบับของคุณได้ดีขึ้น แต่ด้วยค่าใช้จ่ายที่จำเป็นสำหรับพื้นที่เก็บข้อมูลที่มากขึ้นและการคำนวณที่จำเป็นในการคำนวณจุดข้อมูล
ในสุดขีดคุณสามารถใช้คำศัพท์ฮาร์มอนิกทรงกลมได้มากเท่าที่คุณมีตัวอย่างในอาเรย์แล้วคุณสามารถสร้างอาเรย์ดั้งเดิมของคุณใหม่ได้อย่างแน่นอน แต่คุณใช้การคำนวณจำนวนมากในการทำเช่นนั้น ตามที่คุณเริ่มต้นด้วย
ด้วยเหตุนี้ในทางปฏิบัติฟังก์ชันฮาร์โมนิกส์ทรงกลมจึงไม่ให้ประโยชน์มากนักหากคุณต้องการแสดงรายละเอียดที่ละเอียด - เช่นการสะท้อนที่คมชัดบนทรงกลม - แต่มันอาจมีราคาถูกสำหรับข้อมูลที่ไม่มีรายละเอียดที่ดี ไม่มีเนื้อหาที่มีความถี่สูงมาก) นอกจากนี้ยังมีประโยชน์สำหรับการคำนวณโดเมนความถี่เช่นการวิเคราะห์สเปกตรัมหรือการโน้มน้าว
หนึ่งในข้อมูลที่พวกเขาเก็บได้ดีคือ "irradiance" ซึ่งเป็นปริมาณของแสงที่กระทบกับจุดอื่น มันมีแนวโน้มที่จะดูเบลอเล็กน้อยซึ่งหมายความว่ามีเนื้อหาที่มีความถี่ต่ำเท่านั้นและเป็นตัวเลือกที่ดีสำหรับการจัดเก็บในฟังก์ชันฮาร์โมนิกส์ทรงกลม
ฉันจะทิ้งคำอธิบายไว้ให้คนอื่น: p