Thread View: comp.dsp
21 messages
21 total messages
Started by Byron A Jeff
Thu, 28 Sep 1989 23:40
More digital mixer stuff
Author: Byron A Jeff
Date: Thu, 28 Sep 1989 23:40
Date: Thu, 28 Sep 1989 23:40
95 lines
4130 bytes
4130 bytes
Todd: My mail to you bounced. So I'm posting my reponse.
>
>~----------- --------- --------- -------- -------- -------- --------
>~|8 |--|Analog |--|Filters|--| |---| | | | | |
>~|Audio |--|Multi- | | and | | ADC | | DSP |--| DAC |--|Filter|
>~|channels |--|plexors|--| S/H |--| |---| | | | | |
>~----------- --------- --------- -------- -------- -------- --------
> ^^ ^^^
> Eight lines here. There should be two lines since it
> is a dual ADC.
I don't have all the specs yet. I hadn't had a chance to read the
article. The two observations you made above are correct.
>
>Sounds like it might be feasible. Does it have serial or parallel output?
>
>Serial
> 44.1 kHz * 4 channels * 16 bits/channel = 2.822 MHz
>
>I think the 56000 can handle this. Only half of what you need, though.
>You might be able to do it with the TM$32030, as it has two serial inputs.
Even if it were serial I'd probably just shift it into shift registers
and read in the parallel outputs when all of the bits of a complete
sample has been shifted in.
>
>Parallel
> Either 56000 or 32020 can handle this, if you can figure
>out a way to merge the data streams.
>
>~If samples can be obtained for ~$50 then a box for between $200 to $300
>~could be realized. If the DSP is fast enough then another ADC could
>~easily be added for a grand total of 16 channels.
>
>Your biggest problem is that the samples are not arriving at the same
>time. Actually, I guess you could use an interrupt routine to store all
>the samples, then have the DSP act on them when all have arrived.
That's exactly what I was thinking. Something along these lines:
Sample 1
Sample 2
Sample 3
Sample 4
Output of mix of the 4 above samples.
--------Time Axis--------->
>
>Remember that since you are using an analog MUX, the samples can't all
>be done at EXACTLY the same time, so there will be a slight delay between
>all of the channels.
I'm brand new in this domain. I have no clue what the effect of the
delay between channels will be. Can you give me an idea?
>
>Also, if it is serial, you'll have to use TWO 56000s and have them
>talk to each other (not really that hard). Could do some killer
>filtering, though.
Again with some parallel shift registers that problem disappears.
Right off the top of my head I think you can clock a 74LS164 at
30 Mhz so the speed is not a problem.
Another reponse I saw indicates that a 56001 wouldn't be able to handle
mixing 8 channels much less doing any kind of EQ, reverb, etc. He
suggested a DSP for each channel. I was of course in pain as this is
strictly hobby material for me. Can you give me an idea of how much
processing power a 56001 has? An estimate of how much of the above
(getting data, mixing, providing effects) a single 56001 can do would
be quite helpful. 2 I'd be willing to deal with but my whole concept
is to reduce the parts count to a fairly small board.
>
>There might be some chips from AT&T that are cheap and have two
>synchronous serial inputs. The TI chip I mentioned is expensive.
>
Also thanks for all of the articles you've been posting and the
server (which I haven't had a chance to use yet). It's all been
quite informative. Keep it up.
Thanks also for the reponse. I'm saving all of the them and
will summarize the results in a little while.
BAJ
--
Another random extraction from the mental bit stream of...
Byron A. Jeff
Georgia Tech, Atlanta GA 30332
Internet: byron@pyr.gatech.edu uucp: ...!gatech!pyr!byron
Re: More digital mixer stuff
Author: Todd Day
Date: Fri, 29 Sep 1989 10:22
Date: Fri, 29 Sep 1989 10:22
36 lines
2018 bytes
2018 bytes
byron@pyr.gatech.EDU (Byron A Jeff) writes: ~Even if it were serial I'd probably just shift it into shift registers ~and read in the parallel outputs when all of the bits of a complete ~sample has been shifted in. What I was refering to was the *built-in* serial shift registers in the DSP chips. That way, you wouldn't need the glue logic. ~>Remember that since you are using an analog MUX, the samples can't all ~>be done at EXACTLY the same time, so there will be a slight delay between ~>all of the channels. ~I'm brand new in this domain. I have no clue what the effect of the ~delay between channels will be. Can you give me an idea? Ch 1 - delay - Ch 2 - delay - Ch 3 - delay - Ch 4 The delay will be the length of time it takes to switch from one channel to the next via the MUX and then sample with the sample/hold. Probably not very signifigant, but those who spend $1000 on interconnects for their stereo systems would probably complain. Of course, they wouldn't be listening to digital, anyway, would they? :-) ~Another reponse I saw indicates that a 56001 wouldn't be able to handle ~mixing 8 channels much less doing any kind of EQ, reverb, etc. He ~suggested a DSP for each channel. I know that one chip can *at least* emulate a 2 channel 10 band 12 dB equalizer from a Motorola app note. I wouldn't think that reverb would be that tough to do. -- Todd Day | todd@ivucsb.sba.ca.us | ivucsb!todd@anise.acc.com "Ya know, some day these scientists are going to invent something that can outsmart a rabbit" -- Bugs Bunny
Re: More digital mixer stuff
Author: Mike Shawaluk
Date: Fri, 29 Sep 1989 15:45
Date: Fri, 29 Sep 1989 15:45
33 lines
2240 bytes
2240 bytes
In article <1989Sep29.102204.8798@ivucsb.sba.ca.us> todd@ivucsb.sba.ca.us (Todd Day) writes:
>byron@pyr.gatech.EDU (Byron A Jeff) writes:
>~>Remember that since you are using an analog MUX, the samples can't all
>~>be done at EXACTLY the same time, so there will be a slight delay between
>~>all of the channels.
>~I'm brand new in this domain. I have no clue what the effect of the
>~delay between channels will be. Can you give me an idea?
>
>Ch 1 - delay - Ch 2 - delay - Ch 3 - delay - Ch 4
>
>The delay will be the length of time it takes to switch from one
>channel to the next via the MUX and then sample with the sample/hold.
>Probably not very signifigant, but those who spend $1000 on interconnects
>for their stereo systems would probably complain. Of course, they wouldn't
>be listening to digital, anyway, would they? :-)
Well, the delays would be eliminated if you used 4 sample & holds, up before
the analog demux, no? Simply "hold" all 4 signals at the same time, and then
demux them after they are frozen, then unhold & repeat the sequence. Of
course, the other solution would be to have separate A/D's for each channel,
as has been suggested in an alternate thread of this same subject.
BTW, isn't this "delay" the same "problem" that's been mentioned with certain
CD players, which use only one D/A converter for both channels, but mux the
stereo outputs? One person (in a review I read) gave the analogy of standing
1 cm closer to one of the stereo speakers in the room while listening to a
CD, as being the effect of this phase shift (i.e., the speed of sound vs. the
delay).
--
- Mike Shawaluk
(mikes@lakesys.lakesys.com OR ...!uunet!marque!lakesys!mikes)
"If spirit == essense, then spiritual == essential!" - me
Re: More digital mixer stuff
Author: Byron A Jeff
Date: Fri, 29 Sep 1989 22:37
Date: Fri, 29 Sep 1989 22:37
66 lines
3183 bytes
3183 bytes
-~[Byron] -[Todd] -~Even if it were serial I'd probably just shift it into shift registers -~and read in the parallel outputs when all of the bits of a complete -~sample has been shifted in. - -What I was refering to was the *built-in* serial shift registers in -the DSP chips. That way, you wouldn't need the glue logic. But as you stated it's only one channel unfortunately. If the design decision comes down to a choice of TI, 2 56001's, or external shift registers with a single 56001 I'll probably go with the external glue. How can I lose at $0.59 a pop? ;-) However if I turn out to need 2 56001's do handle the processing then I'll use the internal shift registers. I'm working on a shared memory controller between two 68008's and a 68010 right now for my kick-ass MIDI box. I might be able to apply it here somehow. - -~>Remember that since you are using an analog MUX, the samples can't all -~>be done at EXACTLY the same time, so there will be a slight delay between -~>all of the channels. -~I'm brand new in this domain. I have no clue what the effect of the -~delay between channels will be. Can you give me an idea? - -Ch 1 - delay - Ch 2 - delay - Ch 3 - delay - Ch 4 - -The delay will be the length of time it takes to switch from one -channel to the next via the MUX and then sample with the sample/hold. -Probably not very signifigant, but those who spend $1000 on interconnects -for their stereo systems would probably complain. Of course, they wouldn't -be listening to digital, anyway, would they? :-) I'm hoping it's not significant. And I can't hear the phase shift when I reverse polarities of the Monsta Leads to my $4000 Polk Audio speakers either ;-) - -~Another reponse I saw indicates that a 56001 wouldn't be able to handle -~mixing 8 channels much less doing any kind of EQ, reverb, etc. He -~suggested a DSP for each channel. - -I know that one chip can *at least* emulate a 2 channel 10 band 12 dB -equalizer from a Motorola app note. I wouldn't think that reverb would be -that tough to do. Good to hear. I could live with effects on the mixed signal even though having individual effects on each channel would be cool. Not worth eight 56001's cool though. - --- - -Todd Day | todd@ivucsb.sba.ca.us | ivucsb!todd@anise.acc.com -"Ya know, some day these scientists are going to invent something - that can outsmart a rabbit" -- Bugs Bunny After reading your series on building a beast and your discussion so far on this mixer I feel very optimistic about the idea. Thanks. BAJ -- Another random extraction from the mental bit stream of... Byron A. Jeff Georgia Tech, Atlanta GA 30332 Internet: byron@pyr.gatech.edu uucp: ...!gatech!pyr!byron
Re: More digital mixer stuff
Author: Byron A Jeff
Date: Fri, 29 Sep 1989 22:46
Date: Fri, 29 Sep 1989 22:46
34 lines
2099 bytes
2099 bytes
-[Todd and my discussion on delay] - -Well, the delays would be eliminated if you used 4 sample & holds, up before -the analog demux, no? Simply "hold" all 4 signals at the same time, and then -demux them after they are frozen, then unhold & repeat the sequence. Of -course, the other solution would be to have separate A/D's for each channel, -as has been suggested in an alternate thread of this same subject. I'm trying to maintain a minimum parts count on the box since I'm going to wire the prototype by hand. Separate ADCs eliminates the need for the 200Khz speed on the part at the cost of board space, wiring, and cost. The 4 S/H however is quite a viable solution. I'll probably run tests in the delay configuration and see what effect is has. If it's absolutly Godawful then I'd try the 4 S/H next. - -BTW, isn't this "delay" the same "problem" that's been mentioned with certain -CD players, which use only one D/A converter for both channels, but mux the -stereo outputs? One person (in a review I read) gave the analogy of standing -1 cm closer to one of the stereo speakers in the room while listening to a -CD, as being the effect of this phase shift (i.e., the speed of sound vs. the -delay). That's why I'm not going to worry about it 'til I hear a problem with it. - - Mike Shawaluk - (mikes@lakesys.lakesys.com OR ...!uunet!marque!lakesys!mikes) BAJ -- Another random extraction from the mental bit stream of... Byron A. Jeff Georgia Tech, Atlanta GA 30332 Internet: byron@pyr.gatech.edu uucp: ...!gatech!pyr!byron
Re: More digital mixer stuff
Author: Brian Willoughby
Date: Sat, 30 Sep 1989 00:38
Date: Sat, 30 Sep 1989 00:38
89 lines
5029 bytes
5029 bytes
In article <9238@pyr.gatech.EDU> byron@pyr.gatech.edu.gatech.edu (Byron A Jeff) writes:
>>Serial
>> 44.1 kHz * 4 channels * 16 bits/channel = 2.822 MHz
>>
>>I think the 56000 can handle this. Only half of what you need, though.
>>You might be able to do it with the TM$32030, as it has two serial inputs.
>
>Even if it were serial I'd probably just shift it into shift registers
>and read in the parallel outputs when all of the bits of a complete
>sample has been shifted in.
Sure, why overwork the DSP? Question: how would you know which 16 bits
make up a sample word? I.e. are there some kind of start bits which
could be used to signal an interrupt. A good setup would involve
clearing all the shift register bits to one state, and then shifting in
until the start bit appears in the MSBit. Whatever polarity the start
bit is, just clear the shift register to the opposite value and interrupt
the DSP when a full word is ready.
>>Your biggest problem is that the samples are not arriving at the same
>>time. Actually, I guess you could use an interrupt routine to store all
>>the samples, then have the DSP act on them when all have arrived.
>
>That's exactly what I was thinking. Something along these lines:
>
>Sample 1
> Sample 2
> Sample 3
> Sample 4
> Output of mix of the 4 above samples.
>
>--------Time Axis--------->
Check out my posting on digital mixing using time-multiplexing. Based
on Jeff Taylors zero-filling 'proofs' you should be able to send samples
1-4 through a digital filter and then directly into the 56000. It's as
if each sample train were zero filled (3 zeroes) and then added to the
other channels. You wouldn't have to use up any 56000 processing power
to do the mixing. The digital filter between the time-multiplexed
samples and the 56000 may not even be necessary, but you would need to
filter the outputs at some point.
>>Remember that since you are using an analog MUX, the samples can't all
>>be done at EXACTLY the same time, so there will be a slight delay between
>>all of the channels.
>
>I'm brand new in this domain. I have no clue what the effect of the
>delay between channels will be. Can you give me an idea?
Good question. CD manufacturers claim that using a single DAC for the
two signals in a stereo recording introduces phase distortion when the
audio waves recombine in the listening environment and cancellations
occur which wouldn't have in the original source (I least that's what I
gleaned from the mumbo-jumbo). If the delay is <= half the sampling
period, then how can the cancelations be audible? Perhaps the
cancellations could affect lower frequencies which are audible?
In any event, those manufacturers are merely trying to sell you two DACs
instead of one, when a single converter and a few sample and hold stages
would realign the reconstructed signals. One S/H could be used to
temporarily hold and delay whichever channel is output first, and then a
pair of S/H amps could be simultaneously clocked for phase aligned sterio
output. I think this would be a reasonable circuit if expanded to 8
channels (although you would need 15 S/H amps). That's assuming that the
phase shifting is audible and you need to correct it.
S/H is necessary on the analog output of any high quality DAC to avoid
impulses caused by less-than-ideal settling times of the DAC output.
Consider that it is impossible for all 16 bits to change at the same
times in any non-ideal converter, especially considering that most
transistors cut off at a different speed that they cut on. Example:
assume that it takes longer to turn on a transistor so that 0 to 1 bit
transitions take longer than 1 to 0 transistions. Then, for a digital
sample changing from $8000 to $7FFF, you would first get $0000 on the
DAC output before all the other 15 bits changed to $7FFF. Ugly and BIG
spike! Analog sample and hold allows the outputs to be disconnented
from the DAC during that spike, which holding the voltage from the
previous conversion in a capacitor. Then, when the DAC output has
settled (most DAC specs quote settling times in nsecs), the new voltage
is 'sampled' by charging the cap.
>Byron A. Jeff
>Georgia Tech, Atlanta GA 30332
Brian Willoughby
UUCP: ...!{tikal, sun, uunet, elwood}!microsoft!brianw
InterNet: microsoft!brianw@uunet.UU.NET
or: microsoft!brianw@Sun.COM
Bitnet brianw@microsoft.UUCP
Re: More digital mixer stuff
Author: Todd Day
Date: Sat, 30 Sep 1989 12:23
Date: Sat, 30 Sep 1989 12:23
28 lines
1878 bytes
1878 bytes
brianw@microsoft.UUCP (Brian Willoughby) writes: ~Sure, why overwork the DSP? Question: how would you know which 16 bits ~make up a sample word? I.e. are there some kind of start bits which ~could be used to signal an interrupt. A good setup would involve ~clearing all the shift register bits to one state, and then shifting in ~until the start bit appears in the MSBit. Whatever polarity the start ~bit is, just clear the shift register to the opposite value and interrupt ~the DSP when a full word is ready. The serial port on the 56000 is completely independent of the ALU, etc (i.e., it is like an on board peripheral). I was talking about using the synchronous serial input. You supply it with a bit clock and a word clock and it automatically does the serial to parallel conversion *and* generates an interrupt when it's ready. Usually, my programs for my board consist of a main loop that does absolutely nothing and an interrupt service routine. The (nano)second I get a sample, the interrupt routine starts executing. My service routine loads the parallel data, operates on it, and then stores it to the serial output buffer. The serial section of the chip then outputs the data when the next word clock comes around, all independent of the *real* DSP hardware on the chip. -- Todd Day | todd@ivucsb.sba.ca.us | ivucsb!todd@anise.acc.com "Ya know, some day these scientists are going to invent something that can outsmart a rabbit" -- Bugs Bunny
Re: More digital mixer stuff
Author: Byron A Jeff
Date: Sat, 30 Sep 1989 16:28
Date: Sat, 30 Sep 1989 16:28
119 lines
6402 bytes
6402 bytes
In article <7905@microsoft.UUCP> brianw@microsoft.UUCP (Brian Willoughby) writes:
-In article <9238@pyr.gatech.EDU> byron@pyr.gatech.edu.gatech.edu (Byron A Jeff) writes:
->>Serial
->> 44.1 kHz * 4 channels * 16 bits/channel = 2.822 MHz
->>
->>I think the 56000 can handle this. Only half of what you need, though.
->>You might be able to do it with the TM$32030, as it has two serial inputs.
->
->Even if it were serial I'd probably just shift it into shift registers
->and read in the parallel outputs when all of the bits of a complete
->sample has been shifted in.
-
-Sure, why overwork the DSP? Question: how would you know which 16 bits
-make up a sample word? I.e. are there some kind of start bits which
-could be used to signal an interrupt. A good setup would involve
-clearing all the shift register bits to one state, and then shifting in
-until the start bit appears in the MSBit. Whatever polarity the start
-bit is, just clear the shift register to the opposite value and interrupt
-the DSP when a full word is ready.
I think I'd just attach a 4 bit counter that is clocked and cleared along
with the shift registers. Then when the counters overflows I generate
an interrupt. When I read in the parallel value in the shift register
I clear the counter. Not completely thought out but that's the
general idea.
-
->>Your biggest problem is that the samples are not arriving at the same
->>time. Actually, I guess you could use an interrupt routine to store all
->>the samples, then have the DSP act on them when all have arrived.
->
->That's exactly what I was thinking. Something along these lines:
->
->Sample 1
-> Sample 2
-> Sample 3
-> Sample 4
-> Output of mix of the 4 above samples.
->
->--------Time Axis--------->
-
-Check out my posting on digital mixing using time-multiplexing. Based
-on Jeff Taylors zero-filling 'proofs' you should be able to send samples
-1-4 through a digital filter and then directly into the 56000. It's as
-if each sample train were zero filled (3 zeroes) and then added to the
-other channels. You wouldn't have to use up any 56000 processing power
-to do the mixing. The digital filter between the time-multiplexed
-samples and the 56000 may not even be necessary, but you would need to
-filter the outputs at some point.
The only question is what's the sample rate of the mixed signal? It
would seem to be 8x the original sample rate yes? So for 8 48Khz channels
I'd need a 384 Khz DAC. Ouch!
-
->>Remember that since you are using an analog MUX, the samples can't all
->>be done at EXACTLY the same time, so there will be a slight delay between
->>all of the channels.
->
->I'm brand new in this domain. I have no clue what the effect of the
->delay between channels will be. Can you give me an idea?
-
-Good question. CD manufacturers claim that using a single DAC for the
-two signals in a stereo recording introduces phase distortion when the
-audio waves recombine in the listening environment and cancellations
-occur which wouldn't have in the original source (I least that's what I
-gleaned from the mumbo-jumbo). If the delay is <= half the sampling
-period, then how can the cancelations be audible? Perhaps the
-cancellations could affect lower frequencies which are audible?
I have a CD player with a single DAC. My ears are not sharp enough
to hear such distortion and I'm a musician.
-
-In any event, those manufacturers are merely trying to sell you two DACs
-instead of one, when a single converter and a few sample and hold stages
-would realign the reconstructed signals. One S/H could be used to
-temporarily hold and delay whichever channel is output first, and then a
-pair of S/H amps could be simultaneously clocked for phase aligned sterio
-output. I think this would be a reasonable circuit if expanded to 8
-channels (although you would need 15 S/H amps). That's assuming that the
-phase shifting is audible and you need to correct it.
-
-S/H is necessary on the analog output of any high quality DAC to avoid
-impulses caused by less-than-ideal settling times of the DAC output.
-Consider that it is impossible for all 16 bits to change at the same
-times in any non-ideal converter, especially considering that most
-transistors cut off at a different speed that they cut on. Example:
-assume that it takes longer to turn on a transistor so that 0 to 1 bit
-transitions take longer than 1 to 0 transistions. Then, for a digital
-sample changing from $8000 to $7FFF, you would first get $0000 on the
-DAC output before all the other 15 bits changed to $7FFF. Ugly and BIG
-spike! Analog sample and hold allows the outputs to be disconnented
-from the DAC during that spike, which holding the voltage from the
-previous conversion in a capacitor. Then, when the DAC output has
-settled (most DAC specs quote settling times in nsecs), the new voltage
-is 'sampled' by charging the cap.
This is the same explanation I got in Hal Chainberlin (sp) "Musical
Applications for Microprocessors". I understand I'll need S/H and filters
before the ADC and after the DAC. I was figuring on only one or two
pairs of stereo outputs from the mixer so I don't think that many S/H
are necessary on output.
Someone suggested that the S/H is built into the ADC so that I can
hook up the output from the CMOS multiplexor directly into the ADC.
So only 2 S/H (or one if I decide to go with a single DAC) will be
necessary (I hope).
-Brian Willoughby
-UUCP: ...!{tikal, sun, uunet, elwood}!microsoft!brianw
-InterNet: microsoft!brianw@uunet.UU.NET
- or: microsoft!brianw@Sun.COM
-Bitnet brianw@microsoft.UUCP
--
Another random extraction from the mental bit stream of...
Byron A. Jeff
Georgia Tech, Atlanta GA 30332
Internet: byron@pyr.gatech.edu uucp: ...!gatech!pyr!byron
Re: More digital mixer stuff
Author: Brian Willoughby
Date: Mon, 02 Oct 1989 02:30
Date: Mon, 02 Oct 1989 02:30
29 lines
1761 bytes
1761 bytes
In article <1160@lakesys.lakesys.com> mikes@lakesys.UUCP (Mike Shawaluk) writes:
>BTW, isn't this "delay" the same "problem" that's been mentioned with certain
>CD players, which use only one D/A converter for both channels, but mux the
>stereo outputs?
You hit it right on the head.
> One person (in a review I read) gave the analogy of standing
>1 cm closer to one of the stereo speakers in the room while listening to a
>CD, as being the effect of this phase shift (i.e., the speed of sound vs. the
>delay).
I had asked earlier about just how important it would be to correct such
phase shifts. From the example of a room environment, I guess the answer
is: not very bloody important. But, if the sound is to later be mixed -
for monophonic broadcast, or any other need to combine the stereo signals
electronically, not acoustically (where placement affects delay anyway) -
then it does become important, merely because the result (with its
peculiar frequency cancellations and reinforcements) would be different
than it would without the shift.
>--
> - Mike Shawaluk
Brian Willoughby
UUCP: ...!{tikal, sun, uunet, elwood}!microsoft!brianw
InterNet: microsoft!brianw@uunet.UU.NET
or: microsoft!brianw@Sun.COM
Bitnet brianw@microsoft.UUCP
Re: More digital mixer stuff
Author: Brian Willoughby
Date: Mon, 02 Oct 1989 03:12
Date: Mon, 02 Oct 1989 03:12
80 lines
4557 bytes
4557 bytes
In article <9247@pyr.gatech.EDU> byron@pyr.UUCP (Byron A Jeff) writes:
>In article <7905@microsoft.UUCP> brianw@microsoft.UUCP (Brian Willoughby) writes:
>-In article <9238@pyr.gatech.EDU> byron@pyr.gatech.edu.gatech.edu (Byron A Jeff) writes:
>-Sure, why overwork the DSP? Question: how would you know which 16 bits
>-make up a sample word? I.e. are there some kind of start bits which
>-could be used to signal an interrupt. A good setup would involve
>-clearing all the shift register bits to one state, and then shifting in
>-until the start bit appears in the MSBit. Whatever polarity the start
>-bit is, just clear the shift register to the opposite value and interrupt
>-the DSP when a full word is ready.
>I think I'd just attach a 4 bit counter that is clocked and cleared along
>with the shift registers. Then when the counters overflows I generate
>an interrupt. When I read in the parallel value in the shift register
>I clear the counter. Not completely thought out but that's the
>general idea.
Still suffers from the same synchronization problems. What if you
accidently clear the counter at bit 14? Your hardware will happily chug
along and have you the next 16 bits from the continuous bit stream - only
they will be the wrong bits, not word aligned.
>-Check out my posting on digital mixing using time-multiplexing.
[etc...]
>The only question is what's the sample rate of the mixed signal? It
>would seem to be 8x the original sample rate yes? So for 8 48Khz channels
>I'd need a 384 Khz DAC. Ouch!
I might be wrong, but due to the simplicity of DACs, you'll probably find
that a DAC capable of 384 kHz is not nearly as prohibitively expensive as
an equally rated ADC. Most DACs don't really quote conversion rates,
they merely state the settling time of the outputs, which affects how
fast you can clock your S/H on the output, and usually ends up being VERY
fast, even for $1.49 DACs (of course, thats an 8 bit price).
[I've deleted my own overview of Sample and Hold]
>
>This is the same explanation I got in Hal Chainberlin (sp) "Musical
>Applications for Microprocessors". I understand I'll need S/H and filters
>before the ADC and after the DAC. I was figuring on only one or two
>pairs of stereo outputs from the mixer so I don't think that many S/H
>are necessary on output.
Do you own that book, or borrow it from a library? I tried to order it
from my university bookstore and could not find it listed. BTW, Hal
Chamberlin (closer spelling, but probably not perfect :-) graduated from
NCSU, where I found his 1973 thesis for a digital waveform synthesizer.
This guy was/is really ahead of his time, and now works for Kurzweil. He
started out with an Apple II, and did quite a bit with it (which keeps me
encouraged with my own projects). He started a company in Raleigh, NC,
near the university. which built a dual 5.25 floppy box that would record
CD quality audio directly to disk, and also play back. Of course, the
operator had to continually keep the drive fed with new disks, but the
amasing thing was that the box could handle managing the buffer/queue of
64K, reading from the disk and playing the sound all at once in
real-time. No DSP used or needed.
I would appreciate any ordering information, or even just the library of
Congress number from that book.
>Someone suggested that the S/H is built into the ADC so that I can
>hook up the output from the CMOS multiplexor directly into the ADC.
>So only 2 S/H (or one if I decide to go with a single DAC) will be
>necessary (I hope).
One DAC can become two outputs with 2 S/H stages if you design separate
control for each S/H. 3 stages gets you two phase-aligned audio outputs.
>--
>Another random extraction from the mental bit stream of...
>Byron A. Jeff
>Georgia Tech, Atlanta GA 30332
>Internet: byron@pyr.gatech.edu uucp: ...!gatech!pyr!byron
Brian Willoughby
UUCP: ...!{tikal, sun, uunet, elwood}!microsoft!brianw
InterNet: microsoft!brianw@uunet.UU.NET
or: microsoft!brianw@Sun.COM
Bitnet brianw@microsoft.UUCP
Re: More digital mixer stuff
Author: Randy Brumbaugh
Date: Mon, 02 Oct 1989 15:49
Date: Mon, 02 Oct 1989 15:49
12 lines
963 bytes
963 bytes
This digital mixer idea sounds great - but I have a question: Is the mixer for use in recording or sound reinforcement (PA)? If it is for PA, what would the TOTAL delay from input to output be? (I assume that this quantity would be a constant). Would the delay between input from the performers and output to the audience be long enough to be noticed? Also, could this delay be varied to help eliminate feedback? Randy Brumbaugh rando@skipper.dfrf.nasa.gov
Re: More digital mixer stuff
Author: Terry Ingoldsby
Date: Mon, 02 Oct 1989 19:06
Date: Mon, 02 Oct 1989 19:06
12 lines
1170 bytes
1170 bytes
There are always a lot of discussions going on about the evils of phase
shift, eg. how much oversampling do I have to do to reduce my analog filter
to 30 dB/octave with phase shift < 10 degrees. Can someone tell us if it
might be possible, knowing what the phase shift of the analog filter
will be, to precompensate in the digital domain? ie. before the signal is
converted back to analog (and subsequently filtered) could we not shift
the phase appropriately in the `other direction'?
--
Terry Ingoldsby ctycal!ingoldsb@calgary.UUCP
Land Information Systems or
The City of Calgary ...{alberta,ubc-cs,utai}!calgary!ctycal!ingoldsb
Re: More digital mixer stuff
Author: Jon W{tte
Date: Tue, 03 Oct 1989 01:43
Date: Tue, 03 Oct 1989 01:43
33 lines
2019 bytes
2019 bytes
In article <9247@pyr.gatech.EDU> byron@pyr.UUCP (Byron A Jeff) writes: >The only question is what's the sample rate of the mixed signal? It >would seem to be 8x the original sample rate yes? So for 8 48Khz channels >I'd need a 384 Khz DAC. Ouch! No, not really. You apply a digital filter on the signal, and then use each eigth sample. Yes, it'll work ! Someone said that you should apply this BEFORE you fed the signal to the DSP, but then you would have no channel separation (the channel separatio is in the time domain if you interleave the samples, and the filter truly messes this up) and all the channels would come out mixed equally. >-In any event, those manufacturers are merely trying to sell you two DACs >-instead of one, when a single converter and a few sample and hold stages >-would realign the reconstructed signals. One S/H could be used to But using one DAC also introduces some distortion in switching between channels ! >>transitions take longer than 1 to 0 transistions. Then, for a digital >>sample changing from $8000 to $7FFF, you would first get $0000 on the >>DAC output before all the other 15 bits changed to $7FFF. Ugly and BIG >>spike! Analog sample and hold allows the outputs to be disconnented Heard about (a) a latch and (b) an analog filter after the DAC ? Wouldn't this take care of such things ? ARE there S/H stages after the DAC in good CDs ? I don't think so, but please correct me, if you know for * SURE *. Says, h+@nada.kth.se -- Mooo.
Re: More digital mixer stuff
Author: Byron A Jeff
Date: Tue, 03 Oct 1989 17:54
Date: Tue, 03 Oct 1989 17:54
26 lines
1644 bytes
1644 bytes
In article <1845@draken.nada.kth.se> d88-jwa@nada.kth.se (Jon W{tte) writes:
-In article <9247@pyr.gatech.EDU> byron@pyr.UUCP (Byron A Jeff) writes:
->The only question is what's the sample rate of the mixed signal? It
->would seem to be 8x the original sample rate yes? So for 8 48Khz channels
->I'd need a 384 Khz DAC. Ouch!
-
-No, not really. You apply a digital filter on the signal, and then use
-each eigth sample. Yes, it'll work ! Someone said that you should apply
-this BEFORE you fed the signal to the DSP, but then you would have no
-channel separation (the channel separatio is in the time domain if you
-interleave the samples, and the filter truly messes this up) and all the
-channels would come out mixed equally.
'Wow!' he exclaims incredulously. Would you please go into a little more
detail on how this black magic works? Also is it possible to scale
the samples for individual channel volume control before using the filter?
-
- h+@nada.kth.se
BAJ (the ever amazed)
--
Another random extraction from the mental bit stream of...
Byron A. Jeff
Georgia Tech, Atlanta GA 30332
Internet: byron@pyr.gatech.edu uucp: ...!gatech!pyr!byron
Re: More digital mixer stuff
Author: Todd Day
Date: Wed, 04 Oct 1989 08:58
Date: Wed, 04 Oct 1989 08:58
26 lines
1638 bytes
1638 bytes
d88-jwa@nada.kth.se (Jon W{tte) writes:
~>>Then, for a digital
~>>sample changing from $8000 to $7FFF, you would first get $0000 on the
~>>DAC output before all the other 15 bits changed to $7FFF. Ugly and BIG
~>>spike!
~Heard about (a) a latch and (b) an analog filter after the DAC ?
~Wouldn't this take care of such things ? ARE there S/H stages after
~the DAC in good CDs ? I don't think so, but please correct me, if you
~know for * SURE *.
I know all Denon players have them. I'm certain that just about every
CD player has them. It wouldn't do any good to build a latch into the
DACs because you would still have the problem of each bit not flipping
at EXACTLY the same time. An analog filter would not solve the problem
because they would have slew problems when the spikes come through. This
slewing would produce distortion products at the output, and could never
be filtered out entirely. Hell, they have enough problems just handling
the staircases!
--
Todd Day | todd@ivucsb.sba.ca.us | ivucsb!todd@anise.acc.com
"Time to eat all your words, swallow your pride, open your eyes."
-- Tears for Fears
Digital mixing using interleaved signals (# LONG #)
Author: Jon W{tte
Date: Wed, 04 Oct 1989 09:33
Date: Wed, 04 Oct 1989 09:33
104 lines
4019 bytes
4019 bytes
>>In article <9247@pyr.gatech.EDU> byron@pyr.UUCP (Byron A Jeff) writes:
>>>The only question is what's the sample rate of the mixed signal? It
>>>would seem to be 8x the original sample rate yes? So for 8 48Khz channels
>>>I'd need a 384 Khz DAC. Ouch!
>In article <1845@draken.nada.kth.se> d88>jwa@nada.kth.se (Jon W{tte) writes:
>>No, not really. You apply a digital filter on the signal, and then use
>>each eigth sample. Yes, it'll work ! Someone said that you should apply
>>this BEFORE you fed the signal to the DSP, but then you would have no
>>channel separation (the channel separatio is in the time domain if you
>>interleave the samples, and the filter truly messes this up) and all the
>>channels would come out mixed equally.
In article <9264@pyr.gatech.EDU> byron@pyr.UUCP (Byron A Jeff) writes:
>'Wow!' he exclaims incredulously. Would you please go into a little more
>detail on how this black magic works? Also is it possible to scale
>the samples for individual channel volume control before using the filter?
Of course it would be possible to scale the individual samples before
filtering, that's what it's all about !
If you have a 8-interleaved signal (i.e. eight channels coming in at
eight times the speed in an interleaved stream) you'll just have to
keep track of the phase, and multiply each eighth + n (where n is
channel 0 - 7) byte with the scale factor for channel n.
Then, after scaling, you apply the filter. Note! This is the "magic"
since the filter works in the time domain and the interleave doesn't,
but quite obvious once you've seen it: (Just two channels for clarity)
Input channel 0:
! ! !
! ! ! !
! ! ! ! !
! ! ! ! !
! ! ! ! !
! ! ! ! !
! ! ! ! !
Input channel 1:
! !
! !
! ! !
! ! ! !
! ! ! !
Output after interleave:
! ! !
! ! ! !
! ! ! ! ! ! !
! ! ! ! ! ! !
! ! ! ! ! ! ! !
! ! ! ! ! ! ! ! !
! ! ! ! ! ! ! ! !
0 1 0 1 0 1 0 1 0 (channel)
As you see, there are some transients where the signals are very different
in level, and the curve looks "smooth" where the signals "match". Now, for
the magic: A digital fiter, with, say, 100 dB/octave, cuts away (averages)
the transients, but leave the "matching" parts alone:
Output after filtering:
! !
! ! ! ! ! ! !
! ! ! ! ! ! ! ! !
! ! ! ! ! ! ! ! !
! ! ! ! ! ! ! ! !
! ! ! ! ! ! ! ! !
Taking each second sample, we get:
! !
! ! !
! ! ! !
! ! ! !
! ! ! !
! ! ! !
Voila ! (Try adding the two inputs and then dividing by two - you'll
get a similar graph)
This method has a VERY BIG advantage: If you only have input on one
channel, that equals the "zero padding" used in oversampling, (which
I was corrected on in this group a week ago, thanx !) and you still
get output at the same level ! If you used the "scale and add" version
of mixing, you'd get double the output with two channels in as woth one,
but this is obviously not the case with interleave mixing !
Hope this clarifies for you !
h+@nada.kth.se
--
Documentation is like sex: When it's good, it's fantastic, when it's bad...
Re: More digital mixer stuff
Author: Brian Willoughby
Date: Fri, 06 Oct 1989 04:24
Date: Fri, 06 Oct 1989 04:24
41 lines
2574 bytes
2574 bytes
In article <1845@draken.nada.kth.se> d88-jwa@nada.kth.se (Jon W{tte) writes:
>>-In any event, those manufacturers are merely trying to sell you two DACs
>>-instead of one, when a single converter and a few sample and hold stages
>>-would realign the reconstructed signals. One S/H could be used to
>
>But using one DAC also introduces some distortion in switching between
>channels !
How? when the digital signal 'switches' discretely from one sample to the
next? There is no more 'switching' in a single DAC circuit than in a
multiple DAC circuit. This agrees with the definition of PCM.
>>>transitions take longer than 1 to 0 transistions. Then, for a digital
>>>sample changing from $8000 to $7FFF, you would first get $0000 on the
>>>DAC output before all the other 15 bits changed to $7FFF. Ugly and BIG
>>>spike! Analog sample and hold allows the outputs to be disconnented
>
>Heard about (a) a latch and (b) an analog filter after the DAC ?
>Wouldn't this take care of such things ? ARE there S/H stages after
>the DAC in good CDs ? I don't think so, but please correct me, if you
>know for * SURE *.
(a) a latch is no more instantaneous than any other electronic circuit.
It would still suffer from the same variations in transition time.
(b) an analog filter is nothing more than a circuit which reacts in a
defined to its input. If you give a filter a different input (i.e. an
input with extra spikes it in), then it will produce a different output.
The spikes would be reduced, but your signal would not be as clean as it
would if the spikes were not produced and the filter merely smoothed the
stepping that is normal with PCM.
I can't comment on *all* good CD players, but S/H is considered optimum
(followed by an analog filter at or above the Nyquist point).
> h+@nada.kth.se
Brian Willoughby
UUCP: ...!{tikal, sun, uunet, elwood}!microsoft!brianw
InterNet: microsoft!brianw@uunet.UU.NET
or: microsoft!brianw@Sun.COM
Bitnet brianw@microsoft.UUCP
Re: More digital mixer stuff
Author: Gregory Harrison
Date: Wed, 11 Oct 1989 14:05
Date: Wed, 11 Oct 1989 14:05
12 lines
1150 bytes
1150 bytes
In article <1989Sep30.122344.12326@ivucsb.sba.ca.us> todd@ivucsb.sba.ca.us (Todd Day) writes: > >*and* generates an interrupt when it's ready. Usually, my programs for >my board consist of a main loop that does absolutely nothing and an >interrupt service routine. The (nano)second I get a sample, the interrupt As an aside, the TI TMS320C30 has an instruction that puts the processor into an idle state, and just waits around for an interrupt to spur it into action. Greg Harrison My opinions are not intended to reflect those of GE.
Re: More digital mixer stuff
Author: Gregory Harrison
Date: Wed, 18 Oct 1989 00:17
Date: Wed, 18 Oct 1989 00:17
32 lines
2400 bytes
2400 bytes
In article <7973@microsoft.UUCP> brianw@microsoft.UUCP (Brian Willoughby) writes:
>In article <1845@draken.nada.kth.se> d88-jwa@nada.kth.se (Jon W{tte) writes:
>
>>>>transitions take longer than 1 to 0 transistions. Then, for a digital
>>>>sample changing from $8000 to $7FFF, you would first get $0000 on the
>>>>DAC output before all the other 15 bits changed to $7FFF. Ugly and BIG
>>>>spike! Analog sample and hold allows the outputs to be disconnented
How about Gray Code? Apart from the p = 0.999 chance that no manufacturers
currently make Gray code DACs, the advantage to this method would be less
of a spike due to large numbers of bits changing simultaneously. In Gray
code, only one bit changes between each successive ADU (Analog to Digital
Unit) increment. OK, so that would fix the problem of large spikes on the
analog ground (ahh, a separate regulated power source for the analog half
of the DAC? That would go a long way towards reducing metallically
coupled digital switching spikes to the analog output. The EMI switching
spikes may have to be contended with by MMIC (Monolithic Microwave
Integrated Circuit) device design philosophies on-chip.
Again, OK, Gray code would counteract switching noise for increments of
1 in the signal, but what about increments (or decrements) not = 1.
Is there a more advanced Gray code that will minimize the number of
bits changing ~simultaneosly within a certain range? For instance, a
second order Gray code that would minimize the number of bits that
could change for an increment +/- 1 and +/- 2. Etcetera for third
order....
Is there a better way, or does it all come down to parallel antennas
radiating garbage to our delicate wires?
Greg Harrison
My opinions are not intended to express those of GE.
Re: More digital mixer stuff
Author: Welch
Date: Thu, 19 Oct 1989 15:36
Date: Thu, 19 Oct 1989 15:36
10 lines
904 bytes
904 bytes
In article <2437@ge-dab.GE.COM> harrison@sunny.DAB.GE.COM (Gregory Harrison) writes: >How about Gray Code? Gray codes won't work because there is no easy way to make a Gray Code to Analog converter. The only way I can think of doing it is to first convert the Gray Code to binary, and this of course defeats your reason for using Gray code. Curt Welch curt@dtix.dt.navy.mil
Re: More digital mixer stuff
Author: Gregory Harrison
Date: Thu, 19 Oct 1989 17:23
Date: Thu, 19 Oct 1989 17:23
24 lines
1844 bytes
1844 bytes
In article <227@nems.dt.navy.mil> curt@dtix.dt.navy.mil (Curt Welch) writes: >In article <2437@ge-dab.GE.COM> harrison@sunny.DAB.GE.COM (Gregory Harrison) writes: >>How about Gray Code? > >Gray codes won't work because there is no easy way to make a Gray Code >to Analog converter. The only way I can think of doing it is to first >convert the Gray Code to binary, and this of course defeats your reason >for using Gray code. Perhaps the Gray Code could be converted to binary (if need be) interior to the intergrated circuit DAC, at a much lower power than required to transmit the data between chips. I would assume that most of the ICs that drive the datalines to the DAC, and the DAC inputs, allow much more current (charge) to flow than would be required to actually perform the Gray code to binary conversion on the chip semiconductor surface. There are probably some very low power, low EMI digital circuitry technologies that would be applicable. This may represent an improvement in preserving the S/N of the analog sections (reducing digital noise), but samplingand holding the signal after the switching spike subsides would probably be sufficient. Greg Harrison My opinions are not intended to express those of GE
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads