def ten_band_eq_filt(x,GdB,Q=<NUM_LIT>):
fs = <NUM_LIT> <EOL>NB = len(GdB)<EOL>if not NB == <NUM_LIT:10>:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>Fc = <NUM_LIT>*<NUM_LIT:2>**np.arange(NB)<EOL>B = np.zeros((NB,<NUM_LIT:3>))<EOL>A = np.zeros((NB,<NUM_LIT:3>))<EOL>for k in range(NB):<EOL><INDENT>[b,a] = peaking(GdB[k],Fc[k],Q)<EOL>B[k,:] = b<EOL>A[k,:] = a<EOL><DEDENT>y = np.zeros(len(x))<EOL>for k in range(NB):<EOL><INDENT>if k == <NUM_LIT:0>:<EOL><INDENT>y = signal.lfilter(B[k,:],A[k,:],x)<EOL><DEDENT>else:<EOL><INDENT>y = signal.lfilter(B[k,:],A[k,:],y)<EOL><DEDENT><DEDENT>return y<EOL>
Filter the input signal x with a ten-band equalizer having octave gain values in ndarray GdB.

The signal x is filtered using octave-spaced peaking filters starting at 31.25 Hz and
stopping at 16 kHz. The Q of each filter is 3.5, but can be changed. The sampling rate
is assumed to be 44.1 kHz. 

Parameters
----------
x : ndarray of the input signal samples
GdB : ndarray containing ten octave band gain values [G0dB,...,G9dB]
Q : Quality factor vector for each of the NB peaking filters

Returns
-------
y : ndarray of output signal samples

Examples
--------
>>> # Test with white noise
>>> w = randn(100000)
>>> y = ten_band_eq_filt(x,GdB)
>>> psd(y,2**10,44.1)