DSP Xover project (part 2)

I got some nicer push to make contacts. They arrived last week but the wife forgot to tell about the package...

BLACK 2 TAG 1A SPST ROUND METAL MINIATURE PUSH TO MAKE BUTTON WITH 11MM FIXING H | eBay

They are nicer quality than the multi coloured cheapies I have not. They will match the case too

I bit the bullet on the big case - Najda is such a keeper I want it too look the part and need the room for the expansion board of course;)

FS4309 Full aluminum chassis preamp case power amp box DIY | eBay

Bonus is that they will drill all the holes for me to my tech drawing spec for the LEDS and buttons. I will make the LCD screen cutout hole - carefully does it;), and also the cutouts in the rear panel.

The LCD panel (which I still have to swap in) is white text on black so should look the part (in my minds eye).
 
Last edited:
I would also love to play with the FIR filters, but in the bass region I need at least 4095 taps.

So I also vote for the decimation option.

Currently I using the IIR filters for a 2 way, with lots of EQ and gain adjustments. The post-gain for one of the channels is sometimes ignored, adjusting it up or down fixes it. I will let you know if I find a way to reproduce the problem.
 
I would also love to play with the FIR filters, but in the bass region I need at least 4095 taps.

+1

I actually did an exercise early this morning 4095 taps @ 48kHz gives 11.72Hz resolution. Not the best, but a good minimum requirement. I also had a look at minimum resources for the mid and tweeter in my 3-way XO. 1023 for mids and 511 for tweeter looks workable.

@Nick is there a possibility, as an interim plan, to make a custom build, sacrificing the unused channels in order to boost available taps for (example) a 3-way implementation, and allocating optimal amount of taps for respective channels?
 
Hi Nick,
I'm back for a while now

I'm wondering if a mix between IIR and FIR could be implemented in hard/software ?

You wrote recently that the limited MIPs of the DSP would not allow more than about 8000 taps. A compromise could be to use the efficient IIR filters for EQ and crossovers for all channels and FIR pre-processing to correct the global phase only on the two input channels. Something like 1024 taps each could be enough to correct phase nicely

What do you think ?
 
More taps (1023) on ch 2, 3, 6, 7 ;)


Nick

Thanks Nick;)
I've tested the new version today in IIR mode and it works great.

I did try some decimation today in "Acourate". See attachment. I first decimated 15x in 48kHz and got 4096 taps. Had to decimate 3x more to get it down to 1024. I then removed one tap and open the file into the your soft.

Best
Paal

Edit: Added original response.
 

Attachments

  • Decimation.jpg
    Decimation.jpg
    288.7 KB · Views: 454
  • amplitude.jpg
    amplitude.jpg
    113.8 KB · Views: 427
Last edited:
Re a limited number of taps, one can do complementary highpass and lowpass FIRs by running a unity-gain odd-order lowpass linear-phase filter with N taps, then subtracting the full range input signal delayed by (N-1)/2 samples. For example, use a 401 tap LPF as the generator function, subtract the input delayed by 200 samples to obtain the HPF, and you're good to go. That more or less halves the computational load.

I'd recommend against FIRs for low frequency room correction. Room gain is minimum-phase, as with other physical processes, so a parametric EQ does the job beautifully while consuming far fewer clocks.

@Chapark: would you be interested in a minimum-phase resampler?
 
@Nick:
I have written to you privately about separate IR codes for ON and OFF. Now I have a similar request for input selection (Analogue, Optical, Coaxial). Can this be done? If any buttons need to be sacrificed, I'm sure it could be among the 0 to 9 presets.

This request is to be able to integrate Najda into a system that is controlled by a universal remote.

If you're OK, let's keep this one on hold for some time until more users come with a similar request. More than happy to help.

Thanks Nick.
You also get a remote and to come the expansion board possibility - hint hint:)

Did you say expansion board??

I bit the bullet on the big case - Najda is such a keeper I want it too look the part and need the room for the expansion board of course;)

You must have said expansion board. We'll discuss about it soon.

The post-gain for one of the channels is sometimes ignored, adjusting it up or down fixes it. I will let you know if I find a way to reproduce the problem.

Thanks for reporting the issue. In order to help me fixing that, I'd need your setup files (sent to my email) and some more details (i.e. on which channel is that happening?)

+1
@Nick is there a possibility, as an interim plan, to make a custom build, sacrificing the unused channels in order to boost available taps for (example) a 3-way implementation, and allocating optimal amount of taps for respective channels?

