Added de-emphasis filter functions and speaker protection.
authormnzaki <mnzaki@gmail.com>
Tue, 14 Sep 2010 15:02:13 +0000 (18:02 +0300)
committermnzaki <mnzaki@gmail.com>
Tue, 14 Sep 2010 15:02:13 +0000 (18:02 +0300)
commit73b3a14c93124179fea8d9e83f0ebac429e850ab
treeebcc998a92bd52e2463dc4af20f6762a8b085b21
parentb5b52432c643decdd96e02b009c150d309cb741e
Added de-emphasis filter functions and speaker protection.

Added functions to manipulate the filter's coeffs and enable/disable it.
Also changed the machine layer (rx51.c) to set up the filter as a highpass
and turn it on when on speaker output for speaker protection.

TODO: Change filter coeffs if sample rate is changed. Right now it's fit
for 48kHz (and possibly fine with 44.1kHz).

Filter designed using scilab:

fc = [0.015 0.010884354 0.01]
hz = iir(1, 'hp', 'ellip', [fc(3) 0], [0.1 0.1])
[hzm,fr]=frmag(hz,256);
plot2d(fr',hzm')
xtitle('Discrete IIR filter band pass  0.15<fr<0.25 ',' ',' ');
q=poly(0,'q');     //to express the result in terms of the ...
hzd=horner(hz,1/q) //delay operator q=z^-1
kernel-2.6.28/Documentation/sound/alsa/soc/tlv320aic3x.txt
kernel-2.6.28/sound/soc/codecs/tlv320aic3x.c
kernel-2.6.28/sound/soc/codecs/tlv320aic3x.h
kernel-2.6.28/sound/soc/omap/rx51.c [new file with mode: 0644]