Leer cualquier tarjeta de banda magnética con un lector de cuadrados y un dispositivo Android (4 / 5 paso)

Paso 4: decodificar el audio

Por lo tanto, ahora tenemos un montón de audio en nuestro dispositivo. ¿Cómo descifra? Basé mi código en un Android tutorial que muestra cómo grabar y luego reproducir. En mi caso, me aseguré de guardar ese audio como 16 bits PCM codificado. Muestrean a 44100hz. En Android (y en otros lugares, supongo) los datos PCM de 16 bits significa que cada muestra es un valor firmado de 16 pedacitos. Ya sólo nos importa la frecuencia, sólo necesitamos cuidado cuánto tiempo hay entre "cruces por cero". Un cruce por cero es cuando la señal pasa de positiva a negativa o viceversa. Un bit 0 estará representada por el espacio entre 2 cruces, y un 1 tendrá un cruce adicional en aproximadamente el mismo período de tiempo.
Datos de tarjetas en cada pista comienza con un número (variable) de 0s, para establecer la frecuencia base. Lo que hice fue escuchar la primera muestra por encima de cierto umbral "tranquilo", luego contar el número de muestras entre cruces por cero. Ese número se convierte en el valor base para un 0. Puesto que estas tarjetas son birlados a mano, las frecuencias reales va a cambiar algo desde el inicio de la exploración hasta el final. Por lo tanto, hice un método sencillo que determina si el número de muestras desde el último cruce por cero está más cercano de la frecuencia base o doble de la frecuencia base (mitad del base número de muestras). A continuación ajusta la frecuencia base por consiguiente. Esto funciona bien, siempre y cuando los cambios entre cualquier dos bits lógicos son bastante pequeños. Y casi con toda seguridad.

Para detectar un cruce por cero, tenemos que mirar el signo de cada muestra y se compara con la señal de la muestra anterior.  Si son diferentes (uno positivo, uno negativo) la señal cruza 0 entre las muestras.

El algoritmo básico es iterar a través de la matriz de bytes, extracción de muestras.  Contar el número de muestras entre cruces por cero y comparar la cuenta de la cantidad esperada de un 0 o un 1.

Bueno, después de algunos saludando de mano, ahora tenemos una secuencia binaria de datos, que queremos volver a ASCII. La codificación más común (y el único escribe un controlador para) codifica cada carácter como un número de bits más un bit de paridad. En el caso de pista 2, es decir 4 bits para el carácter y 1 para paridad, hacer grupos de 5 bits. Los bits se leen desde el menos significativo a la mayoría, con el bit de paridad última. El bit de paridad se establece para que el número de 1s en el grupo impar. En mi aplicación, simplemente ignorar el bit de paridad, pero ayudaría a determinar si la lectura era buena o no. En la pista 1, es 6 bits para el carácter, además de la paridad.
El conjunto de caracteres de las pistas varían demasiado, pero ambos son subconjuntos de ASCII con alguna compensación. En el caso de pista 2, que sólo codifica algunos símbolos y números, el conjunto de caracteres comienza en 48, que es el código ASCII para "0". Así si conseguimos 0,0,0,0,1 como nuestro personaje, tenemos convertir en 0, añadir 48 y obtener 48. Asimismo, 1,0,0,0,0 es 1. 1 + 48 = 49 = ASCII "1".
Pista 1, el conjunto de caracteres comienza con "" (espacio) que es ASCII 32. Así que añadir 32 al valor numérico descifrado y conseguir nuestro juego de caracteres ASCII. Después de eso, tenemos los datos, así que todo que permanece es conectar la cola de interfaz de usuario.

Artículos Relacionados

Spoofer de tarjeta de banda magnética

Spoofer de tarjeta de banda magnética

este instructable muestra cómo se utiliza un electroimán, un circuito amplificador simple, y las señales de un reproductor personal de música para inducir a un lector de tarjetas de banda magnética, haciéndolo pensar que ha birlado una tarjeta a trav
Decodificador de la banda magnética de Arduino

Decodificador de la banda magnética de Arduino

este instructable muestra cómo utilizar código libremente disponible, un arduino y un lector de banda magnética estándar para analizar y mostrar los datos almacenados en tarjetas de banda magnética como tarjetas de crédito, ID de estudiante, etc..Me
Levitación magnética con K'nex!

