Gonzalo Brusco
/
QuiPAD
Real Time FIR Filter - Distinctive Excellence award winner :)
Diff: config.h
- Revision:
- 0:b3e50e98acac
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config.h Sat Aug 13 17:35:52 2011 +0000 @@ -0,0 +1,43 @@ + +#ifndef CONFIG_H_ +#define CONFIG_H_ + +/********************************CONFIGURACION**********************************/ + +#define BLOCKSIZE 1917 /* Tama�o del bloque (en words) a procesar */ + +#define COEFF_AMOUNT 256 /* Cantidad de coeficientes maxima del (o de los) filtros. */ + /* Este valor determina el largo de los buffers para procesamiento */ + +/* Requisitos impuestos por el algoritmo de filtrado: + * {(COEFF_AMOUNT-1)+BLOCKSIZE} debe ser multiplo de 4. + * COEFF_AMOUNT debe ser tambien multiplo de 4. + * COEFF_AMOUNT < {(COEFF_AMOUNT-1)+BLOCKSIZE} + * Ejemplo: COEFF_AMOUNT=100 y BLOCKSIZE=101 + */ + +/* De acuerdo a nuestro filtrado antialiasing, con un muestreo de 57KHz vamos a tener una atenuacion + * de -63dB del aliasing que se mete en la banda de audio (0-22KHz). + */ + +#define SAMPLING_DIV 195 /* Este valor fija la frecuencia de muestreo tanto del ADC como del DAC. + La cuenta para saber la frecuencia resultante de muestreo es la siguiente: + FSAMPLING = 100 MHz / (8 * SAMPLING_DIV). + Con 105 tenemos una frecuencia de muestreo de 120KHz + Con 156 tenemos una frecuencia de muestreo de 80KHz + Con 283 tenemos una frecuencia de muestreo de ~44.1KHz + Con 219 tenemos una frecuencia de muestreo de ~57KHz + Con 125 tenemos una frecuencia de muestreo de 100KHz + Con 12500 tenemos una frecuencia de 1KHz (para debug) + Con 125000 tenemos una frecuencia de 100Hz (para debug) + Con 1250000 tenemos una frecuencia de 10Hz (para debug)*/ + +/* En realidad, la frecuencia maxima de muestreo del ADC es de "192307,69230769230769230769230769 Hz" + * porque la frecuencia de trabajo del mismo es de 12.5MHz y la conversion se produce cada 65 clocks. + * Entonces, para que el submuestreo que realiza el DMA sea "correcto" la frecuencia con la que el DMA + * toma los datos deberia ser un submultiplo de la del muestreo maximo del ADC + * Considero una frecuencia exactamente 3 veces menor => "64102,564102564102564102564102564 Hz" + * Entonces el SAMPLING_DIV deber�a ser de exactamente 195. + */ + +#endif /* CONFIG_H_ */