R/E/P Community

Please login or register.

Login with username, password and session length
Advanced search  

Pages: [1]   Go Down

Author Topic: Applying Anti-Alias Filter to DSD Stream  (Read 5444 times)

seanBfunky

  • Newbie
  • *
  • Offline Offline
  • Posts: 4
  • Real Full Name: Sean Broderick
Applying Anti-Alias Filter to DSD Stream
« on: April 06, 2011, 11:06:17 pm »

I'm just wondering what happens before the decimation step in the conversion of a DSD file to PCM.  How does one go about applying a low-pass filter function to a DSD stream?  So far I can't imagine how it begins.

Thanks!

Sean Broderick
Logged

olafmatt

  • Newbie
  • *
  • Offline Offline
  • Posts: 4
  • Real Full Name: Olaf Matthes
Re: Applying Anti-Alias Filter to DSD Stream
« Reply #1 on: April 07, 2011, 06:31:45 am »

The first step is to treat the bitstream as if it would be a PCM signal: you 'convert' the 0's and 1's to full-scale PCM values. So in case of floating point calculations each 0 becomes a -1.0, each 1 becomes a +1.0. That gives you a 64fs PCM signal that you feed through a more or less regular filter that cuts off before Nyquist frequency of the desired output sample rate. Then just throw away the samples you don't need anymore. Converting to a multiple of 48kHz rate is a bit more tricky.
There are other ways, but this is probably the easiest to understand.

Olaf Matthes
Logged

seanBfunky

  • Newbie
  • *
  • Offline Offline
  • Posts: 4
  • Real Full Name: Sean Broderick
Re: Applying Anti-Alias Filter to DSD Stream
« Reply #2 on: April 11, 2011, 11:42:50 am »

Thanks for the explanation!  How does one determine the PCM word length?  Is it whatever the final desired word length is?

Sean B
Logged

olafmatt

  • Newbie
  • *
  • Offline Offline
  • Posts: 4
  • Real Full Name: Olaf Matthes
Re: Applying Anti-Alias Filter to DSD Stream
« Reply #3 on: April 11, 2011, 12:13:27 pm »

The word length usually depends on the hardware to be used. Usually it's higher than the desired output word length to avoid rounding errors when you do multiple calculations. On a PC based system that would most likely be 32bit or 64bit floating point. On an FPGA, for example,  one might use something like 48bit fixed point or whatever is needed for the desired performance or what is left in resources after all the other stuff is implemented.

Olaf Matthes
Logged

seanBfunky

  • Newbie
  • *
  • Offline Offline
  • Posts: 4
  • Real Full Name: Sean Broderick
Re: Applying Anti-Alias Filter to DSD Stream
« Reply #4 on: April 19, 2011, 08:04:54 pm »

When I was asking about the word length, I was just wondering if there is a simple relationship between the rate of the Sigma-Delta modulator, and the signal-to noise of the final PCM signal, for a given output sample rate.  I was imagining the noise level would determine the bit depth needed for simple storage of the PCM signal.

Sean B
Logged

Bruno Putzeys

  • Moderator
  • Newbie
  • *****
  • Offline Offline
  • Posts: 22
  • A contrarian for no reason at all.
Re: Applying Anti-Alias Filter to DSD Stream
« Reply #5 on: April 20, 2011, 03:16:34 am »

You'd need to know the exact noise transfer function of the modulator for that. Most DSD modulators found in the wild have between 105-120dB of SNR as measured from DC to 20kHz. This would indicate that at 44.1kHz, 20 bits is a minimum if you don't want the final word length to add significantly to the noise. At higher sampling rates you could do in-band noise shaping again to reduce the word length (knowing that the new quantisation noise will still be lower than the >20kHz noise of DSD) but I'm not aware of anyone using, say, 96kHz/16 bits for any reason...
Logged
Not necessarily expressing the opinion of www.grimmaudio.com or www.hypex.nl

olafmatt

  • Newbie
  • *
  • Offline Offline
  • Posts: 4
  • Real Full Name: Olaf Matthes
Re: Applying Anti-Alias Filter to DSD Stream
« Reply #6 on: April 24, 2011, 09:57:19 am »

Bruno, IIRC you've been mentioning this before on another forum to use 96kHz/16 bits (or higher bit depth) with noise shaping in order to get lower quantisation noise in the audible band. At some point I was also thinking about it but ditched the idea because as far as I see it it would only make sense as a delivery format (and even then... see below).
As soon as you apply further processing on such a file you'd have to increase the bit-depth again (or run it through the noise shaper again, which after a while creates new problems). Editing such a file on a DAW and applying, say, a volume change might ruin the results if the DAW simply outputs a new 16bit file. You'd end up with the quantisation noise of 16bit (plus dither signal) in the audible band and increased noise above that as a leftover of the noise shaping.
Considering noise shaped 24bit files I'd be worried about what happens in DACs where the signal might run through an ASRC chip or at least through an oversampling algorithm that is only sufficiently engineered to provide low enough quantisation errors to maintain 24bit accuracy. So what would you actually gain by applying noise shaping to a 96k (or 192k) file apart from a little reduction in storage space (if saved as 16bit file)?

Olaf Matthes
Logged

Bruno Putzeys

  • Moderator
  • Newbie
  • *****
  • Offline Offline
  • Posts: 22
  • A contrarian for no reason at all.
Re: Applying Anti-Alias Filter to DSD Stream
« Reply #7 on: April 24, 2011, 11:21:02 am »

I wasn't recommending this, only mentioning that it is possible. If I didn't, some pedant would inevitably butt in out of nowhere to point out that DSD carries less information than a 96/24 data stream, meaning that strictly speaking 24 bits aren't necessary. The drawbacks are quite well understood.
Logged
Not necessarily expressing the opinion of www.grimmaudio.com or www.hypex.nl

seanBfunky

  • Newbie
  • *
  • Offline Offline
  • Posts: 4
  • Real Full Name: Sean Broderick
Re: Applying Anti-Alias Filter to DSD Stream
« Reply #8 on: May 03, 2011, 03:27:57 pm »

Now I'm wondering how good a reduction from DSD to 44.1/16bit PCM can get.  Has anyone heard this process be truly transparent?  I have a Korg MR-1000, and it's always disappointing to hear the decimated (good word!) 44.1/16 bit version (via the Audiogate software) versus the DSD.  It's a big difference.  So I'm looking for alternative software filters.  Any recommendations?

Some of the CDs produced with the Sony SBMD process sound quite a bit better than average, does anyone know what their filter's characteristics are?  Does anyone have subjective impressions of various filter choices?

Regarding ultrasonic noise, it would seem running the sigma-delta modulator at a faster rate than 2.8 MHz might help, are there drawbacks to speeding t up?

Thanks!

Sean B
Logged

olafmatt

  • Newbie
  • *
  • Offline Offline
  • Posts: 4
  • Real Full Name: Olaf Matthes
Re: Applying Anti-Alias Filter to DSD Stream
« Reply #9 on: May 04, 2011, 12:20:00 pm »

I use my own software when I have to do DSD to PCM conversion, but the few times I've used Audiogate I thought it wasn't too bad given the fact it's a "free" software.
One problem with evaluating the sound quality is that you will be using a different DA converter when listening to the 44.1k/16bit file. Try converting that to DSD again and listen to both DSD files on the Korg to make sure you have the same DAC chip and analogue electronics in the signal chain. Of course, the conversion back to DSD most likely isn't completely transparent either, but I feel the impact of different converters might be more damaging (without knowing which DAC you're using).

If you want better conversion consider Weiss Saracon DSD, which costs more than the Korg box.... I've personally never used it but have heard good things about it.
If you have some other PCM resampling software available try to convert DSD to 172.4khz/24bit and from there down to 44.1/16 using that other software.

Olaf
Logged
Pages: [1]   Go Up