Levitación magnética con K'nex!

¡ Hola! Este es mi segundo Instructable y aquí estoy jugando con imanes y K'nex. Combiné los dos para hacer una plataforma levitando K'nex! Repulsión magnética es una cosa.Descargo de responsabilidad: el autor de este Instructable no es responsable d
Cómo hacer luces bicicleta magnética con sugru + imanes

Cómo hacer luces bicicleta magnética con sugru + imanes

Luces de bicicleta pueden ser frustrante y lenta para colocar y quitar, sobre todo con mal tiempo con guantes! Mediante la adición de imanes y sus luces, su bicicleta, podrás ajustar las luces y apagar con los guantes y en cuestión de un movimiento m
PULSERA magnética con cinta

PULSERA magnética con cinta

materiales y saber sobre materialesPara este instructable necesitamos:-Imanes neodimio-Algunas piezas magnéticas como arandelas o una placa de metal-Una cadena o un cable para medir el perímetro de la muñeca- Y cinta adhesiva para conductos (lógico)Y
¡ Convierte tu Arduino en un lector de tarjeta magnética!

¡ Convierte tu Arduino en un lector de tarjeta magnética!

Todo el mundo ha utilizado un lector de tarjeta magnética, creo. ¿Quiero decir, que lleva en efectivo estos días? No son difíciles de tener en sus manos, ya sea, y durante un viaje a mi tienda de electrónica local favorito, encontré un cubo lleno de
Selección y uso de brújulas magnéticas

Selección y uso de brújulas magnéticas

por tonytran2015 (Melbourne, Australia).Un compás magnético emplea el campo magnético local generado por el núcleo de rotación de la tierra para el eje de rotación de la tierra. Las dos direcciones están razonablemente cercanas.La brújula es un instr
Herramienta magnética suspensión

Herramienta magnética suspensión

En la mayoría de los talleres el espacio es limitado. Así que hay que encontrar la manera de utilizar cada pedacito de espacio que se puede. Un área que suele pasarse por alto es el espacio debajo de estantes y armarios. Pero esto puede ser un gran l
Cómo usar Stampin ' Up!' s plataforma magnética para la Big Shot

Cómo usar Stampin ' Up!' s plataforma magnética para la Big Shot

ver cómo utilizar la plataforma magnética para la Big Shot de Sizzix. Usted no podrá creer lo mucho más fácil y más rápido es utilizar Edgelits y Framelis con su gran disparo cuando se utiliza la placa magnética.La placa magnética tiene un imán muy f
Tirando de la tira magnética de billetes American

Tirando de la tira magnética de billetes American

mi abuelo me enseñó a hacerlo a lo largo de hace tiempo y me di cuenta porque este es el sitio que es el depositario de todos cómo conocimiento ir por qué no añadir mi propio truco raro.Paso 1: Localizar la tira Tomar americano de papel moneda más de
Posicionadores de soldadura magnéticas DIY

Posicionadores de soldadura magnéticas DIY

Soy un soldador amateur. Muy amateur. Compré una caja pequeña de buzz Campbell Hausfeld hace unos años para hacer ocasionales pequeños trabajos de soldadura alrededor de mi tienda. Ya lo estoy no usando mucho o tratando de hacer mi vida por soldadura
Superficie magnética montado en cola para colgar fotos

Superficie magnética montado en cola para colgar fotos

objetivo: hacer un lugar para colgar y cambiar fácilmente ampliada fotos sin marcos (generalmente no tienes suficiente superficie de la pared para visualizar todas tus imágenes a la vez y no suficiente espacio de almacenamiento para almacenar cada im
¿Cómo varía el campo magnético con la distancia?

¿Cómo varía el campo magnético con la distancia?

Este Instructabler es una investigación científica para determinar cómo el campo magnético varía con la distancia. Dos métodos son conclusiones presentadas y razonables.El imán es un tipo de disco fino, no una barra de imán.Herramientas y equipos:Un
Hoja magnética arte

Hoja magnética arte

Se trata de una manera fresca para usar todos esos recortes de alambre que guardó de sus otras artesanías. Mi hija de siete años hizo esta escena de playa en una pizca. Estoy seguro que usted puede hacer algunos arte alambre bastante impresionante, t