How to normalize a discrete signal?

21 views (last 30 days)
RoBoTBoY
RoBoTBoY on 23 Jan 2021
Commented: Adam Danz on 24 Jan 2021
Hello!!
I want to calculate the signal energy in rolling windows, after first normalizing to interval [-1,1].
Firstly, I wrote the below code to read and sound the signal.
[y,Fs] = audioread('viola_series.wav');
plot(y);
title('Audio viola series.wav');
sound(y,Fs);
How to do the normalization?
Thanks in advance

Accepted Answer

Adam Danz
Adam Danz on 23 Jan 2021
Audio data are typically already normalized between [-1,1]. Are you getting values outside of that range?
min(y)
max(y)
Anyway, this is how to normalize any vector to [-1,1];
ynorm = (y-min(y))/range(y)*2-1;
  5 Comments
Adam Danz
Adam Danz on 24 Jan 2021
The normalization to [0,10] would have been
n = (x-min(x))/range(x)*10;
Adam Danz
Adam Danz on 24 Jan 2021
Since you're new question differs greatly from the original one, it would be better to post it as a new question.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!