Me enfrento a un desafío complicado: extraer datos binarios de un lector de tarjetas de banda magnética de iPhone . Así es como se ve la magnetización en la tarjeta:
Aquí está el .WAV que recibe el iPhone cuando desliza una tarjeta (no espere demasiado, es una tarjeta de fidelidad adicional). Eso es tres golpes por cierto, a diferentes velocidades. Este es el volcado de SInt16 sin procesar para el deslizamiento que estoy usando.
Alguien parece haberlo hecho aquí, pero los datos reales que capturo no son particularmente fáciles de procesar.
La lectura comienza (y termina) con un número indeterminado de 'ceros': tenga en cuenta que la onda solo se repite después de que se hayan recolectado 2 ZEROS, esto representa NS seguido de SN:
(tenga en cuenta que cada una de las tres líneas me representa deslizar una tarjeta diferente; la tarjeta inferior en esta imagen tiene 15 años, por lo que el campo magnético está claramente degradado en algunos lugares, no visible en esta foto)
Esto permitirá que un algoritmo determine una marca de reloj.
El campo magnético se invierte en cada tictac del reloj. También para un binario 1, el campo magnético se invierte exactamente en el medio de una marca:
La secuencia siempre comienza con un centinela de inicio 1101 + 0 (bit de paridad). Puede seleccionar esto en las tres lecturas en el gráfico anterior. Se indica más claramente en el artículo cosmodro que vinculé en la parte superior de la pregunta.
Aquí hay un ejemplo de degradación magnética (más adelante en la lectura de la tarjeta inferior):
Estoy tratando de encontrar una manera sensata de convertir esta forma de onda en su secuencia binaria correspondiente.
He encontrado un PDF que entra en algunos detalles, pero no puedo entender el algoritmo que están utilizando.
Este PDF contiene una imagen interesante:
Si pudiera extraer las líneas rojas y azules según este diagrama, podría usar cualquiera de ellas para extraer los datos, pero no puedo entender la lógica detrás de la construcción.
Entonces esta es mi pregunta: ¿Cómo extraigo la secuencia binaria?
PD. Tenga en cuenta que la velocidad de deslizamiento no será constante. Entonces, una vez que se ha determinado el reloj, debe ajustarse constantemente de un tic a otro.
PPS ¿La autocorrelación atraparía pares de garrapatas? (ya que las garrapatas alternarán NS SN ...)
EDITAR (junio '12): necesitaba mucha ayuda en este caso, pero finalmente he completado un lector sólido ( http://www.magstripedecoder.com/ ). ¡Gracias por todos los que ayudaron! Recomiendo #musicdsp en el canal efnet de IRC para cualquier persona lo suficientemente dedicada como para asumir el desafío de familiarizarse con las matemáticas, ¡es realmente muy difícil!