Estou tentando começar com o DSP na minha placa Spartan-3. Fiz uma placa AC97 com um chip de uma placa-mãe antiga e, até agora, consegui fazer o ADC, multiplicar as amostras por um número <1 (diminuir o volume) e depois o DAC.
Agora eu gostaria de fazer algumas coisas básicas de DSP, como um filtro passa-baixo, passa-alto etc. Mas estou realmente confuso sobre a representação numérica (números inteiros? Ponto fixo? Q0.15? Estouro ou saturação?).
Eu só quero um código de exemplo de um filtro simples real para começar. Sem alta eficiência, rápido ou algo assim. Apenas o filtro teórico implementado em VHDL.
Estive pesquisando, mas apenas encontro fórmulas teóricas - entendo isso, o que não entendo é como processar as amostras de áudio assinadas de 16 bits e 48KHz que estou recebendo do ADC. Eu tenho usado essas bibliotecas: http://www.vhdl.org/fphdl/ . Se eu multiplicar minhas amostras por 0,5, 0,25, etc., posso ouvir a diferença. Mas um filtro maior me dá apenas ruído.
Obrigado.