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.

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.
bandPass and EQ for 300 to 3500

Sample: Result for 300 - 3000 Hz Bandpass Filter, 1023 TAP
300 to 3000 BPF only
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.
  1. I should try how many taps can be executed.
  2. Connect Line in / Line out to PC to watch in / out wave,
  3. External board / Digital in and 4 digital out
  4. 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