ΣSigmaStudio Ask AI Русский Log in

How to Implement Single Input Connection with Various Sample Rates

SigmaDSP & SigmaStudio Shadders Dec 19, 2018 00:00 2 replies Original on forum ↗
Subscribe
Shadders Question
Dec 19, 2018 00:00

Hi,

I have viewed the following thread :

https://ez.analog.com/dsp/sigmadsp/f/q-a/64255/adau1467-sample-rate-converter-problem

I have also been examining SigmaStudio and the blocks with parameters that can be set. The help file assists in some instances, but does not go into detail. Some blocks can have their sample rate set and others cannot.

The problem is that I wish to pursue a crossover project as per my other post, but the datasheet for the ADAU1467 and help files etc., does not provide the answers.

For the active crossover, there is a delay to be implemented for the low pass, and midrange signals to compensate for the differences in driver sound origin points. The delays can only be in multiples of milliseconds or samples.

The input to the active crossover will be a Toslink or Coaxial connection with receiver which outputs LRCLK, BCLK, and WCLK for stereo signals. So I will use the input stream as opposed to the SPDIF (which is not fully AES compliant as stated in the literature).

The input to the active crossover will be multiple dataword lengths (16bit, 24bit) and sample rates (44.1kHz, 48kHz, 96kHz, 192kHz).

Since delays are required and the input can be a multitude of data word lengths and sample rates, how do you achieve automated processing. That is :

If the input data rates are varying, do I have to implement the ASRC block to convert any incoming data rate to the system sample rate which I will set to 192kHz or 384kHz ???

Will the ASRC automatically detect the sample rate of the incoming data using the BCLK signal and convert {44.1/48/96/192k}kHz to {192/384}kHz depending on how I set the system sample rate ???

Do I have to then set each delay for the requisite number of samples to achieve the relevant micro-second delays for each filter path ???

Can I use the SPDIF connection on the ADAU1467 (does not seem to be in the SigmaStudio) and are the three previous points the same – I have to use an ASRC to convert to the system sample rate ???

Is there any way of setting the processing to the incoming data stream sample rate (44.1/48/96/192k) without the ASRC such that there are multiple paths through the system. That is, for 44.1kHz there is one path with delay set to the relevant number of sample periods for 44.1kHz, and another path for 48kHz with the delay set accordingly, and so on ???, and the system automatically switches processing between the 4 paths (44.1, 48, 96, 192).

For a previous project I used the Cirrus CS8416 receiver – and could read the data registers to determine the sample rate of the connection. I could then use this information as required.

Is there any mechanism either to use the ADAU1467 internal registers to obtain this information with logic control in the DSP core to select specific paths as per item 5 above ???

Or would such logic only be possible with an external micro-controller interfacing to the DSP GPIO pins to select the relevant paths ???

Apologies for the long request – but I did not want to start down a specific design approach if the solution is not achievable.

Thanks and regards,

Richard.

Audio Signal Processors

adau1467

sigmastudio

SigmaDSP Audio Processors

asrc

sample_rate

Show More

DaveThib Reply
Dec 28, 2018 00:00

Hello Richard,

I am not able to answer in too much detail right now. I would like to start a dialog.

If you will be running the DSP at a single sample rate then it will make things much easier. The ASRCs will automatically convert the sample rates. It will track the difference with the sample rates and will adjust to drifts in sample rates but if the rate changes too quickly then it will lose lock and recalculate and relock. So the ASRCs work very well for what you need.

Since the DSP internal core rate will remain the same then you can keep the delay settings the same to adjust to the speaker drivers and cabinets.

You can read the ASRC ratio register and that will tell you what the incoming sample rate is but I don't think you will need to do it.

The fastest you should run the core is at a 192kHz sample rate. You can make the core run at 384kHz but you will have very few instructions and there will be a limitation with the ASRC range of sample rates. Basically it will roughly only convert sampling rates with a max 8:1 ratio. So you will not be able to go from 44.1kHz to 384kHz. At 192kHz core sample rate you will be fine.

Dave T

Shadders Reply
Jan 6, 2019 00:00

Hi David,

Apologies for not replying sooner, although i have reply notifications set to on, i did not receive the notification.

Thanks for the confirmation on the ASRC automatic incoming rate conversion. Although the sample rate may change, it is for audio and the rate change will be rare. I will use the 192kHz sample rate given that most of my music is 44.1kHz.

The ADAU1467 therefore can be used, but I was not able to locate the SPDIF input module in SigmaStudio. I know I can use one of the other inputs, but it would be good to know if this is a model issue in SigmaStudio.

One other question, I can see that floating point DSP’s are also supported by SigmaStudio, but their models are not in the selection for hardware. Is there an update required for SigmaStudio ?.

Again, apologies for the late reply, and thanks for replying,

Regards,

Richard.