Post Go back to editing

Sine wave Distortion at low amplitude levels

Category: Hardware
Product Number: ADAU1466

Dear Team ,

I was trying to capture a simple passthrough Sine wave Generator routed to SPDIF Output in ADAU1466. 

What I noticed was that Audio Distortion as shown below. I also recorded this in APx and results were same.

I can see that it's below the dynamic range, -190dB is more of a noise floor. However the concerning part is that this unhappy signal at low amplitude is only seen when using Sigma Evaluation Boards but not SHARC Evaluation Boards. What could be the reason ?

Regards,

Zayn

  • Hello Zayn,

    It depends on the DAC that both boards have. The ADAU1466 Eval board has the AD1938 on it. which SHARC Ezkit you are using and what DAC?

    It's not a sine wave or audio distortion. -190dB is very well below the dynamic range (for a 24-bit system it's 144dB). You may see this noise even without a signal passing thru the system.

    Regards,

    Harish

  • Hi Harish !

    But I am not using the DAC, the output you are seeing is straight from the SPDIF of the Evaluation board going into the APx like below:

    Sine wave generator -> SPDIF Out -> Apx

    I do not see the need for or involvement of any Digital to Analog Conversion in my setup . So why is this difference only with the Sigma based EZKITS and not SHARC

    Regards,

    Zayn

  • Hello Zayn,

    My bad, I didn't see that one. I thought you were analyzing the analog output.

    At the core's output, after the truncator and saturator, In the 24-bit digital output (1.23), there are no bits available to represent such a low level like -190dB. If you set the LSB of the 23-bit fractional part, the value will be 0.0000001192, which will be -138dB. This is the lowest you can go with the 23 bits fractional part. So, the noise is not something that is directly coming from the DSP.

    Regards,

    Harish

  • Hi Harish!,

    This is the output from EV SOM Board recorded for SPDIF In ->SPDIF Out(Fs 48kHz) as well 

     

    So there is something going on with the Sigma DSP EZKITS ?

    Regards,

    Zayn

  • Hello Zayn,

    Can you attach your project file so we can see everything that is going on?

    Thanks,

    Dave T

  • Hi Dave !

    Sure ! Please find the project file attached with this post.

    Regards,

    ZaynADAU1466_SPDIF_IN_OUT_192Fs_Issue.dspproj

  • Hi Dave ! 

    Is there any findings with the project file I shared.

    Regards,

    Zayn

  • Hi Dave ! 

    Is there any update in  findings with the project file I shared.

    Regards,

    Zayn

  • Hi Dave !

    Is there any update on this observation.

    Regards,

    Zayn

  • Hello Zayn,

    I think there is a lot to unfold here and lots of places for invalid data. 

    Looking at your project. It looks like you have 192kHz fs audio coming into the SPDIF is that true?

    If that is true then you are going to an ASRC and then to the core rate which is 192kHz. This is not great for the ASRC to go from between two rates that are very close. 

    For a pass-thru project like this I would not use the ASRC and change the core rate to use the SPDIF RX for the start pulse. 

    Right now the SPDIF TX is using the core rate and that will be slightly different. If you are using the same device to send the audio and receive the audio via SPDIF then the two rates will be slightly different. 

    5582.ADAU1452 SPDIFDirectlyDSPCore.dspproj

    Look at this program above and see how I bypassed the ASRC and ran the SPDIF audio directly to the core. 

    One other thing you can do is just bypass the core altogether. There is a feature to do that. 

    Try that experiment. 

    Here is a screenshot. Click on the SPDIF TX square and then set the source to be the SPDIF RX

    Since you are running at 192kHz there is a chance for issues with plastic optical cables or other ways for clocking errors to enter into the system.

    Next I want to go into your test results. I will add to what Harish has pointed out. 

    You are sending and receiving 24 bit data. That is it, 24 bits. There is zero possibility of adding any more resolution than -144dB. So any results in a graph below -144dB is an artifact of how it is getting measured and mathematics. It is not really there. 

    What happens in a lot of DSP measurement programs is that the data is normalized in the DSP analyzer to give the best resolution. So your signal coming in at -80dBFS from what I can see. However, the legend on the side does say relative level. Relative to what? What is the actual level you are sending out onto the SPDIF cable into the DSP? Let me say it is -80dB. Since the smallest signal you can represent with a 24 bit signal is 144dB of SNR, A signal of -80dBFS will be 64dB above the -144dB absolute noise floor.  

    64dB/6.02= ~10.6 So this means the signal is only about 10 bits of signal, not quite 11 bits. 

    There is absolutely no way you will have distortion products from the signal at -190dB. Impossible. 

    What you are seeing is that the DSP will gain up the signal so the -80 will be a 0dBFS level in the analyzer computational DSP. This is called normalizing. Then it calculates the FFT. 

    What I find strange is why you do not see a quantization noise floor of -64dB? I am not sure if this is a windowing artifact or FFT length? But if you are sending a -80dBFS signal in a 24 bit word. You should not expect better than 64dB SNR. Because the signal is at -80dBFS and the noise floor of a 24 bit signal is -144dBFS. The difference is 64dB. 

    I hope some of the other brilliant DSP experts we have on this forum can prove me wrong and explain these results I would be happy to be educated. I always feel like I have a lot to learn. Keeps me young... Slight smile

    Dave T