Hi, folk's.
For over ten years ago, I built a really heavy DA-converter based on the PCM1704. It was an old project from the Elektor magazine. I have modified it hard - almost everything is rebuilt, but the spdif interface and the DAC's themselves.
A year ago, I found myself mostly listening to audio via the digital TV output, and I wondered how jitter free that signal is. Now, I had an old DSP prototype that I didn't use anymore so I decided to build a reclocker.
I built it of a Microchip DSP - a cheap one, and a stable oscillator and some digital circuitry. It is intended to be hooked into the I2S stream. It buffers the samples and when the DA - clock requires another bit, it is instantly fed to that circuit via a hardware register in the DSP.
I don't have a proper circuit diagram yet, only a paper drawing - the circuit it very simple. View my attached file so you will get a picture of the complexity. The hardest thing is the actual programming. For hardware simplicity, the signal is fed to the DAC's with a 96 khz sample rate, and if the input is 44.1 or 48 khz, the DSP's upsamples the stream.
Currently it inputs 44.1, 48 and 96 khz, and outputs 96khz. Higher sampling rate is more than this DSP will cope with. Furthermore, it cannot feed the PCM1704 direct without modification. In my DAC the I2S signal is received by the DF1704 - the interpolator and upsampling chip.
Also, the software must deal with adjusting the buffer when the source over- or underflows the buffer. Most up to date oscillators is within 10 ppm so there will be max one sample adjustment per second in the worst case. This software solves this by interpolating a sample over 32 consecutive samples, and the adjustments will be totally inaudible. Simply removing a sample or inserting a duplicate may actually be heard on some quiet music, even on 96 khz. Our hearing is really sensitive. Actually, even linear interpolation when the signal is weak doesn't help, since the distortion is in the tine domain. Now, one can say, the DSP upsamples 32 samples with a 1/32 of an octave. So the music plays 3% faster or slower for exactly 32 samples, or less than a millisecond when the adjustments takes place.
OK. if you are interested in modifying your own DAC, take contact and i will give you proper info. And of course the software. You will need a programmer, like the Microchip's ICD3. Or I can program it and send the circuit to you.
A standalone reclocker may also be built. Then a spdif interface must be used.
Read more on my simple site:
- Embuddy
My email address is found there.
For over ten years ago, I built a really heavy DA-converter based on the PCM1704. It was an old project from the Elektor magazine. I have modified it hard - almost everything is rebuilt, but the spdif interface and the DAC's themselves.
A year ago, I found myself mostly listening to audio via the digital TV output, and I wondered how jitter free that signal is. Now, I had an old DSP prototype that I didn't use anymore so I decided to build a reclocker.
I built it of a Microchip DSP - a cheap one, and a stable oscillator and some digital circuitry. It is intended to be hooked into the I2S stream. It buffers the samples and when the DA - clock requires another bit, it is instantly fed to that circuit via a hardware register in the DSP.
I don't have a proper circuit diagram yet, only a paper drawing - the circuit it very simple. View my attached file so you will get a picture of the complexity. The hardest thing is the actual programming. For hardware simplicity, the signal is fed to the DAC's with a 96 khz sample rate, and if the input is 44.1 or 48 khz, the DSP's upsamples the stream.
Currently it inputs 44.1, 48 and 96 khz, and outputs 96khz. Higher sampling rate is more than this DSP will cope with. Furthermore, it cannot feed the PCM1704 direct without modification. In my DAC the I2S signal is received by the DF1704 - the interpolator and upsampling chip.
Also, the software must deal with adjusting the buffer when the source over- or underflows the buffer. Most up to date oscillators is within 10 ppm so there will be max one sample adjustment per second in the worst case. This software solves this by interpolating a sample over 32 consecutive samples, and the adjustments will be totally inaudible. Simply removing a sample or inserting a duplicate may actually be heard on some quiet music, even on 96 khz. Our hearing is really sensitive. Actually, even linear interpolation when the signal is weak doesn't help, since the distortion is in the tine domain. Now, one can say, the DSP upsamples 32 samples with a 1/32 of an octave. So the music plays 3% faster or slower for exactly 32 samples, or less than a millisecond when the adjustments takes place.
OK. if you are interested in modifying your own DAC, take contact and i will give you proper info. And of course the software. You will need a programmer, like the Microchip's ICD3. Or I can program it and send the circuit to you.
A standalone reclocker may also be built. Then a spdif interface must be used.
Read more on my simple site:
- Embuddy
My email address is found there.