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

1 view (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
Leonardo Wayne
Leonardo Wayne on 29 Nov 2016
Hi Walter. Thanks alot for your answer. Actually, I will need to do 4 DSP lab tutorials before attempting to do this task in full. It needs more in depth knowledge of Fourier Transform in MATLAB, usage of FDA tool and how to reconstruct the original audio signal. So I will create 4 new posts and attempt these labs before doing this task. Question: if I want to redirect you to these 4 new posts, how do I do that?
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 Processing Algorithm Design 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!