SlideShare a Scribd company logo
MATLAB DSP Programs
Raja Rajasakeran
Venkat Peddigari
Pete Bernardin
Bandpass Filter
close all;
clear all;
r1 = 0.9;
r2 = 0.88;
r3=0.9;
theta1 = pi/5;
theta2 = 3*pi/10;
theta3=4*pi/10;
p1 = r1*cos(theta1) + i*r1*sin(theta1);
p2 = r1*cos(theta2) + i*r2*sin(theta2);
p3 = r3*cos(theta3) + i*r3*sin(theta3);
p2 = r2*cos(theta2) + i*r2*sin(theta2);
!aroots = [p1,conj(p1),p2,conj(p2), p3, conj(p3)];
aroots = [p2,conj(p2), p3, conj(p3)];
a = poly(aroots);
b = [1 zeros(1,18) -1];
b1 = [1];
[h,w] = freqz(b1,a);
freqzplot(h,w, 'mag');
figure;
freqzplot(h,w,'squared');
( )( ) ( )( )[ ]
( ) ( )
( ) ( )[ ]2121
4.0
21
3
3.0
21
2
1111
)4.0cos(219.0)3.0cos(219.0/1
cos219.0cos219.0/1
119.0119.0/1)(
32
3322
−−−−
=
−−
=
−−
−−−+−−−+
+−+−=






+−+−=
−−−−=
zzzz
zzzz
zezezezezH jjjj
ππ
ωω
πωπω
ωωωω
Kaiser Bessel Window
clear all;
close all;
N=61;
w31 = window(@kaiser,N,1);
w33 = window(@kaiser,N,3);
w35 = window(@kaiser,N,5);
w37 = window(@kaiser,N,7);
plot(1:N,[w31, w33, w35, w37]); axis([1 N 0 1]);
legend('beta=1','beta = 3', 'beta=5', 'beta=7');
figure;
a=[1];
[fw31,f] = freqz(w31,a);
[fw33,f] = freqz(w33,a);
[fw35,f] = freqz(w35,a);
[fw37,f] = freqz(w37,a);
freqzplot([fw31,fw33,fw35,fw37],f, 'mag');
legend('beta=1','beta = 3', 'beta=5', 'beta=7');
Time Domain Windows
clear all;
close all;
N=61;
w = window(@blackmanharris,N);
w1 = window(@hamming,N);
w2 = window(@gausswin,N,2.5);
w3 = window(@kaiser,N,5);
w4 = window(@tukeywin,N,0.5);
plot(1:N,[w1,w3,w4]); axis([1 N 0 1]);
legend('Hamming','Kaiser', 'Tukey');
figure;
a=[1];
[fw,f] = freqz(w,a);
[fw1,f] = freqz(w1,a);
[fw2,f] = freqz(w2,a);
[fw3,f] = freqz(w3,a);
[fw4,f] = freqz(w4,a);
freqzplot([fw1,fw3,fw4],f, 'mag');
legend('Hamming','Kaiser', 'Tukey');
DFT of Square Waves, 3 Duties
close all;
clear all;
x = ones(1,16);
y = fft(x,16);
my = abs(y)/16;
ay = angle(y);
stem(my);
figure;
y1 = fft (x,32)/16;
my1 = abs(y1);
stem(my1);
y2= fft (x,128);
figure;
stem (abs(y2));
100% Duty 50% Duty
12.5% Duty
Notch Filters
clear all;
close all;
a = [1 -1.2726 0.81];
b = [1 -1.414 1];
[H, W] = freqz(b,a);
figure;
freqzplot(H,W,'linear');
title ('Pole-zero Notch Filter - Mag');
figure;
freqzplot(H,W);
title ('Pole-zero Notch Filter - dB');
a1 = [1];
b1 = [1 -1.414 1];
[H1, W] = freqz(b1,a1);
figure;
freqzplot(H1,W,'linear');
title ('All zero Notch Filter - Mag');
figure;
freqzplot(H1,W);
title ('All zero Notch Filter - dB');
1 2
3 4
Resonators
clear all;
close all;
r = 0.99;
theta = pi/4;
a = [1 -2*r*theta r^2];
b = 1;
[H, W] = freqz(b,a);
figure;
freqzplot(H,W,'linear');
title ('Resonator r=0.99, theta = pi/4 - Mag');
figure;
freqzplot(H,W);
title (' Resonator r=0.99, theta = pi/4- dB');
r = 0.95;
theta = pi/4;
a = [1 -2*r*theta r^2];
b = 1;
[H, W] = freqz(b,a);
figure;
freqzplot(H,W,'linear');
title ('Resonator r=0.95, theta = pi/4 - Mag');
figure;
freqzplot(H,W);
title (' Resonator r=0.95, theta = pi/4- dB');
r = 0.99;
theta = pi/4;
a = [1 -2*r*theta r^2];
b = [1 0 -1]
[H, W] = freqz(b,a);
figure;
freqzplot(H,W,'linear');
title ('Pole-zero Resonator r=0.99, theta = pi/4 - Mag');
figure;
freqzplot(H,W);
title ('Pole-zero Resonator r=0.99, theta = pi/4- dB');
r = 0.9;
theta = pi/4;
a = [1 -2*r*theta r^2];
b = 1;
[H, W] = freqz(b,a);
figure;
freqzplot(H,W,'linear');
title ('Resonator r=0.9, theta = pi/4 - Mag');
figure;
freqzplot(H,W);
title (' Resonator r=0.9, theta = pi/4- dB');
r = 1.0;
theta = pi/4;
a = [1 -2*r*theta r^2];
b = 1;
[H, W] = freqz(b,a);
figure;
freqzplot(H,W,'linear');
title ('Oscillator, theta = pi/4 - Mag');
figure;
freqzplot(H,W);
title ('Oscillator, theta = pi/4- dB');
1
Resonators (continued)
2 43
98
765
10
Comb Filters
clear all;
close all;
a = [1 -1];
b = [1 0 0 0 0 0 0 0 0 0 0 -1];
b = b/11;
[H, W] = freqz(b,a);
figure;
freqzplot(H,W,'linear');
title ('Comb Filter M=10 - Mag');
figure;
freqzplot(H,W);
title ('Comb Filter M=10 - dB');
bz = zeros (1,54);
a1 = [1 0 0 0 0 -1];
b1 = [1 [bz] -1];
[H, W] = freqz(b1,a1);
figure;
freqzplot(H,W,'linear');
title ('LM Comb Filter L = 5 M=10 - Mag');
figure;
freqzplot(H,W);
title ('LM Comb Filter L = 5 M=10 - dB');
1 2
3 4
Welch Periodogram PSD
close all;
clear all;
t = 0:.001:4.096;
x = sin(2*pi*50*t) + sin(2*pi*120*t);
stdev = 2;
y = x + stdev*randn(size(t));
figure;
plot(y(1:50))
title('Noisy time domain signal')
FS = 1000.; % Sampling Rate
% 1 section
NFFT = 4096;
Noverlap = 0
figure;
pwelch(y, 4096, Noverlap, NFFT, FS)
% 16 overlapping sections
NFFT = 512;
Noverlap = 256
figure;
pwelch(y, 512, Noverlap, NFFT, FS)
% 32 overlapping sections
NFFT = 256;
Noverlap = 128
figure;
pwelch(y, 256, Noverlap, NFFT, FS)
¼ Hz Res
2 Hz Res 4 Hz Res
Time
1 2
43
Discrete Fourier Transform (DFT)
Forward Transform: for k=0,1,2,…,N-1
Inverse Transform: for n=0,1,2,…,N-1
-----------------------------------------------------------------------------------------------------------
N=8; % MATLAB “DISCRETE FOURIER TRANSFORM” PROGRAM
w0 = 2*pi/N;
K0 =3;
w=w0*K0*(0:N-1);
Data = complex(cos(w),sin(w)); % Data = ej2πnKo/N
for k =1:N
accum=complex(0,0);
for n=1:N
A = w0*(n-1)*(k-1);
Twiddle=complex(cos(A),-sin(A)); %Twiddle = e-j2πnk/N
accum = accum+Data(n)*Twiddle; % X(k)= Σej2πnKo/N
e-j2πnk/N
end % "n" is Time index
MAGXk=abs(accum) % Output the Magnitude of the DFT =N @ k=K0
end % "k" is the Frequency index

More Related Content

PPTX
Asymptotic notation
PPT
Asymptotic notation
PDF
Little o and little omega
PDF
Theta notation
PPTX
Asymptotic notations
PDF
Asymptotic notation
PDF
GeoGebra JavaScript CheatSheet
PDF
Big omega
Asymptotic notation
Asymptotic notation
Little o and little omega
Theta notation
Asymptotic notations
Asymptotic notation
GeoGebra JavaScript CheatSheet
Big omega

What's hot (20)

PPT
Algorithum Analysis
PDF
5th Semester Electronic and Communication Engineering (2013-June) Question Pa...
PDF
5th Semester Electronic and Communication Engineering (June/July-2015) Questi...
PPT
Jarrar.lecture notes.aai.2011s.ch4.informedsearch
PPT
Datacompression1
PPTX
Chapter 4 review
PDF
Enumeration of 2-level polytopes
PDF
小波变换程序
PDF
An efficient algorithm for the computation of Bernoulli numbers
PDF
9.8.2 Dangers
PPT
Recurrence theorem
PDF
9.8.1 Parallel Resonance
PPT
Recursion tree method
PDF
Laplace table
PPT
Control system concepts by using matlab
PPT
lecture 4
PPT
Time complexity
Algorithum Analysis
5th Semester Electronic and Communication Engineering (2013-June) Question Pa...
5th Semester Electronic and Communication Engineering (June/July-2015) Questi...
Jarrar.lecture notes.aai.2011s.ch4.informedsearch
Datacompression1
Chapter 4 review
Enumeration of 2-level polytopes
小波变换程序
An efficient algorithm for the computation of Bernoulli numbers
9.8.2 Dangers
Recurrence theorem
9.8.1 Parallel Resonance
Recursion tree method
Laplace table
Control system concepts by using matlab
lecture 4
Time complexity
Ad

Viewers also liked (20)

PDF
Gender detection using MATLAB
PDF
Ec2306 mini project report-matlab
PDF
Final project report
PDF
Kaldi-voice: Your personal speech recognition server using open source code
PPTX
FILTER BANKS
PDF
DSP MATLAB notes - Akshansh
PPTX
Speech Recognition Technology
PPTX
Number plate recognition system using matlab.
PPT
Speech Recognition System By Matlab
PPTX
Designing a uniform filter bank using multirate concept
PDF
IEEE 2014 Final Year Projects | Digital Image Processing
DOC
Digitla Communication pulse shaping filter
PDF
PDF
Multirate
PDF
Encryption & Decryption of Sound in image format on Matlab
DOCX
Fourier series example
DOCX
Design of Filter Circuits using MATLAB, Multisim, and Excel
PPTX
Vehicle number plate recognition using matlab
Gender detection using MATLAB
Ec2306 mini project report-matlab
Final project report
Kaldi-voice: Your personal speech recognition server using open source code
FILTER BANKS
DSP MATLAB notes - Akshansh
Speech Recognition Technology
Number plate recognition system using matlab.
Speech Recognition System By Matlab
Designing a uniform filter bank using multirate concept
IEEE 2014 Final Year Projects | Digital Image Processing
Digitla Communication pulse shaping filter
Multirate
Encryption & Decryption of Sound in image format on Matlab
Fourier series example
Design of Filter Circuits using MATLAB, Multisim, and Excel
Vehicle number plate recognition using matlab
Ad

Similar to Matlab dsp examples (20)

PPTX
The Moore-Spiegel Oscillator
PDF
DIGITAL SIGNAL PROCESSING BASED ON MATLAB
PDF
ابلايد كامل .pdfgxhjdjdhdhdjdjjxhddjdndjjd
PDF
Help with root locus homework1
PDF
Matlab fair-record-model
PPTX
Generating code from dags
PDF
matlab codes.pdf
DOCX
DOCX
rubik_solve
PDF
Volume and edge skeleton computation in high dimensions
DOC
bask, bfsk, bpsk
PDF
Ecg programa simulado
PPTX
Basic python programs
KEY
Verification with LoLA: 2 The LoLA Input Language
PDF
Lesson 7: Vector-valued functions
PDF
Matlab 2
PPTX
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม. 6 1
PPT
Price of anarchy is independent of network topology
PPTX
Stressen's matrix multiplication
PDF
Matlab assignment
The Moore-Spiegel Oscillator
DIGITAL SIGNAL PROCESSING BASED ON MATLAB
ابلايد كامل .pdfgxhjdjdhdhdjdjjxhddjdndjjd
Help with root locus homework1
Matlab fair-record-model
Generating code from dags
matlab codes.pdf
rubik_solve
Volume and edge skeleton computation in high dimensions
bask, bfsk, bpsk
Ecg programa simulado
Basic python programs
Verification with LoLA: 2 The LoLA Input Language
Lesson 7: Vector-valued functions
Matlab 2
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม. 6 1
Price of anarchy is independent of network topology
Stressen's matrix multiplication
Matlab assignment

More from umarjamil10000 (8)

PPTX
Galvanometer,wheatstone bridge,ohm law,
PPT
Mechatronics, Embedded System,
PPTX
Electric Field
PPT
Image denoising
PPT
Coding verilog
PPT
noise removal in matlab
PPTX
Pm project
PPT
Mechatronics systems
Galvanometer,wheatstone bridge,ohm law,
Mechatronics, Embedded System,
Electric Field
Image denoising
Coding verilog
noise removal in matlab
Pm project
Mechatronics systems

Recently uploaded (20)

PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
01-Introduction-to-Information-Management.pdf
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
master seminar digital applications in india
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
A systematic review of self-coping strategies used by university students to ...
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PPTX
Cell Structure & Organelles in detailed.
PPTX
Lesson notes of climatology university.
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Trump Administration's workforce development strategy
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
01-Introduction-to-Information-Management.pdf
GDM (1) (1).pptx small presentation for students
master seminar digital applications in india
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
A systematic review of self-coping strategies used by university students to ...
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Cell Structure & Organelles in detailed.
Lesson notes of climatology university.
FourierSeries-QuestionsWithAnswers(Part-A).pdf
O5-L3 Freight Transport Ops (International) V1.pdf
Trump Administration's workforce development strategy
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
VCE English Exam - Section C Student Revision Booklet
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student

Matlab dsp examples

  • 1. MATLAB DSP Programs Raja Rajasakeran Venkat Peddigari Pete Bernardin
  • 2. Bandpass Filter close all; clear all; r1 = 0.9; r2 = 0.88; r3=0.9; theta1 = pi/5; theta2 = 3*pi/10; theta3=4*pi/10; p1 = r1*cos(theta1) + i*r1*sin(theta1); p2 = r1*cos(theta2) + i*r2*sin(theta2); p3 = r3*cos(theta3) + i*r3*sin(theta3); p2 = r2*cos(theta2) + i*r2*sin(theta2); !aroots = [p1,conj(p1),p2,conj(p2), p3, conj(p3)]; aroots = [p2,conj(p2), p3, conj(p3)]; a = poly(aroots); b = [1 zeros(1,18) -1]; b1 = [1]; [h,w] = freqz(b1,a); freqzplot(h,w, 'mag'); figure; freqzplot(h,w,'squared'); ( )( ) ( )( )[ ] ( ) ( ) ( ) ( )[ ]2121 4.0 21 3 3.0 21 2 1111 )4.0cos(219.0)3.0cos(219.0/1 cos219.0cos219.0/1 119.0119.0/1)( 32 3322 −−−− = −− = −− −−−+−−−+ +−+−=       +−+−= −−−−= zzzz zzzz zezezezezH jjjj ππ ωω πωπω ωωωω
  • 3. Kaiser Bessel Window clear all; close all; N=61; w31 = window(@kaiser,N,1); w33 = window(@kaiser,N,3); w35 = window(@kaiser,N,5); w37 = window(@kaiser,N,7); plot(1:N,[w31, w33, w35, w37]); axis([1 N 0 1]); legend('beta=1','beta = 3', 'beta=5', 'beta=7'); figure; a=[1]; [fw31,f] = freqz(w31,a); [fw33,f] = freqz(w33,a); [fw35,f] = freqz(w35,a); [fw37,f] = freqz(w37,a); freqzplot([fw31,fw33,fw35,fw37],f, 'mag'); legend('beta=1','beta = 3', 'beta=5', 'beta=7');
  • 4. Time Domain Windows clear all; close all; N=61; w = window(@blackmanharris,N); w1 = window(@hamming,N); w2 = window(@gausswin,N,2.5); w3 = window(@kaiser,N,5); w4 = window(@tukeywin,N,0.5); plot(1:N,[w1,w3,w4]); axis([1 N 0 1]); legend('Hamming','Kaiser', 'Tukey'); figure; a=[1]; [fw,f] = freqz(w,a); [fw1,f] = freqz(w1,a); [fw2,f] = freqz(w2,a); [fw3,f] = freqz(w3,a); [fw4,f] = freqz(w4,a); freqzplot([fw1,fw3,fw4],f, 'mag'); legend('Hamming','Kaiser', 'Tukey');
  • 5. DFT of Square Waves, 3 Duties close all; clear all; x = ones(1,16); y = fft(x,16); my = abs(y)/16; ay = angle(y); stem(my); figure; y1 = fft (x,32)/16; my1 = abs(y1); stem(my1); y2= fft (x,128); figure; stem (abs(y2)); 100% Duty 50% Duty 12.5% Duty
  • 6. Notch Filters clear all; close all; a = [1 -1.2726 0.81]; b = [1 -1.414 1]; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Pole-zero Notch Filter - Mag'); figure; freqzplot(H,W); title ('Pole-zero Notch Filter - dB'); a1 = [1]; b1 = [1 -1.414 1]; [H1, W] = freqz(b1,a1); figure; freqzplot(H1,W,'linear'); title ('All zero Notch Filter - Mag'); figure; freqzplot(H1,W); title ('All zero Notch Filter - dB'); 1 2 3 4
  • 7. Resonators clear all; close all; r = 0.99; theta = pi/4; a = [1 -2*r*theta r^2]; b = 1; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Resonator r=0.99, theta = pi/4 - Mag'); figure; freqzplot(H,W); title (' Resonator r=0.99, theta = pi/4- dB'); r = 0.95; theta = pi/4; a = [1 -2*r*theta r^2]; b = 1; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Resonator r=0.95, theta = pi/4 - Mag'); figure; freqzplot(H,W); title (' Resonator r=0.95, theta = pi/4- dB'); r = 0.99; theta = pi/4; a = [1 -2*r*theta r^2]; b = [1 0 -1] [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Pole-zero Resonator r=0.99, theta = pi/4 - Mag'); figure; freqzplot(H,W); title ('Pole-zero Resonator r=0.99, theta = pi/4- dB'); r = 0.9; theta = pi/4; a = [1 -2*r*theta r^2]; b = 1; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Resonator r=0.9, theta = pi/4 - Mag'); figure; freqzplot(H,W); title (' Resonator r=0.9, theta = pi/4- dB'); r = 1.0; theta = pi/4; a = [1 -2*r*theta r^2]; b = 1; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Oscillator, theta = pi/4 - Mag'); figure; freqzplot(H,W); title ('Oscillator, theta = pi/4- dB'); 1
  • 9. Comb Filters clear all; close all; a = [1 -1]; b = [1 0 0 0 0 0 0 0 0 0 0 -1]; b = b/11; [H, W] = freqz(b,a); figure; freqzplot(H,W,'linear'); title ('Comb Filter M=10 - Mag'); figure; freqzplot(H,W); title ('Comb Filter M=10 - dB'); bz = zeros (1,54); a1 = [1 0 0 0 0 -1]; b1 = [1 [bz] -1]; [H, W] = freqz(b1,a1); figure; freqzplot(H,W,'linear'); title ('LM Comb Filter L = 5 M=10 - Mag'); figure; freqzplot(H,W); title ('LM Comb Filter L = 5 M=10 - dB'); 1 2 3 4
  • 10. Welch Periodogram PSD close all; clear all; t = 0:.001:4.096; x = sin(2*pi*50*t) + sin(2*pi*120*t); stdev = 2; y = x + stdev*randn(size(t)); figure; plot(y(1:50)) title('Noisy time domain signal') FS = 1000.; % Sampling Rate % 1 section NFFT = 4096; Noverlap = 0 figure; pwelch(y, 4096, Noverlap, NFFT, FS) % 16 overlapping sections NFFT = 512; Noverlap = 256 figure; pwelch(y, 512, Noverlap, NFFT, FS) % 32 overlapping sections NFFT = 256; Noverlap = 128 figure; pwelch(y, 256, Noverlap, NFFT, FS) ¼ Hz Res 2 Hz Res 4 Hz Res Time 1 2 43
  • 11. Discrete Fourier Transform (DFT) Forward Transform: for k=0,1,2,…,N-1 Inverse Transform: for n=0,1,2,…,N-1 ----------------------------------------------------------------------------------------------------------- N=8; % MATLAB “DISCRETE FOURIER TRANSFORM” PROGRAM w0 = 2*pi/N; K0 =3; w=w0*K0*(0:N-1); Data = complex(cos(w),sin(w)); % Data = ej2πnKo/N for k =1:N accum=complex(0,0); for n=1:N A = w0*(n-1)*(k-1); Twiddle=complex(cos(A),-sin(A)); %Twiddle = e-j2πnk/N accum = accum+Data(n)*Twiddle; % X(k)= Σej2πnKo/N e-j2πnk/N end % "n" is Time index MAGXk=abs(accum) % Output the Magnitude of the DFT =N @ k=K0 end % "k" is the Frequency index