Brief
What I want to change TAS4i is, channel cross over.
Now TAS4i is using BiQuad IIR filter inside TAS5518.
External FIR crossover can work better than IIR.
(more correct phase / great slope)
Also It can be used for Digital Room correction.
Hardware
I ordered TI's DSP, C6713 starter kit.
These additional will be required to complete my DIY channel divider or
Room EQ.
- Power supply
- Digital Input for I2S, SPDIF(Opt/Coax) / Output, for 4 Way
SPDIF and I2S
- Controller CPU (maybe ATMegaAVR)
- Large LCD and keypad (too many configuration)
- SD card strage or USB communication to PC
Prototyping
Source
This
program generates FIR coeffiicients from desired Frequency and gain
responce, and simulates Frequency Responce, then process real WAV file.
Inputs parameters will be supplied from AVR, then main calculation will
be processed by C6713.
Input (1) FREQ.txt
250.0, 2500.0
First number is low cut frequency, 2nd is High cut frequency.
These numbers will define Pass / Stop band.
It can be like (0.0, 1000.0) for 1kHz LPF, (750.0, 40000.0) for 750Hz
HPF.
Input (2) EQ.txt
20.00,0.00
40.00,6.00
80.00,-3.00
100.00,0.00
150.00,4.00
300.00,0.00
600.00,-12.00
800.00,7.50
1000.00,0.00
5000.00,-12.00
8000.00,0.00
13000.00,9.00
19000.00,0.00
Each line contains Frequency and Desired gain.
actually there are no limitation, just need to define more number for
these arrays in program.
double EQFreqs[128]; // 128 EQ Points.
Frequency.
double EQGains[128]; // 128 EQ Gains.
Frequency Resolution depends on sample frequency / TAPs. example,
44100/4410TAP = 10Hz resolution.
NOTE: of course accurate EQ and long tap crossover is
exclusive.
maybe I need two C6713 to process 4095TAP EQ (room correction) and
1023x4 FIR crossover.
Prototype Result
Sample: applied EQ with 350 to 3000 Hz BPF.

Sample: Result for 300 - 3000 Hz Bandpass Filter, 1023 TAP

Coeffs
for 300 - 3000 1023 Tap, 44100Hz sampling.
Freq
Responce
Audacity spectrum analyze result,
for white noise 44.1k/16 wav file
comparison
with DSPLinks generated and mine
upper graph: both coeffs are almost same.(difference is magnified x 10
to see on graph)
lower
graph: (DSPLinks Coeffs, 300-3000, 399Taps) - (Koon, 300-3000, 399Taps)
is evaluated as impulse response, frequency response is shown.
It looks like working correct.
Board Implementation

DSK6713 arrived.
What I want to change TAS4i is, channel cross over.
Now TAS4i is using BiQuad IIR filter inside TAS5518.
External FIR crossover can work better than IIR.
(more correct phase / great slope)
Also It can be used for Digital Room correction.
- I should try how many taps can be executed.
- Connect Line in / Line out to PC to watch in / out wave,
- External board / Digital in and 4 digital out
- External board / I2C parameter control
many things to do..

1kHz - 5kHz 400TAP FIR, implemented in C6713 DSK.
(Audacity generated white noise signal is processed)
Original source is not a complete flat white noise? -> Maybe this is caused by DSK's A/D, D/A process.
at least I can see at 600Hz, signal level is reduced about -60dB. (> 120dB/Oct)
Next step: more TAPs, digital in and out
Discontinued
C6713 DSK can do 1024 TAP / 2Way FIR channel divider, but the computing power is not enough for 4 way crossover.
(256TAP FIR is dull curve at lower frequency.)
I will go to another way. see "CUDA Real FIR" project.
return to home