Despues de comenzar a implementar el diseño inicial del reverberador digital nos hemos topado con algun problema en su implementación. Hemos debido de hacer unos pequeños cambios en el diseño y en la concepción del funcionamiento interno de la estrucutura para solventar los problemas con los que nos habiamos encontrado.
La memoria BRAM:
Cambiamos las señales modificando las entradas y salidas ligeramente. Los nuevos cambios son los siguientes:
Port ( lec_esc : in STD_LOGIC; -- señal de lec/esc . Con '0' leemos, con '1' escribimos
en: in std_logic; -- Señal de habilitación para el funcionamiento de la RAM
clk : in STD_LOGIC; -- Señal de reloj
dato_in : in STD_LOGIC_VECTOR (11 downto 0); -- Dato de entrada en la RAM
dato_out : out STD_LOGIC_VECTOR (11 downto 0) -- Dato de salida de la RAM
);
end BRAM;
Además hemos introducido dos punteros internos en esta estructura que se van incrementando en cada ciclo de reloj. Uno apuntando al primer bloque y el otro a la mitad. Ya que de esta forma será como se implemente la reverberación. Tomaremos una memoria de 10000 posiciones, este numero de posiciones marcara el tiempo de reverberación que le aplicaremos a la señal.
Estamos desarrollando el mezclador que sumará las muestras de la señal y aplicará la atenuación (factor) que debe ser un número mayor que 0 y menor que 1. Esto no es implementable en vhdl asi que debemos tomar una clasificación propia del bus en bits enteros y bits de la parte decimal.
El mezclador suma la señal entrante con la señal atenuada de las muestras anteriores para la creación del efecto de reverberación.
Las siguientes modificaciones serán comentadas y expuestas en el blog en el momento en el que nos topemos con ellas.
8. Cambios en el diseño inicial
domingo, 20 de abril de 2008
Publicado por nute en domingo, abril 20, 2008
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario