Zor bir zorlukla karşı karşıya kaldım: İkili verileri bir iPhone manyetik şerit kart okuyucusundan çıkarmak . Karttaki mıknatıslanma şöyle görünüyor:
İşte bir kartı kaydırdığınızda iPhone'un aldığı WAV . (Çok fazla umutlanmayın, bu bir bonus sadakat kartı;). Bu arada, farklı hızlarda üç tokatlamak. Bu kullanıyorum tokatlamak için ham SInt16 dökümü .
Biri burada yapmış gibi görünüyor, ancak yakaladığım gerçek verilerin işlenmesi özellikle kolay değil.
Okuma, belirsiz sayıda 'sıfır' ile başlar (ve biter) - dalganın sadece 2 ZEROS toplandıktan sonra tekrar ettiğini unutmayın; bu, NS ve SN'yi gösterir:
(üç çizgiden her birinin farklı bir kartı kaydırdığımı gösterdiğine dikkat edin; bu görüntüdeki alt kart 15 yaşındadır, bu nedenle manyetik alan bu çekimde görünmeyen bazı yerlerde ciddi şekilde bozulur)
Bu, bir algoritmanın bir saat tikini tespit etmesine izin verecektir.
Manyetik alan her saat teneğinde ters çevrilir. Ayrıca bir ikili 1 için, manyetik alan tam olarak bir kenenin ortasında tersine döner:
Dizi her zaman bir 1101 + 0 (parite biti) başlangıç sentineliyle başlar. Bunu, yukarıdaki grafikteki her üç okumadan da seçebilirsiniz. Sorunun başında bağladığım kozmodro makalesinde daha açık bir şekilde belirtilmiştir.
İşte manyetik bozulma örneği (alt kart okuması boyunca daha ileri götürülür):
Bu dalga biçimini karşılık gelen ikili diziye dönüştürmenin mantıklı bir yolunu bulmaya çalışıyorum.
Bazı ayrıntılara giren bir PDF buldum , ancak kullandıkları algoritmayı bulamıyorum.
Bu PDF ilginç bir resim içeriyor:
Kırmızı ve mavi çizgileri bu şemaya göre çıkarabilirsem, ikisinden birini veriyi çıkarmak için kullanabilirim, ancak yapının arkasındaki mantığı bulamıyorum.
Öyleyse benim sorum şu: İkili diziyi nasıl çıkartırım?
PS. Kaydırma hızının sabit olmayacağını unutmayın. Bu yüzden, saat bir kez belirlendiğinde, bir onaydan diğerine sürekli olarak ayarlanması gerekir.
PPS. Otokorelasyon kene çiftlerini yakalar mı? (keneler olarak görerek NS SN'yi değiştirir ...)
EDIT (Haziran '12): Bu konuda çok yardıma ihtiyacım vardı, ama sonunda sağlam bir okuyucu okudum ( http://www.magstripedecoder.com/ ). Yardım eden herkese teşekkürler! IRC'nin efnet kanalında #musicdsp'i, matematikle uğraşmakta zorluk çekebilecek kadar kararlı biri için öneriyorum - gerçekten çok zor!