Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 7 of 7

Thread: Overclocking SGTL5000

  1. #1
    Senior Member
    Join Date
    Jul 2014
    Posts
    3,120

    Overclocking SGTL5000

    Some of us are oversampling the SGTL in the audiocard.
    Yesterday, I did some test to see how the performance varies for different sampling frequencies.
    The test program and the result are published here on my github

    The results in a nutshell:
    oversampling can work to at least 240 kHz
    at 360 kHz the performance is degraded.
    for sampling frequencies 96 kHz and higher, the relative transition band is increased with respect to the standard frequencies 32, 44.1, 48 kHz
    As known, not all sampling frequencies can be reproduced exactly
    (I2S needs reasonable multiplier and dividers for generating MCLK)

    Hope this helps someone

    Note: that the code changes not only the I2S clocks but also sets the SGTL5000 to the different internal sampling frequencies. It is not clear if this is relevant when SGTL is used in slave mode

  2. #2
    Senior Member CorBee's Avatar
    Join Date
    Jun 2018
    Location
    Netherlands
    Posts
    413
    Nice work !

  3. #3
    Senior Member CorBee's Avatar
    Join Date
    Jun 2018
    Location
    Netherlands
    Posts
    413
    Hi,

    Do you have an idea what causes these spurious effects in the transfer function ?
    Click image for larger version. 

Name:	Screenshot from 2018-06-17 07-34-01.png 
Views:	91 
Size:	64.1 KB 
ID:	14026

    regards
    Cor

  4. #4
    Senior Member+ Theremingenieur's Avatar
    Join Date
    Feb 2014
    Location
    Colmar, France
    Posts
    2,600
    Isn’t it normal to have such a pole at fs/2?

  5. #5
    Junior Member
    Join Date
    Jun 2018
    Posts
    14
    Wow thank you so much! It's really nice that you took the time to check! For me it's great to know that using a sample rate of 192 kHz doesn't change the SNR significantly.

    Only minor thing that I have to note: Almost none of the axis in the plots are labeled, which makes them difficult to read for people not knowing exactly what they are looking at... (my university professor would not be happy )

    Thanks again for doing this work!

  6. #6
    Senior Member
    Join Date
    Jul 2014
    Posts
    3,120
    Quote Originally Posted by Foaly View Post

    Only minor thing that I have to note: Almost none of the axis in the plots are labeled, which makes them difficult to read for people not knowing exactly what they are looking at... (my university professor would not be happy )
    The figures would also not pass my review!

    But, to be honest, if someone understands a spectrogram he would easily deduce that the vertical scale is frequency in kHz, horizontal axis is time in seconds (time interval between sweeps 3s) and the colorbar gives dB. Also, for the noise time series plots the horizontal axis makes only sense if the units are samples and not seconds.

    Now, not everyone may know this, so I may upgrade the plots and consequently, thank you for reminding me on these basics.

  7. #7
    Junior Member
    Join Date
    Jun 2018
    Posts
    14
    Haha no worries. Yes that would be nice

    I looked at your code for changing the sample rate and it seems far more elaborate, than what I've been using. Your code is nicely documented and you seem to have a deeper understanding of the chip. Maybe it would be worthwhile to turn it into a single header library, with only one function changeSampleRate(). I am sure it would be useful for people not familiar with the details of the SGTL5000. SGTL5000Utils.h maybe?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •