Me gustaría saber una cosa que diga si conoce la longitud de palabra del procesador (TMS320VC5510 DSP), los bits de acumulación y protección, ¿puede adivinar las características del filtro que se utilizará para esta arquitectura? solo para ser más precisos, pongamos los siguientes valores como ejemplo.
La longitud de la palabra del procesador es de 16 bits y tiene un acumulador de 40 bits con 8 bits de protección Entonces, ¿qué tipo de filtros (Características del filtro) puede usar para la arquitectura mencionada anteriormente y cómo predijo que quiero decir analizando qué? lo que puedo hacer hasta ahora es que se puede usar un filtro de paso bajo con un rango alrededor de [-3,3).
Saludos
No, la arquitectura no tiene nada que ver con el tipo de filtros que se pueden implementar. La arquitectura le dará cierta velocidad y resolución para cualquier implementación de filtro en particular.
En su caso, aparentemente está pensando en un filtro de convolución. El coeficiente es de 16 bits y usted dice que el acumulador tiene 40 bits de ancho. Presumiblemente, las muestras de datos en la memoria también tienen 16 bits de ancho. Esto significa que se realizará una multiplicación de 16 x 16 bits por punto de datos. Esto produce hasta un número de 32 bits. Con un acumulador de 40 bits, sabe que puede sumar al menos 256 de esos números. Dependiendo de cómo funcionen los bits de protección, es posible que pueda sumar 65536 puntos de datos antes de un desbordamiento real. En ese caso, probablemente haya una instrucción para encontrar el bit significativo más alto del resultado de modo que se pueda realizar un cambio para finalmente mantener los bits superiores. En algunos casos, el rango máximo del resultado estará limitado debido a las propiedades inherentes del filtro y el flujo de datos que se filtra.
En este ejemplo, hay algo de ruido de cuantificación en cada coeficiente, cada muestra de datos, un límite en la cantidad de bits de resultado significativos y una cantidad máxima de acumulaciones múltiples que se pueden realizar en cada período de muestra de datos. Todos estos son parámetros que son una función de la arquitectura. Tenga en cuenta que el valor del coeficiente, y por lo tanto la respuesta del filtro, no tiene nada que ver con la arquitectura.
Tampoco tiene que usar el hardware DSP directamente. Podría, por ejemplo, hacer su propio código amplio de multiplicación y acumulación que conserve más bits por valor y tenga una palabra de resultado más amplia. El inconveniente es que, dado que esto sería significativamente más lento, el número de coeficientes sería mucho menor. Todo es un intercambio.
Una longitud de palabra limitada en un DSP provoca una cuantificación excesiva (es decir, un tamaño de paso de cuantificación grande) de las muestras de datos, elevando el ruido de fondo y de los coeficientes del filtro, lo que puede hacer que la respuesta real del filtro se desvíe de su valor teórico. El último efecto es más visible en el área de atenuación reducida de la banda de parada.
¿Es este el tipo de cosa que estás buscando?
Por ejemplo, en un filtro FIR, los coeficientes también definen la respuesta de impulso del filtro. Además, para cualquier filtro, la transformada de Fourier de su respuesta de impulso es su respuesta de frecuencia.
Es un ejercicio interesante dibujar una curva que represente la respuesta de frecuencia deseada y tomar su transformada inversa de Fourier para obtener la respuesta de impulso. En cualquier implementación real, tendrá que seleccionar un número finito de coeficientes y tendrá que aplicar una función de "ventana" a esos coeficientes para limitar los efectos del truncamiento en la respuesta de impulso.
Tome la transformada de Fourier de estos coeficientes y vea cómo la respuesta de frecuencia resultante se desvía de la respuesta ideal con la que comenzó.
Ahora, cuantifique esos coeficientes con la precisión que realmente tendrán en el DSP. Tome otra transformada de Fourier y vea cómo esto ha modificado aún más la respuesta de frecuencia.
En algunos casos, los efectos pueden ser dramáticos. Hacer esto varias veces puede darle una buena idea del nivel de rendimiento del filtro que puede esperar para varios valores de longitud de filtro y ancho de palabra.
Para abordar los problemas de desbordamiento a los que se refiere Olin, normalmente escalaría los coeficientes durante la fase de diseño para que la ganancia máxima en la banda de paso del filtro sea la unidad. Sin embargo, esto puede crear errores de cuantificación adicionales en los coeficientes, haciendo que los más pequeños desaparezcan por completo. Si el hardware del DSP incluye, por ejemplo, un campo de desbordamiento de 8 bits en el acumulador MAC, puede establecer la ganancia de coeficiente en 256 y luego cambiar las muestras de salida 8 bits a la derecha para obtener una ganancia total de unidad.
Andy alias