Scale a before and after signal

I've recorded some audio using audiorecorder and I want to measure the SNR of a signal I have performed some quantizing operations on. I have the the before and after signal, but how do I scale or normalise(?) the two signals so I am comparing apples with apples. MATLAB noob here btw.

 Accepted Answer

Hello,
I understand you are trying to normalize the signals two signals to bring them to same scale for comparison. You can try 'min-max normalization' to normalize both the signals to the range [0,1].
Hereby is an example code in MATLAB R2018a for your reference:
t=linspace(0,2*pi,100);
y=5*sin(t);
step_size=10/20;
partition=-2*pi:step:2*pi;
y_Quant=quantiz(y,p);
norm_y=(y-min(y))/(max(y)-min(y)); %%min-max normalization
norm_yQuant=(yQuant-min(yQuant))/(max(yQuant)-min(yQuant));
figure;
subplot(211);
plot(norm_y);
subplot(212);
plot(norm_yQuant)
Both the signals before and after quantization are normalized to same scale for comparison.
Hope this helps...

1 Comment

Thanks Surbhi, that's what I was looking for. I wasn't able to use the quantiz() function as I'm using R2016a, but the two min-max normalization lines below it was what I was after.

Sign in to comment.

More Answers (0)

Asked:

on 2 Aug 2018

Commented:

on 2 Aug 2018

Community Treasure Hunt

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

Start Hunting!