audio codec performance measurement DAQ

I'm seeking for a Mathworks tool or interface that supports audio codec performance.
SNR, Total harmonic distortion, cross-talk, ISI, and other DAC and ADC performance characteristics for audio codecs
Any assistance would be greatly appreciated.
Thanks

 Risposta accettata

Jimmy Lapierre
Jimmy Lapierre il 25 Mag 2022
Hi, I think the Spectrum Analyzer could help. Here is an example:
https://www.mathworks.com/help/dsp/ug/spectrum-analyzer-measurements.html

7 Commenti

How to you perform loopback ? I don't see in your example.
I'm not sure of the details of what you are measuring, but if your device shows up as an audio device, could you replace the amplifier block in the example by an audio device writer block and audio device reader block, then physically loop back that device. That way, you would measure the effect of the DAC followed by the ADC.
I believe I'm on the right track here.
Exactly, your plan appears to be a fantastic fit for the path I'm thinking.
What this would do for me is allow me to test whether audio device read and write operations can be performed without causing any loss [ very low distortion case, almost linear model]. And this makes sense in terms of accurate measurement.
Another issue to consider is that I am not very skilled with simulink. If this is in the form of a matlab script, could you kindly tell me how to test and replace the amplifier block?
I can provide faster feedback and work as a result of my observations.
Thank you so much for your assistance!!
Jimmy Lapierre
Jimmy Lapierre il 27 Mag 2022
Modificato: Jimmy Lapierre il 27 Mag 2022
In MATLAB, you can consider using the audioPlayerRecorder to simultaniously play a test tone and record the result (you could feed it with dsp.SineWave for example). You can then monitor in real time with the Spectrum Analyzer, or record (maybe with dsp.AsyncBuffer set with a sufficient capacity) and analyze the recording at the end using functions like thd.
Thanks a lot.
Are you using Windows? If so then it is possible to get a loopback driver that can copy output to input without going through hardware. You would use that to test what the actual digital signal is. When you create a hardware loopback as a patch between output and input you are also implicitly testing the quality of the output hardware, and the cable, and the input hardware.
You're looking at things from the right angle for my setup needs.
For Windows, ASIO4ALL works well, but I'm not sure how to proceed with Linux.
Unfortunately, Linux is my preferred operating system, and I need a hardware loopback with DAC [playback] and ADC [recording] capabilities.
A target device that supports audio/video resolutions of 8, 16, 24, and 32 bits is what I'd like to use for this.
Sending and receiving signals to and from the target are the responsibility of the host.
I measure the back using AsyncBuffer for a sine signal with data type range from 8 to 32 bits ( Indata = A * sin (2 * pi *f* t + noise), as proposed by @Jimmy Lapierre.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Audio I/O and Waveform Generation in Centro assistenza e File Exchange

Prodotti

Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by