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

Audio Processing Using Matlab: Elena Grassi

This document discusses audio processing using Matlab. It covers topics such as sampling audio signals, converting between analog and digital formats, spectrograms, filtering audio signals, and types of filters. The key steps for sampling audio are to read values from a continuous signal at equally spaced time intervals. Converting between analog and digital involves using functions like analoginput and analogoutput. Spectrograms provide time-frequency representations by applying a short-time Fourier transform. Filters can modify frequency content and are classified by their passband and rolloff characteristics. Filter order affects complexity and steepness of the frequency response.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views

Audio Processing Using Matlab: Elena Grassi

This document discusses audio processing using Matlab. It covers topics such as sampling audio signals, converting between analog and digital formats, spectrograms, filtering audio signals, and types of filters. The key steps for sampling audio are to read values from a continuous signal at equally spaced time intervals. Converting between analog and digital involves using functions like analoginput and analogoutput. Spectrograms provide time-frequency representations by applying a short-time Fourier transform. Filters can modify frequency content and are classified by their passband and rolloff characteristics. Filter order affects complexity and steepness of the frequency response.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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
6
signal
LP filter

5
4
3
2
1
0
0

2000

4000

6000
f [Hz]

8000

10000

12000

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');

order

sampling freq
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