I am detecting a DC offset when writing 24bit data using the audiowrite function.

I am developing precision files of 16, 24 and 32 bit depth for audio testing. The 16 and 32 bit sine waves are centered at 0 and have a magnitude of intmax('int16') for 16 bit, and intmax('int32') for the 24 and 32 bit files (per the audiowrite specifications). This generates a maximum amplitude sine wave with minimal DC offset. When I write 24 bit though there is a DC offset that must be corrected by shifting the signal 2^7 positive. While this does not generate much distortion (I'm not sure why since the positive peak is clipped) I can't figure out why the 24 bit waveform is not centered at 0. Is there someting I am doing wrong here?

Answers (0)

This question is closed.

Communities

More Answers in the  Power Electronics Control

Asked:

on 7 Jun 2018

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!