Sorry Shaun, moving the stuff around again is not a trivial exercise. I'll discuss that here in the same post below.

Hi Nick,
I'm wondering if a mix between IIR and FIR could be implemented in hard/software ?

Thanks Nick;)
I've tested the new version today in IIR mode and it works great.

Alright. I can hear your protests, you're not happy with my initial FIR proposal. That's fine, we'll come with a solution.

First thing is to agree together about what has to be done. Several upgrades have been suggested that I summarize here:
- Custom IIR
- Decimation
- Mix IIR/FIR

All the above can eventually be implemented but we must define priorities. For me, the easiest tasks would be in the following order:
- Mix IIR/FIR
- Custom IIR
- Decimation

As a DSP engineer, I'm mostly interested in decimation (if anyone cares :D).

Now comes my turn to express wishes. I'd like to see Najda in a decent case. You know: a true realization of the product. If you give to Najda a nice place to sit in, then Najda will pay it back to you.

Also, I'd like to hear feedback on connecting a USB to I2S converter to EXP1. As I said previously, I connected painlessly a Tenor-based device. There's a bunch of such converters available, have you guys tried any?

Re a limited number of taps, one can do complementary highpass and lowpass FIRs by running a unity-gain odd-order lowpass linear-phase filter with N taps, then subtracting the full range input signal delayed by (N-1)/2 samples. For example, use a 401 tap LPF as the generator function, subtract the input delayed by 200 samples to obtain the HPF, and you're good to go. That more or less halves the computational load.
I remember you already posted this idea earlier. Please accept my apologies for not answering earlier.
There's however a problem I can see with your approach, it's that indeed the filters are complementary. Most of the time, FIR specifications include driver EQing (see Paal's examples) so complementarity is actually not desired. Please correct me if I misunderstood.

I'd recommend against FIRs for low frequency room correction. Room gain is minimum-phase, as with other physical processes, so a parametric EQ does the job beautifully while consuming far fewer clocks.

@Chapark: would you be interested in a minimum-phase resampler?

Can you please develop?
 
Last edited:
Alright. I can hear your protests, you're not happy with my initial FIR proposal. That's fine, we'll come with a solution.

First thing is to agree together about what has to be done. Several upgrades have been suggested that I summarize here:
- Custom IIR
- Decimation
- Mix IIR/FIR

All the above can eventually be implemented but we must define priorities. For me, the easiest tasks would be in the following order:
- Mix IIR/FIR
- Custom IIR
- Decimation

As a DSP engineer, I'm mostly interested in decimation (if anyone cares :D).

Now comes my turn to express wishes. I'd like to see Najda in a decent case. You know: a true realization of the product. If you give to Najda a nice place to sit in, then Najda will pay it back to you.

Hi Nick,
Even if I can not use FIR for my application at the moment, your board is great! If you are able to implement FIR phase correction in front of the IIR or decimation (my highest wish) the board will be even greater! 6 channels is enough in my case.

I got a message from DHL today about a package from HK so the final box will soon arrive:D
Hopefully I am able to squeeze it into a 260mm box.

best,
Paal
 
Finally got around to sweating in the display I originally ordered but took a long time to come so I got another from Maplin (always had a missing top 2nd row of pixels) :(

The good news is this one does not have any such problems.
All present and correct.

PolishLCD.jpg


It's a bit smaller surround wise. The alphanumerics are the same size and I find white on black very much clearer to view.

Only one issue. There is way too much contrast now. The photo is set on the minimum setting!
On anything else it starts to white up and on the higher settings it is a total white out. Fortunately in that state as it was powered up like that I could read it at an angle from above and whack the contrast right down.

Perhaps a low ohm resistor in line on the V0 / pin 3 Contrast adjust?

It's a
http://www.ebay.co.uk/itm/390550404335?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
BTW
 
Last edited:
Also, I'd like to hear feedback on connecting a USB to I2S converter to EXP1. As I said previously, I connected painlessly a Tenor-based device. There's a bunch of such converters available, have you guys tried any?

I'm assembling a Naja with two BuffaloII connected on EXP0 via I2S and an Amanero USB to I2S on EXP1.
But in these days I have a very little spare time. Hope to have it ready by next week
 
Microtips Technology LCD Display - 2 x 16 - MTC-S16204A - 2 Lines x 16 Characters


Brand new LCD manufactured by Microtips Technology
Model number: MTC-16204A
2 Lines x 16 Characters
Character size: 2.95 mm x 5.55 mm
Display color: Yellow green with yellow green LED backlight
Power: VDD = 5 VDC
16 pin connection - spaced .1" apart
Pin designation:
Pin 1: Vc
Pin 2: Va
Pin 3: GND
Pin 4: VDD
Pin 5: VLC
Pin 6: RS
Pin 7: R/W
Pin 8: E
Pin 9: Data 0
Pin 10: Data 1
Pin 11: Data 2
Pin 12: Data 3
Pin 13: Data 4
Pin 14: Data 5
Pin 15: Data 6
Pin 16: Data 7

Microtips Technology LCD Display 2 x 16 MTC S16204A 2 Lines x 16 Character | eBay

Pin designation:
Pin 1: Vc----------------?????
Pin 2: Va----------------?????
Pin 3: GND---------------1
Pin 4: VDD---------------2
Pin 5: VLC---------------?????
Pin 6: RS----------------4
Pin 7: R/W---------------5
Pin 8: E------------------6
Pin 9: Data 0-------------7
Pin 10: Data 1------------8
Pin 11: Data 2------------9
Pin 12: Data 3------------10
Pin 13: Data 4------------11
Pin 14: Data 5------------12
Pin 15: Data 6------------13
Pin 16: Data 7------------14

This project has been on the backburner for some time but now I've
started it up. Ran in to a problem rigth away. The display pin connections
wasn't named the same way so now I'm sure I'm putting it together the rigth
way.

Could someone tell me where pin 1,2 and 5 would connect to Najda ?

Seems that the display only has one "gnd" as well. Would both pin 1 and 16 connect to pin 3 at the display?
 
Last edited:
Could someone tell me where pin 1,2 and 5 would connect to Najda ?

Seems that the display only has one "gnd" as well. Would both pin 1 and 16 connect to pin 3 at the display?

Hi Bengt,

Seems to me that Va and Vc stand for V-anode and V-cathode, they're for the backlight led.

VLC is the contrast setting pin.

You got the weirdest pin out I've ever seen on a LCD, congrats :)

(I'll answer all the remaining questions in a separate post)
 
Another WAG, but here goes: Selectable sample frequency for each channel. Will require different LPFs on the input for each channel, respectively.

This is near to not possible technically. The sampling clock is supplied by the ADC/DAC chip for all channels.

Board arrived today, really nice packaging. Thanks, Nick!

Good to hear, thanks!


I'm wondering if a mix between IIR and FIR could be implemented in hard/software ?

Mixed fir/iir sounds great.

Custom iir also great.

Text file import in some documented format would be great.

If you are able to implement FIR phase correction in front of the IIR or decimation (my highest wish) the board will be even greater!

If you do mix IIR/FIR, that will be perfect for playing with the FIR filters. The rest can with a bit longer :)

Well, seems that the mix FIR/IIR is the #1 request, so I'll implement it. I'll also push in the next release a few other things that were asked, such as:
- Checking the phase issue on the Bass/Treble section
- Bypass switch for EQs
- Individual IR commands for each source (Shaun: I haven't heard any echo to your request re separate IR commands for On/Off...)

Also, I'd like to add custom IIR.
How about simply extending the current IIR mode and give the choice between parametric filters OR loading a file with biquad coefs?

Decimation will follow.

Finally got around to sweating in the display I originally ordered but took a long time to come so I got another from Maplin (always had a missing top 2nd row of pixels) :(

The good news is this one does not have any such problems.
All present and correct.

PolishLCD.jpg

Sorry to hear that Steve, you've been quite unlucky with 2 faulty displays and a faulty IR sensor... Well the new display is gorgeous ;)

Re. the expansion board, you only need 2 more analogue outs, correct? (There were talks about adding 6 more analogue outs a long time ago, don't know though if this is still actual).

I'm assembling a Naja with two BuffaloII connected on EXP0 via I2S and an Amanero USB to I2S on EXP1.
But in these days I have a very little spare time. Hope to have it ready by next week

Great to hear, and looking forward! :)

I'm using amanero on ext 1. No problems at all.
cheers

Thanks James, it's really great to hear that.

Thanks all for the feedback.

Nick
 
(Shaun: I haven't heard any echo to your request re separate IR commands for On/Off...)

It would only be of interest to those intending to integrate Najda into a system controlled by a universal remote. Although it is on my personal wish list, it is not a priority at present. I do recommend that you incorporate the feature eventually, though. It will bring the product in line with many current electronic devices for the home that try to be compatible with home automation systems.