Go Back   Home > Forums > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

DIY DSP Engine
DIY DSP Engine
Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Thread Tools Search this Thread
Old 15th July 2004, 03:12 PM   #31
Cameron is offline Cameron  United States
diyAudio Member
Join Date: May 2003
Location: Saint Louis
Thought of a pretty interesting application for a DAC with inline DSP. Headphone amplifier...

Almost all headphones have a three conductor plug. One for each driver with a shared ground. Well, taking a look at several pieces of music from multiple artists and genres, most music appears to be roughly 60% mono. And roughly 80% in the bass where most of the energy is present. So how about splitting the signal into pure stereo and mono components. The mono component could then be driven differentially. So you would have three DAC chips and output stages as follows:

L: ( L - R ) + 1 / 2 ( L + R )
G: - 1 / 2 ( L + R )
R: ( R - L ) + 1 / 2 ( L + R )

This way, say the left driver differentially sees ( L - R ) + ( L + R ). The R's cancel and you get just 2 L. This could be accomplished with a number of opamps and extremely high precision resistors. But why not do it in the digital domain where it doesn't cost you anything in terms of sound quality. That is not completely accurate though. You have to account for the improbable but possible instance where L = - R. So the left and right data streams must be down 6dB to prevent possible digital clipping. Though most of the time, it will be more like 3dB versus the original single channel data. Did that make sense to everyone?

Also, there is that "super stereo" effect. Music is not mixed with headphones in mind. They expect two speakers with 60 deg sepereation. There are HRTF (head related transfer function) impulse responses available from a few sources. Let's say A = +30 degrees and B = -30 degrees. Then the channels would be cross convoluted as follows:

L: A L + B R
R: A R + B L

Note, some scaling would also be necessary to avoid digital clipping. Also this function would be before the previously mentioned one in the DSP.

That would give you a nice presentation along the lines of what the mastering engineer had in mind. You could even take this a step further with 5.1 channels coming in. Get the 0 degree and +-135 degree impulse responses, and you can mix down surround sound to binaural for headphones. Can you imagine a surround sound DVD-A or SACD played like this? Audio heaven. My understanding is that applying an impulse response to regular pcm is pretty straight forward. I have no idea about DSD.

The HRTF impulse responses are open domain. Getting 5.1 channels of audio is another thing. I believe though, in the case of digital audio over 1394a, the 5.1 channels are decoded at the dvd player, before being sent over the line. So if someone where to come up with a DAC with a 1394a receiver, you could get those 5.1 channels without having to worry about those pesky ultra expensive Dolby licenses.
  Reply With Quote
Old 16th July 2004, 08:52 AM   #32
fr0st is offline fr0st
diyAudio Member
Join Date: Dec 2002
Location: Australia
Matt, it's been a while since I've done stuff like this, but I recall there being prom emulators to be had for not too much cash. Perhaps your idea of loading via a serial port could work, but I just don't know enough to say.

But, do I understand you correctly that you are building the hardware yourself? Please talk to me about this. How does one design and build a DIY PC board these days? I haven't been involved in such a thing since the days of wirewrapping (think 15+ years ago). I assume that different approaches are used with the clock speeds and surface mount technologies used these days.

Thanks, and I wish I could answer your questions.

Thanks for your reply
I think I've figured enough out to create a basic eval board. I'll start a new thread about interfacing the data converter so this one doesn't get off topic.
  Reply With Quote
Old 16th July 2004, 09:24 AM   #33
Pitch254 is offline Pitch254  Netherlands
diyAudio Member
Pitch254's Avatar
Join Date: Nov 2003
Location: The Netherlands
Default DSP platform

I was planning to play around a bit with the TAS3103 (TI)

It has a dev. kit for programming x-over filters and routing the signal through the dsp.
Values can bemod over i2c or eeprom.

I'm designing the board myself as wel as the spdif in and I2S out.

What does the forum think of the Tas3103?

  Reply With Quote
Old 16th July 2004, 10:08 AM   #34
gmarsh is offline gmarsh  Canada
diyAudio Member
gmarsh's Avatar
Join Date: Apr 2004
Location: Halifax, NS
Originally posted by dwk123
By co-incidence, I was just trading emails with another aquaintance, and he referred to this - the Blackfin Ez-Kit:


At $400 including a minimal but functional dev environment, it looks pretty nice, and within reach. The blackfin has a bucketload of cpu, and while I haven't looked at the I/O capabilities in detail, they should be adequate - looks like either 4 or 8 I2S output pairs depending on whether 1 or 2 ports are exposed, and probably 4 pairs on input. If the expansion connector topology is good, this might make a nice platform to target for modular I2S based I/O boards.....
I've done plenty of work on the Blackfin processor; one of my company's new products has I2S audio being pushed through an ADSP-BF535 processor.

The Blackfins have two SPORTs - you can attach a single I2S device to each. Using more requires external logic, perhaps a creative CPLD or FPGA design.

Another option is the Analog Devices AD1839A codec - it has two 24/96 ADCs and six 24/96 DACs onboard, and you can attach three incoming I2S devices and one outgoing I2S device to it. It then has a "SHARC" compatible TDM bus, where you can attach two of these CODECs to a DSP - this works fine on our Blackfin.

The only thing is, the AD1839A doesn't play nice when you don't use its I2S interface in slave mode, and does bizarre things like delaying the left channel by one sample, at random!

edit: another thing, the Blackfin is a 32-bit processor, but it only does 16 bit multiplies. It does two MACs per clock at 16-bit, so if you're working on 24 bit audio then you'll need to emulate 31-bit multiplication at 2 clocks per MAC. If you're doing audio processing, the SHARC DSPs are probably far more interesting.
  Reply With Quote


DIY DSP EngineHide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Nutating engine abzug The Lounge 1 16th March 2008 01:35 AM
Engine noise makaveli956 Car Audio 26 3rd June 2007 06:40 AM
Bug in the search engine? Bricolo The Lounge 6 28th October 2006 12:01 PM
engine noise HELP! st33lownz Car Audio 6 4th November 2004 06:35 PM
Engine whine feelinhipp Car Audio 3 13th March 2004 04:53 AM

New To Site? Need Help?

All times are GMT. The time now is 11:36 PM.

Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 16.67%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Copyright ©1999-2018 diyAudio