I intend to program a micro from the PIC 18F family in Assembler to filter (FIR) a noisy audio signal. Prior starting to code I would like to be sure I got it right, thus my questions:
1) Basis this sequence
https://i1000.photobucket.com/albums/af124/atferrari/FIRalgorithm.jpg, am I right if I implement this algorithm?
V0 = Vin0 * h0
Output V0 to DAC
Wait delay time
V1 = (Vin1 * h1) + V0
Output V1 to DAC
Wait delay time
V2 = (Vin2 * h2) + V1
Output V2 to DAC
Wait delay time
VN-2 = (VinN-2 * hN-2) + VN-3
Output VN-2 to DAC
Wait delay time
VN-1 = (VinN-1 * hN-1) + VN-2
Output VN-1 to DAC
Wait delay time
V0 = Vin0 * h0 (??)
Output V0 to DAC
Wait delay time
My main doubt is
what values and
when they are output to the DAC
....................................
2) When repeating the sequence with the following set of samples, is VN-1 from the old one, added to V0 of the new set?
3) I have no access to MATLAB nor the so called "clones" which I do not plan to install for now. Any suggestion for a free software that I could use to calculate coefficients, maybe online?
4) Not now but in the future I expect the signal be also affected by echoes of itself? What type of filter should I consider?
Yes, I know I could use a DSP capable chip but now I just want to know about the actual agorithm.
Gracias for any help