ฉันกำลังเผชิญกับความท้าทายที่หากิน: ในการดึงข้อมูลไบนารีจากเครื่องอ่านบัตรแถบแม่เหล็ก iPhone นี่คือลักษณะของการดึงดูดบนการ์ด:
นี่คือ. WAVที่ iPhone ได้รับเมื่อคุณรูดบัตร (อย่าให้ความหวังมากเกินไปมันเป็นบัตรสะสมคะแนนโบนัส)) นั่นคือสาม swipes ตามวิธีที่แตกต่างกันความเร็ว นี่เป็นดัมพ์ SInt16 ดิบสำหรับการปัดที่ฉันกำลังใช้
ดูเหมือนว่ามีคนทำที่นี่ แต่ข้อมูลจริงที่ฉันจับไม่ได้เป็นเรื่องง่ายที่จะดำเนินการ
การอ่านเริ่มต้น (และเสร็จสิ้น) ด้วยจำนวนที่ไม่แน่นอนของ 'ศูนย์' - โปรดทราบว่าคลื่นซ้ำหลังจากที่รวบรวม ZEROS 2 ครั้งเท่านั้นซึ่งแสดงถึง NS ตามด้วย SN:
(โปรดทราบว่าแต่ละเส้นทั้งสามแสดงถึงฉันรูดการ์ดที่แตกต่างกันบัตรด้านล่างในภาพนี้คือ 15 ปีดังนั้นสนามแม่เหล็กจะเสื่อมโทรมอย่างรุนแรงในบางสถานที่ไม่เห็นในภาพนี้)
วิธีนี้จะทำให้อัลกอริทึมสามารถตรวจสอบเห็บนาฬิกา
สนามแม่เหล็กย้อนกลับในแต่ละขีดนาฬิกา นอกจากนี้สำหรับไบนารี่ 1 สนามแม่เหล็กจะกลับด้านตรงกลางของเห็บ:
ลำดับจะเริ่มต้นด้วย Sentinel เริ่มต้นที่ 1101 + 0 (บิตพาริตี) คุณสามารถเลือกได้จากการอ่านทั้งสามในกราฟด้านบน มีการระบุอย่างชัดเจนยิ่งขึ้นในบทความ cosmodro ที่ฉันเชื่อมโยงไว้ที่ด้านบนของคำถาม
นี่คือตัวอย่างของการสลายตัวของสนามแม่เหล็ก (นำไปอ่านเพิ่มเติมที่ด้านล่างของการ์ด):
ฉันกำลังพยายามหาวิธีที่เหมาะสมในการแปลงรูปคลื่นนี้เป็นลำดับเลขฐานสองที่สอดคล้องกัน
ฉันพบPDF หนึ่งรายการที่มีรายละเอียดบางอย่าง แต่ฉันไม่สามารถหาอัลกอริทึมที่ใช้
PDF นี้มีภาพที่น่าสนใจหนึ่งภาพ:
ถ้าฉันสามารถแยกเส้นสีแดงและสีน้ำเงินตามแผนภาพนี้ฉันสามารถใช้หนึ่งในนั้นเพื่อดึงข้อมูล แต่ฉันไม่สามารถหาตรรกะเบื้องหลังการสร้างได้
นี่คือคำถามของฉัน: ฉันจะแยกลำดับไบนารีได้อย่างไร
PS โปรดทราบว่าความเร็วการปัดจะไม่คงที่ ดังนั้นเมื่อนาฬิกาได้รับการพิจารณาในความต้องการที่จะต้องปรับอย่างต่อเนื่องจากหนึ่งขีดต่อไป
PPS ความสัมพันธ์อัตโนมัติจะจับคู่เห็บหรือไม่ (เมื่อเห็นว่าเห็บจะเลือก NS SN ... )
แก้ไข (มิถุนายน '12): ฉันต้องการความช่วยเหลือมากมายเกี่ยวกับสิ่งนี้ แต่ในที่สุดฉันก็เสร็จสิ้นการอ่าน solid ( http://www.magstripedecoder.com/ ) ขอบคุณสำหรับทุกคนที่ช่วย! ฉันแนะนำ #musicdsp บนช่อง efnet ของ IRC สำหรับทุกคนที่ทุ่มเทมากพอที่จะท้าทายการจับคณิตศาสตร์ - มันยากจริงๆ!