0% found this document useful (0 votes)
170 views

Audio Processing Using Matlab

1. Matlab can be used to process audio signals by sampling analog signals, performing operations like filtering in the digital domain, and converting back to analog. 2. Key audio processing techniques include sampling audio, calculating spectrograms to analyze the frequency content over time, and applying filters to modify frequency content. 3. When sampling audio, the Nyquist frequency must be considered to avoid aliasing, where high frequency content is distorted by being observed as lower frequencies due to insufficient sampling.

Uploaded by

Muneeb Irfan
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
170 views

Audio Processing Using Matlab

1. Matlab can be used to process audio signals by sampling analog signals, performing operations like filtering in the digital domain, and converting back to analog. 2. Key audio processing techniques include sampling audio, calculating spectrograms to analyze the frequency content over time, and applying filters to modify frequency content. 3. When sampling audio, the Nyquist frequency must be considered to avoid aliasing, where high frequency content is distorted by being observed as lower frequencies due to insufficient sampling.

Uploaded by

Muneeb Irfan
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 12

Audio processing using Matlab

Elena Grassi
Sampling
Read values from a continuous signal
Equally spaced time interval (sampling frequency)
A/D (analog in/digital out)
AI = analoginput('winsound');
addchannel(AI,1);
set(AI,'SampleRate',44100)
set(AI,'SamplesPerTrigger',4*44100)
set(AI,'TriggerType','Manual')
start(AI)
trigger(AI)
data = getdata(AI);
delete(AI), clear AI
Spectrogram
Short time Fourier transform
Tradeoff frequency/time resolution.

specgram(y, 256, fs)


title('Spectrogram [dB]')

Note: dB= 20*log10 ()


D/A (digital in/analog out)
AO = analogoutput('winsound');
addchannel(AO,1);
set(AO,'SampleRate',22050)
set(AO,'TriggerType','Manual')
putdata(AO,x)
start(AO)
trigger(AO)
waittilstop(AO,5)
delete(AO), clear AO
Aliasing
When sampling is too slow for a signals
BW, high frequency content cannot be
observed and it leaks into lower
frequencies, thus distorting the signal.
Minimum sampling required to capture the
signal accurately:
Nyquist frequency= 2*BW
If not possible, apply antialiasing filter.
Filters
Modify frequency content of signals.
Classification according to their pass/stop bands:
Lowpass (smoothing filter)
Highpass
Bandpass
Stopband
Specify corner frequency(ies), normalized wrt
sampling frequency. Example: 2000/(fs/2) for
2000 Hz.
Example
7

5 signal
LP filter

0
0 2000 4000 6000 8000 10000 12000
f [Hz]
Filter Types
Classification according to their roll-off, flatness,
phase:
Bessel: linear phase, preserves wave shape.
Butterworth: flat and monotonic, sacrifice roll-off
steepness.
Chebyshev I: equiripple in passband and
monotonic in stopband.
Chebyshev II: monotonic in passband and
equiripple in stopband, roll off slower than type I.
Example

[b,a]= butter(6,2000*2/fsi,'low');

sampling freq
order corner freq

b= numerator polynomial in z
a= denominator polynomial in z
Filter frequency response
h= impz(b,a,N);
H=(abs(fft(h)));
fscale= fsi/N*(1:N/2);
plot(fscale,H(1:N/2),'r')
xlabel('f [Hz]')
title('Filter frequency response')
Filter order
Related to complexity (hardware or
numerical) and how many samples of data
are used.
Higher order <-> Steepness
Trade off with complexity/numerical
stability

You might also like