gadagkar.rohit
Junior Member level 2
Hello,
I am designing an all pass filter which is a part of a reverberation generator for audio inputs. I am implementing it in verilog.
The difference equation that i am using is
y = x(n-N) - g*x + g*y(n-N);
g - gain, N - filter order
the transfer function is H(z) = [-g + Z^(-N)]/[1 - g*Z^(-N)]
With g = 0.2, when I give a sine input at 5 KHz at -40db, the output is +5db. so the gain is 45db.
I am really confused with the overall result. how exactly is the value of g affecting the gain.
Please let me know if I ve gone wrong at any step or my understanding. Please help me with this.
I am designing an all pass filter which is a part of a reverberation generator for audio inputs. I am implementing it in verilog.
The difference equation that i am using is
y = x(n-N) - g*x + g*y(n-N);
g - gain, N - filter order
the transfer function is H(z) = [-g + Z^(-N)]/[1 - g*Z^(-N)]
With g = 0.2, when I give a sine input at 5 KHz at -40db, the output is +5db. so the gain is 45db.
I am really confused with the overall result. how exactly is the value of g affecting the gain.
Please let me know if I ve gone wrong at any step or my understanding. Please help me with this.