Parece que ADPCM ya casi no existe. Pero me gustaría usar esto para comprimir seis canales de audio de alta calidad en un flujo de bits más pequeño con poca sobrecarga.
Parece que hay un dsPIC G.726A Biblioteca de codificación / decodificación de voz y acompañando Guía del usuario , sin embargo:
- Estos archivos son para una frecuencia de muestreo de 8 kHz; lo deseado es 40kHz.
- No puedo encontrar estos archivos en ninguna parte. (Y creo que eran para el viejo MPLAB).
Esto está compuesto por la función prevista de este dsPIC:
- Adquiera seis muestras del dispositivo SPI1 (velocidad de 40 kHz, 16 bits)
- ADPCM las seis muestras de 16 bits a 4 bits
- Multiplexa estos 24 bits en 3 bytes, en cola / espera para SPI2
- Enviar a dispositivo SPI2 (ambos SPI de 8MHz)
Incluso a 64MHz, no tengo idea de si este dsPIC tiene la potencia suficiente para lograr todo esto. La guía del usuario anterior en la tabla 4-4 lee que la "velocidad de cálculo [de la] función de codificación [es] 7MIPS", que es ambigua por muchas razones.
Nota de la aplicación AN643 muestra algún código C genérico para implementar la compresión ADPCM, pero no hay nada personalizado para dsPIC. Las bibliotecas dsPIC para dsPIC33E, que están disponibles, están precompiladas para Aplicaciones de telefonía de baja frecuencia de muestreo.
¿Alguien puede dar una idea de una dirección para proceder? ¿Es esto inútil con un solo dsPIC? ¿Es hackear el ensamblador dsPIC la única manera? ¿Hay una mejor manera de acercarse a esta aplicación?