Calculating the SNR of quantized audio

1 回表示 (過去 30 日間)
Vinci
Vinci 2018 年 8 月 5 日
編集済み: Vinci 2018 年 8 月 6 日
I'm trying to calculate the SNR of my original audio signal and the quantization signal from 16 bits down to 1 bit.
My original audio signal is:
signal = getaudiodata(recording, 'int16');
I'm using bitshift to remove the LSB:
quantsignal = bitshift(quantsignal, -1);
How to I now calculate the SNR of signal and quantsignal?

回答 (1 件)

Image Analyst
Image Analyst 2018 年 8 月 5 日
Looks like you're not scaling back up when you divide by 2. You're not just removing bits, you're cutting the amplitude in half also.
Why not just use bitset() to start clearing bits?
  2 件のコメント
Vinci
Vinci 2018 年 8 月 5 日
I've tried replacing:
% Remove LSB using division
quantsignal = quantsignal/2;
With:
% Remove LSB using bitshift
quantsignal = bitshift(quantsignal, -1);
But still not working correctly.
Image Analyst
Image Analyst 2018 年 8 月 5 日
Why not try imquantize()?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSimulation, Tuning, and Visualization についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by