วิธีการวัดข้อตกลงระหว่างกับเส้นโค้ง?


11

ฉันมีค่า RSSI (พล็อตด้านล่าง) ของค่าที่คาดหวังในช่วงเวลาที่ฉันต้องการเปรียบเทียบกับค่า RSSI ที่วัดได้ของฉัน สิ่งที่ฉันกำลังมองหาคือวิธีการหาปริมาณเพื่อให้ฉันสามารถเปลี่ยนพารามิเตอร์และสามารถเปรียบเทียบ / เปรียบเทียบวิธีที่แตกต่างกัน

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

ตัวอย่างเช่นนี่คือสัญญาณพล็อตหนึ่งชุด: RSSI เทียบกับเวลา

ในภาพฉันเห็นได้ว่าสัญญาณการวัดสีแดงตามแบบจำลองคร่าวๆ แต่มันก็เป็นงานที่ดีในการจำลองคุณสมบัติไซน์บางส่วนของแบบจำลอง (ในบางแห่ง) ความคิดใด ๆ

<> ในการตอบสนองต่อความคิดเห็นของ pichenettes (ซึ่งดูสมเหตุสมผล) ฉันใช้ความต่างของสองค่าและพล็อต abs (fft (diff)) และได้สิ่งนี้: FFT

ฉันไม่แน่ใจว่าจะทำอย่างไร เนื่องจากเราไม่มีความถี่จริงใด ๆ ฉันไม่แน่ใจว่าจะปรับขนาดแกนแล้วถ้าเป็นเช่นนั้นคุณจะใช้เมตริกอะไร


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

ตกลงฉันเพิ่มพล็อตใหม่ลงในโพสต์ดั้งเดิม (เป็นการแก้ไข) เพื่อแสดง fft (ของจริง (ต่าง)) แต่ฉันไม่แน่ใจว่าจะทำอย่างไร
toozie21

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

คุณสนใจการจับคู่เฟสที่ความถี่สูงกว่ามากน้อยแค่ไหน ความรู้สึกที่ฉันได้รับคือคุณอาจต้องการเปรียบเทียบสัญญาณโดเมนเวลาโดยตรง (หลังจากตัวกรอง low-pass) จากนั้นเปรียบเทียบโดเมนความถี่สำหรับความถี่ที่สูงกว่าอาจมองที่ขนาดเท่านั้นและไม่สนใจเฟส
Dan Bryant

@ toozie21 คุณรู้ตำแหน่งของสัญญาณแล้วหรือยัง? เช่น 8 ms, 17ms .. เป็นต้น
user13107

คำตอบ:


1

หากสัญญาณไม่ได้อยู่ในแนวเดียวกัน แต่คุณมีเงื่อนงำว่าพวกเขา "หรือ" หมายถึงสิ่งเดียวกันมากขึ้นหรือน้อยลงหรืออ้างถึงข้อมูลที่คล้ายกันคุณสามารถใช้อัลกอริทึมแปรปรวนเวลาแบบไดนามิก (DTW) เพื่อให้ได้การติดต่อที่ดีขึ้น ค่าที่ตำแหน่งเดียวกัน) คุณสามารถวัดค่า RMS, MSE หรืออะไรก็ได้ที่คุณต้องการโดยใช้การโต้ตอบเหล่านั้น สำหรับ DTW คุณอาจต้องการตรวจสอบ: http://en.wikipedia.org/wiki/Dynamic_time_warping

วิธีที่ดีในการอธิบายความคิดนี้ถูกนำไปใช้ใน Earth Mover Distance (EMD) ซึ่งคำนวณความพยายามเพียงเล็กน้อยในการนำสัญญาณไปสู่การจัดตำแหน่งเป็นเครื่องมือวัดระยะทาง เมอร์คนำเสนอได้ที่นี่: http://ai.stanford.edu/~rubner/emd/default.htm

เมอร์คให้ระยะทางตรงกับคุณซึ่งคุณอาจใช้สำหรับการวิเคราะห์เพิ่มเติม


0

ฉันใช้ RMS ของเวกเตอร์ข้อผิดพลาดเป็นหน่วยวัด เนื่องจากฉันกำลังจัดการกับแผนการปรับที่ซับซ้อนฉันยังใช้ EVM เป็นตัวชี้วัด


0

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

หลังจากนั้นฉันจะลบค่าการประมาณจากเดิมเพื่อให้การเบี่ยงเบนในช่วงเวลาสั้น ๆ จากที่นั่นคุณสามารถลอง RMSE กับแต่ละอื่น ๆ หรือแม้แต่คำนวณความแปรปรวนของแต่ละอันเพื่อรับความคิดของ "เสียง" ที่คุณมีเกี่ยวกับรูปแบบของคลื่นที่เปลี่ยนแปลงอย่างช้าๆขึ้นอยู่กับสิ่งที่คุณต้องการและสิ่งที่คุณกำลังพยายาม ในการวัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.