6
การคำนวณ PDF ของรูปคลื่นจากตัวอย่าง
เมื่อไม่นานมานี้ฉันได้ลองวิธีต่างๆในการวาดรูปคลื่นดิจิตอลและหนึ่งในสิ่งที่ฉันได้ลองก็คือแทนที่จะเป็นภาพเงามาตรฐานของซองขนาดแอมพลิจูดเพื่อแสดงมันเหมือนออสซิลโลสโคป นี่คือลักษณะของไซน์และคลื่นสแควร์: วิธีที่ไร้เดียงสาในการทำเช่นนี้คือ: แบ่งไฟล์เสียงเป็นก้อนเดียวต่อพิกเซลแนวนอนในภาพออก คำนวณฮิสโตแกรมของแอมพลิจูดของตัวอย่างสำหรับแต่ละอัน พล็อตฮิสโตแกรมโดยความสว่างเป็นคอลัมน์ของพิกเซล มันสร้างบางสิ่งเช่นนี้ วิธีนี้ใช้งานได้ดีหากมีตัวอย่างจำนวนมากต่อชิ้นและความถี่ของสัญญาณไม่เกี่ยวข้องกับความถี่ในการสุ่มตัวอย่าง แต่ไม่เช่นนั้น หากความถี่สัญญาณเป็นตัวอย่างที่แน่นอนของความถี่การสุ่มตัวอย่างตัวอย่างจะเกิดขึ้นที่แอมพลิจูดเดียวกันในแต่ละรอบและฮิสโทแกรมจะมีเพียงไม่กี่จุดแม้ว่าสัญญาณที่สร้างขึ้นจริงจะอยู่ระหว่างจุดเหล่านี้ ชีพจรไซน์นี้ควรราบเรียบเท่าที่อยู่ด้านบนซ้าย แต่ไม่ใช่เพราะมันคือ 1 kHz และตัวอย่างจะเกิดขึ้นรอบ ๆ จุดเดียวกันเสมอ: ฉันพยายามอัปแซมปลิงเพื่อเพิ่มจำนวนคะแนน แต่มันไม่สามารถแก้ปัญหาได้เพียงช่วยให้สิ่งต่าง ๆ ราบรื่นในบางกรณี สิ่งที่ฉันชอบคือวิธีการคำนวณPDF ที่แท้จริง(ความน่าจะเป็นเทียบกับแอมพลิจูด) ของสัญญาณที่สร้างใหม่อย่างต่อเนื่องจากตัวอย่างดิจิทัล (แอมพลิจูดเทียบกับเวลา) ฉันไม่รู้ว่าจะใช้อัลกอริธึมอะไรสำหรับเรื่องนี้ โดยทั่วไปรูปแบบไฟล์ PDF ของฟังก์ชั่นเป็นอนุพันธ์ของฟังก์ชันผกผัน PDF ของ sin (x): ddxarcsinx=11−x2√ddxarcsinx=11−x2\frac{d}{dx} \arcsin x = \frac{1}{\sqrt{1-x^2}} แต่ฉันไม่ทราบวิธีคำนวณสิ่งนี้สำหรับคลื่นที่อินเวอร์สเป็นฟังก์ชันหลายค่าหรือวิธีที่รวดเร็ว แยกมันออกเป็นกิ่งไม้และคำนวณค่าผกผันของแต่ละตัวนำอนุพันธ์มารวมกัน แต่มันค่อนข้างซับซ้อนและอาจเป็นวิธีที่ง่ายกว่า "PDF ของข้อมูลที่ถูกสอดแทรก" นี้ยังใช้กับความพยายามที่ฉันทำเพื่อประมาณความหนาแน่นของเคอร์เนลของแทร็ก GPS มันควรจะเป็นรูปวงแหวน แต่เนื่องจากมันเป็นเพียงการดูตัวอย่างและไม่พิจารณาจุดแทรกระหว่างตัวอย่าง KDE จึงดูคล้ายกับโคกมากกว่าวงแหวน หากตัวอย่างเป็นสิ่งที่เรารู้แล้วนี่คือสิ่งที่ดีที่สุดที่เราสามารถทำได้ …