How to analyse and create a filter in MATLAB for recorded audio?

4 views (last 30 days)
Hi, I have recorded the signal in an audio file using MATLAB. How do I normalise amplitude of recorded signal to a maximum value of 1 and why does it need to be normalised?

Answers (1)

Walter Roberson
Walter Roberson on 27 Nov 2016
Edited: Walter Roberson on 27 Nov 2016
new_signal = old_signal ./ max(old_signal(:));
However, keep in mind that it is possible that you happened to have a sample that was more negative than the maximum signal was positive, such as if the signal peaked at -2.1343 in the negative but at +2.1315 in the positive. Normalizing to maximum value 1 could result in values below -1.
"why does it need to be normalised"
Does it need to be normalized? See https://www.mathworks.com/help/matlab/ref/filter.html#bt_vs4t-2_1 the first example in filter(), which clearly shows inputs larger than 1.0
  3 Comments
Walter Roberson
Walter Roberson on 29 Nov 2016
You could post links here. However, I did not study much signal processing so I might not be able to answer the questions.

Sign in to comment.

Categories

Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!