Scale a before and after signal

10 visualizzazioni (ultimi 30 giorni)
Vinci
Vinci il 2 Ago 2018
Commentato: Vinci il 2 Ago 2018
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.

Risposta accettata

Surbhi Pillai
Surbhi Pillai il 2 Ago 2018
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 Commento
Vinci
Vinci il 2 Ago 2018
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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Simulation, Tuning, and Visualization in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by