This is an idea that I came across.
Now we have our 24b/channel 192Ks/s audio and I presume that we would
like to listen to it and retain the very high S/N and low distorting.
I found this paper which was actually presented at an AES convention.
Digression: is anybody a member?
http://www.hindawi.com/GetPDF.aspx?doi=10.1155/2007/94386
Distortion-Free 1-Bit PWM Coding for Digital Audio Signals
So, I was working on this since there are other ways to do this. I was
working on linear interpolation since this can be easily done with a
FPGA using the Bresenham Line-Drawing Algorithm. Even some overlap with
the graphics project.
One slight problem. Despite the fact that this paper was presented at
the AES convention, it is bunk.
See his diagrams on page 3. Notice that there are 4 samples for each 2
cycles of the of the triangle wave for the pulse width modulator. So
what happens is that the first pulse area is an average of the first 2
samples and the second pulse area is an average of the second two samples.
So, at 1/2 the sample rate, there is distortion, but this doesn't matter
since it is beyond 1/2 the frequency of the PWM. ARGH!
The PWM output from the digital samples doesn't have to match the PWM
output that would have resulted from analog input. The Nyquist sampling
theory addresses that. The nice thing is that with audio we all have a
built in brick wall filter -- we can't hear stuff above 20KHz so it
doesn't matter.
So, this idea is useless. Yet it is true that your 192Ks/s audio is
going to be played on a class D amp with 44.1KHz | 48KHz PWM.
So, we do have the question of how much of this information is needed
and how to transform it into a PWM signal. Remember that you have a
3,221,225,472,000Hz bit rate. Yes, that is over 3 TERA Hz. I don't
think that you are going to be able to directly translate this into a
PWM signal. :-D A digital Bessel filter would probably be appropriate
so that you would simply loose much of the information over 48KHz. You
can't use an analog shelf to correct the response at 20KHz to 0dB so you
need another pole and zero in the digital filter). The problem comes
with the 24 bits. 2^23 is 8,388,608. It is simply not possible to run
the digital PWM at over 400 GHZ. So, this is an unsolved problem of HiFi.
Also, I note that it is possible to have feedback with an all digital
class D amp without an DAC or ADC. The PWM creates an ideal pulse
train. Then this is used to drive the output MOSFETs. The inner loop
would compensate for the turn on/off delays by adjusting the timing of
the drive to the MOSFETs. Then an outer loop compensate for any
difference in rise and fall times. It can compare the total power of
the output pulse to the power of the reference pulse and adjust the
timing to fix it. Note that these feedback parameters remain fairly
constant so the feedback loops to not have to be fast for it to work.
It might even be possible to close the loop from the output filter, but
you would need a reference filter (and you could put the shelf in there).
--
JRT
_______________________________________________
Open-hardware mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-hardware