Hi,I'm trying to write noise gate in vhdl. I use DE2 board and I wonder how can I compare sound amplitude and threshold in noise gate. How can I check sound amplitude value?
In order to estimate the sound amplitude, you can use a modified moving average filter like this:y[n]=1/N*sum(k=0,k=N-1,|x[n-k]|) This resembles a full wave rectifier. if N=2^m you don't need any multiplier. So, you need N registers, N-1 sub/add circuits ("sub" if x[n-k]<0 and "add" if x[n-k]>=0) and a hardwired arithmetic shifter.
i would drop the scale factor and build this particular filter with a CIC-like structure. the actual filter becomes 2 adders (well 1 add 1 subtract).input => absolute value => CIC