DSP MATLAB Assignments
DSP MATLAB Assignments
Akshansh Chaudhary
Graduate of BITS Pilani, Dubai Campus
Batch of 2011
AC Creations 2013
MATLAB BASICS
Digital Signal Processing
Akshansh Chaudhary
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
MATLAB Assignment 1
Digital Signal Processing
Akshansh Chaudhary
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
2011AAPS300U
ks
ha
ns
Butterworth filter
AT
LA
(D
ig
i
ta
lS
ig
na
lP
ro
ce
ss
in
g)
A
Akshansh Chaudhary
Akshansh Chaudhary
LA
AT
M
(D
g)
A
in
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
AT
M
(D
g)
A
in
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Chebyshev's filter
Instructions -
ks
ha
ns
AT
LA
(D
ig
i
ta
lS
ig
na
lP
ro
ce
ss
in
g)
A
plot(f2,20*log10(abs(h2)))
Akshansh Chaudhary
Akshansh Chaudhary
LA
AT
M
(D
g)
A
in
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
AT
M
(D
g)
A
in
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Elliptical filter
Instructions -
ks
ha
ns
AT
LA
(D
ig
i
ta
lS
ig
na
lP
ro
ce
ss
in
g)
A
plot(f3,20*log10(abs(h3)))
Akshansh Chaudhary
Akshansh Chaudhary
LA
AT
M
(D
g)
A
in
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
AT
M
(D
g)
A
in
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Comparison
AT
LA
(D
ig
i
ta
lS
ig
na
lP
ro
ce
ss
in
g)
A
ks
ha
ns
Akshansh Chaudhary
MATLAB Assignment 2
Digital Signal Processing
Akshansh Chaudhary
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
ro
ce
ss
in
g)
A
(a) H(z)=(z2-z)/(z2-0.9051z+0.4096)
Determine the location of poles and zeroes.
Plot the pole zero map of function.
(b) Repeat the same if function is given by
H(z)=(1-z-1)/1-0.9051z-1+0.4096z-2)
(c) Plot pole-zero diagram of H(z) in both cases
(i.)
With numerator and denominator polynomial coefficients as inputs
(ii.)
With poles and zeroes as inputs
(d) Plot the frequency response of the DT system with a sampling frequency of
(i.)
1 kHz
(ii.)
10kHz
(iii.)
100kHz
ks
ha
ns
lP
Solution:
na
ig
lS
M
AT
LA
(D
ig
ita
a. For TF1,
Commands:
A=[1 -1 0]; B=[1 -0.9051 0.4096];
pzmap(A,B)
From this, we get the following graph
Akshansh Chaudhary
lP
ro
ce
ss
in
g)
A
ks
ha
ns
b. For TF2,
Commands:
num=[1 -1]; den=[1 -0.9051 0.4096];
pzmap(num,den)
We get the following graph
M
AT
LA
(D
ig
ita
lS
ig
na
a. For TF1,
Finding the poles and zeroes of the TF.
Commands:
>> A1=roots(A)
A1 =
0
1
>> B1=roots(B)
B1 =
0.4526 + 0.4525i
0.4526 - 0.4525i
b.
For TF2,
Commands:
>> num1=roots(num)
num1 =
1
>> den1=roots(den)
den1 =
0.4526 + 0.4525i
0.4526 - 0.4525i
Akshansh Chaudhary
ro
ce
ss
in
g)
A
ks
ha
ns
Now, commands for making the pole zero plot for Subpart 2:
Commands:
a. For TF1
>> pzmap(B1,A1)
lP
b. For TF2
M
AT
LA
(D
ig
ita
lS
ig
na
>> pzmap(den1,num1)
Akshansh Chaudhary
ii.
10kHz
Command: freqz(num,den,10000)
M
AT
LA
(D
ig
ita
lS
ig
na
lP
ro
ce
ss
in
g)
A
ks
ha
ns
i.
Akshansh Chaudhary
100kHz
Command:
Freqz(num,den,100000)
na
lP
ro
ce
ss
in
g)
A
ks
ha
ns
iii.
ig
lS
It was found that the order of the given transfer function (in z domain) changes when the transfer
function is rearranged from positive powers of z to negative powers of z.
ita
(D
ig
LA
Finally,
M
AT
In the frequency response plots, the plots for both TF1 and TF2 were found to be the same. And, on
seeing the plots on different frequencies, the plots were nearly the same with little difference in the
magnitude part of the plot on changing the frequency.
Akshansh Chaudhary
MATLAB Assignment 3
Digital Signal Processing
Akshansh Chaudhary
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
Akshansh Chaudhary
LA
B
AT
M
(D
in
g)
A
ss
ce
ro
lP
na
ig
lS
ta
ig
i
ks
ha
ns
sh
a
ns
h
Assignment 3
Akshansh Chaudhary
ID 2011AAPS300U
Dated - 7.10.2013
Question-
ng
)-
Ak
Given the specifications of a band stop filter, make it an analog filter and convert it to
digital filter using impulse invariant method and Bilinear z transform method. Also, find
the magnitude plot, phase plot, group delay and pole zero diagrams for both the methods.
si
Solution -
ig
na
lP
ro
c
es
Part (1)
Making analog elliptical
filter
ig
ita
lS
AL
TA
(D
Rp=0.2
Rp =
0.2000
>> Rs=40
Rs =
40
>> Fs=100000
Fs =
100000
>> Wp=[15000/50000, 30000/50000]
Wp =
0.3000 0.6000
ns
h
>> Ws=[20000/50000,25000/50000]
Ws =
0.4000 0.5000
sh
a
AL
TA
(D
ig
ita
lS
ig
)ng
si
es
ro
c
lP
na
[B1,A1]=ellip(N1,Rp,Rs,Wn1,'stop')
B1 =
Columns 1 through 3
0.3198 -0.4313 1.3982
Columns 4 through 6
-1.2748 2.1536 -1.2748
Columns 7 through 9
1.3982 -0.4313 0.3198
A1 =
Columns 1 through 3
1.0000 -0.9838 1.9828
Columns 4 through 6
-1.4369 1.8869 -0.8671
Columns 7 through 9
0.7043 -0.2039 0.1459
Ak
>> [N1,Wn1]=ellipord(Wp,Ws,Rp,Rs,'s')
N1 =
4
Wn1 =
0.3333 0.6000
sh
a
Ak
ng
)-
ns
h
Part (2)
Converting to Digital
lS
ig
na
lP
ro
c
es
si
[bz,az]=impinvar(B1,A1,Fs)
bz =
1.0e-003 *
Columns 1 through 8
0.0029 -0.0238 0.0859 -0.1772 0.2284 -0.1882 0.0968 -0.0284
Column 9
0.0037
az =
Columns 1 through 8
1.0000 -8.0000 28.0000 -56.0001 70.0002 -56.0002 28.0001 -8.0000
Column 9
1.0000
(D
ig
ita
TA
>> [H,F]=freqs(bz,az)
>> plot(F,20*log10(abs(H)))
>> xlabel('freq. (in kHz)')
>> ylabel('magnitude (in dB)')
AL
(Note: Graphs got in one version of MATLAB may differ in other versions)
ns
h
sh
a
Ak
)ng
si
es
ro
c
lP
na
AL
TA
(D
ig
ita
lS
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
>> phasedelay(bz,az,512)
ig
AL
TA
(D
>> grpdelay(bz,az,512)
>>
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Ak
sh
a
ns
h
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Ak
ns
h
zplane(bz,az)
sh
a
ns
h
sh
a
Ak
)ng
si
es
ro
c
lP
na
ig
lS
ig
ita
AL
TA
(D
>> [b1,a1]=bilinear(B1,A1,Fs)
b1 =
Columns 1 through 8
0.3652 -2.9218 10.2263 -20.4526 25.5658 -20.4527 10.2263 -2.9218
Column 9
0.3652
a1 =
Columns 1 through 8
1.0000 -8.0000 28.0000 -56.0001 70.0002 -56.0002 28.0001 -8.0000
Column 9
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
>> [H,F]=freqz(B1,A1,512,Fs)
>> plot(F,20*log10(abs(H)))
>> ylabel('magnitude response in dB')
>> xlabel('freq in Hz')
AL
TA
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Ak
sh
a
ns
h
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Ak
sh
a
ns
h
>> grpdelay(b1,a1,512)
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
>> zplane(b1,a1)
lS
ita
ig
(D
Ak
sh
a
ns
h
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Ak
sh
a
ns
h
sh
a
(Seeing in s domain)
Ak
>> [N1,Wn1]=ellipord(Wp,Ws,Rp,Rs,'s')
>> [B1,A1]=ellip(N1,Rp,Rs,Wn1,'stop')
ng
)-
>> [H,F]=freqs(B1,A1)
AL
TA
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
>>plot(F,abs(H))
ns
h
ns
h
sh
a
Ak
)ng
si
es
ro
c
ita
lS
ig
na
lP
The figure shows the magnitude plot for elliptical filter with the given specifications in
the ANALOG DOMAIN.
From the figure, it is visible that its a band stop filter.
(D
ig
Conclusion
AL
TA
Matlab Assignment 4
Digital Signal Processing
Akshansh Chaudhary
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
Assignment 4
(D
ig
ita
lS
In the given problem, it has been told that the pass band frequency is given as 200 Hz and
stop band frequency is given as 500 Hz.
Now, as its told to design a band pass filter, are left to assume it as:
a. A low pass filter with pass band edge frequency of 200 Hz and stop band edge
frequency of 500 Hz
b. A band pass filter with lower stop band frequency of 0 Hz, lower pass band
frequency of 200 Hz and upper stop band frequency of 500 Hz.
Note: it is left to the designer to choose how to design the filter using the specs given.
AL
TA
AL
TA
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
>> fs=2000;
>> fn=fs/2; % fn= Nyquist freq.
>> N=7;
>> fc1=100/fn; % 100, as its Wpl - (delta f/2); and /fn, as normalising w.r.t nyquist
>> fc2=400/fn; % 400, as its Wpu + (delta f/2)
>> FC=[fc1 fc2];
>> hn=fir1(N-1, FC, hamming(N));
>> [H,f]=freqz(hn, 1,512,fs);
>> mag=20*log10(abs(H));
>> plot(f,mag,'red');
grid on;
xlabel('freq(Hz)')
>> ylabel('Magnitude response (db)')
>>
ns
h
Commands:
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
Applying the same commands for N=8, we get the following graph
AL
TA
(D
ig
ita
lS
ig
na
Applying the same commands for N=22, we get the following graph
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
Proceeding similarly and then, holding all the graphs together, we see:
Blue: N=7
Green: N=8
Red: N=22
Magenta: N=33
AL
TA
(D
ig
ita
lS
ns
h
sh
a
Ak
)ng
si
es
ro
c
ig
na
lP
lS
AL
TA
(D
ig
ita
N=41;
>> fp1=0.3196; % value got after normalizing it w.r.t Nyquist, and using smearing effect
>> fp2=0.8804;
>> fs=10000;
>> fp=[fp1 fp2];
>> hn=fir1(N-1,fp,hamming(N));
>> hn=fir1(N-1,fp,hamming(N));
>> [H,f]=freqz(hn,1,512,fs);
>> mag=20*log10(abs(H));
>> plot(f,mag,'magenta'); grid on;
>>
ns
h
sh
a
Ak
)ng
si
es
ro
c
na
lP
Clearly, it is visible that the pass band is between 2000 to 5000 Hz (nearly)
lS
ig
AL
TA
(D
ig
ita
>> fc1=0.37804;
>> fc2=0.81756;
>> fc=[fc1 fc2];
>> hn2=fir1(N-1,fc,rectwin(N));
>> [H2,f2]=freqz(hn2,1,512,fs);
>> mag2=20*log10(abs(H2));
>> plot(f2,mag2,'green');grid on;
ns
h
sh
a
Ak
)ng
es
si
lP
ro
c
AL
TA
(D
ig
ita
lS
ig
na
AL
TA
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
Inference:
It can be clearly seen that increasing the no. of samples (N)
makes the frequency response more ideal.
Moreover, the graph compresses as N is increased.
Matlab Assignment 5
Digital Signal Processing
Akshansh Chaudhary
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
MATLAB Assignment 6
Digital Signal Processing
Akshansh Chaudhary
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Assignment 6
Q. 7.32
AL
TA
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
1.
fpl=13/48;
>> fpu=27/48;
>> fsl=12/48;
>> fsu=15/48;
>> fc=[fpl fpu];
>> N1=53;
>> hd=fir1(N1-1, fc, boxcar(N1));
>> wn=hamming(N1);
>> hn1=fir1(N1-1, fc, wn);
>> fs=48000;
>> [H1,f1]=freqz(hn1, 1, 512, fs);
>> mag1=20*log10(abs(H1));
>> plot(f1, mag1), grid on;
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
>> impz(hn1,1)
>>
AL
TA
(D
ig
2.
N2=58;
>> beta=5.65;
>> hn2=fir1(N2-1, fc, kaiser(N2, beta));
>> [H2, f2]=freqz(hn2, 1, 512, fs);
>> mag2=20*log10(abs(H2));
>> plot(f2, mag2, red), grid minor;
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Ak
sh
a
ns
h
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Ak
sh
a
ns
h
ns
h
sh
a
Ak
)ng
si
es
ro
c
lP
na
ig
AL
TA
(D
ig
ita
lS
3.
> F=[5000, 8000, 12000, 15000];
>> M=[0 1 0];
>> dp=0.01;
>> ds=0.001;
>> dev=[ds dp ds];
>> [N3, F0, M0, W]=remezord(F, M, dev, fs);
>> [b delta]=remez(N3, F0, M0, W);
>> [H3, f3]=freqz(b, 1, 1024, fs);
>> mag3=20*log10(abs(H3));
>> plot(f3, mag3, green), grid minor;
AL
TA
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
MATLAB Assignment 7
Digital Signal Processing
Akshansh Chaudhary
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Akshansh Chaudhary
TA
AL
(D
g)
in
ss
ce
ro
lP
na
ig
ita
lS
ig
ks
-A
ha
ns
Assignment 7
Decimation and Interpolation
ns
h
9.12.13
TA
(D
ig
ita
lS
ig
na
Ak
)ng
si
es
ro
c
lP
>> Fs=5000;
>> A=2;
>> B=1;
>> f1=50;
>> f2=100;
>> t=0:1/Fs:1;
>> x=A*cos(2*pi*f1*t)+B*cos(2*pi*f2*t);
>> subplot(3,1,1)
>> stem(x(1:1000))
>> xlabel('Discrete time, nT')
>> ylabel('Input signal level')
>>
>>
>> %Now, decimating for part b.
>> y=decimate(x,10);
>> subplot(3,1,2)
>> stem(y(1:100))
>> xlabel('Discrete time, nT/10')
>> ylabel('Decimated output signal level')
>>
>> %Now, interpolating for part c.
>> y1=interp(y,4);
>> subplot(3,1,3)
>> stem(y1(1:400))
>> xlabel('Discrete time, 4*nT')
>> ylabel('Decimated output signal level')
>>
sh
a
Commands
AL
Graphs -
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Zooming
Ak
sh
a
ns
h
ns
h
sh
a
Ak
)ng
si
es
ro
c
lP
na
AL
TA
(D
ig
ita
lS
ig
ns
h
sh
a
Ak
)ng
si
es
ro
c
lP
na
AL
TA
(D
ig
ita
lS
ig
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Zooming
Ak
sh
a
ns
h
ns
h
sh
a
Ak
)ng
si
es
ro
c
lP
na
AL
TA
(D
ig
ita
lS
ig
ns
h
sh
a
Ak
)ng
si
es
ro
c
lP
na
(D
>> Fs=5000;
>> A=2;
>> B=1;
ig
Change 1
ita
lS
ig
OBSERVATIONS:
100
>> f2=500;
AL
TA
>> f1=
>> t=0:1/Fs:1;
>> x=A*cos(2*pi*f1*t)+B*cos(2*pi*f2*t);
>> subplot(3,1,1)
>> stem(x(1:1000))
>> xlabel('Discrete time, nT')
>> ylabel('Input signal level')
>>
AL
TA
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
>>
>> %Now, decimating for part b.
>> y=decimate(x,10);
>> subplot(3,1,2)
>> stem(y(1:100))
>> xlabel('Discrete time, nT/10')
>> ylabel('Decimated output signal level')
>>
>> %Now, interpolating for part c.
>> y1=interp(y,4);
>> subplot(3,1,3)
>> stem(y1(1:400))
>> xlabel('Discrete time, 4*nT')
>> ylabel('Decimated output signal level')
>>
Change 2
Fs=5000;
>> A=2;
>> B=1;
>> f1=50;
>> f2=100;
>> t=0:1/Fs:1;
AL
TA
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
sin
>> x=A*cos(2*pi*f1*t)+B*
(2*pi*f2*t);
>> subplot(3,1,1)
>> stem(x(1:1000))
>> xlabel('Discrete time, nT')
>> ylabel('Input signal level')
>>
>>
>> %Now, decimating for part b.
>> y=decimate(x,10);
>> subplot(3,1,2)
>> stem(y(1:100))
>> xlabel('Discrete time, nT/10')
>> ylabel('Decimated output signal level')
>>
>> %Now, interpolating for part c.
>> y1=interp(y,4);
>> subplot(3,1,3)
>> stem(y1(1:400))
>> xlabel('Discrete time, 4*nT')
>> ylabel('Decimated output signal level')
ns
h
sh
a
Ak
)ng
si
es
ro
c
lP
na
ig
Change 3
ita
ig
50;
>> B=-10;
>> A=
lS
Fs=5000;
AL
TA
(D
>> f1=50;
>> f2=100;
>> t=0:1/Fs:1;
>> x=A*cos(2*pi*f1*t)+B*cos(2*pi*f2*t);
>> subplot(3,1,1)
>> stem(x(1:1000))
>> xlabel('Discrete time, nT')
>> ylabel('Input signal level')
>>
>>
>> %Now, decimating for part b.
>> y=decimate(x,10);
>> subplot(3,1,2)
>> stem(y(1:100))
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
TA
Change 4
AL
Idea No. of samples taken should always be less than the sampling frequency that we take.
200
Fs=
;
>> A=2;
>> B=1;
>> f1=50;
>> f2=100;
>> t=0:1/Fs:1;
>> x=A*cos(2*pi*f1*t)+B*cos(2*pi*f2*t);
>> subplot(3,1,1)
100
sh
a
ns
h
>> stem(x(1:
))
>> xlabel('Discrete time, nT')
>> ylabel('Input signal level')
>>
>>
>> %Now, decimating for part b.
>> y=decimate(x,10);
>> subplot(3,1,2)
Ak
10
si
ng
)-
>> stem(y(1:
))
>> xlabel('Discrete time, nT/10')
>> ylabel('Decimated output signal level')
>>
>> %Now, interpolating for part c.
>> y1=interp(y,4);
>> subplot(3,1,3)
AL
TA
(D
ig
ita
lS
ig
na
lP
ro
c
es
40
>> stem(y1(1:
))
>> xlabel('Discrete time, 4*nT')
>> ylabel('Decimated output signal level')
>>
ns
h
Change 5
ig
ita
lS
ig
na
AL
TA
(D
Ak
)ng
si
lP
>> y=decimate(x, );
>> subplot(3,1,2)
>> stem(y(1:100))
>> y1=interp(y, );
>> subplot(3,1,3)
>> stem(y1(1:400))
es
ro
c
sh
a
>> Fs=5000;
>> A=2;
>> B=1;
>> f1=50;
>> f2=100;
>> t=0:1/Fs:1;
>> x=A*cos(2*pi*f1*t)+B*cos(2*pi*f2*t);
>> subplot(3,1,1)
>> stem(x(1:1000))
>> xlabel('Discrete time, nT')
>> ylabel('Input signal level')
>>
>>
>> %Now, decimating for part b.
ns
h
sh
a
Ak
)ng
si
es
ro
c
lP
na
lS
ita
(D
5+
ig
Fs=5000;
>> A=2;
>> B=1;
>> f1=50;
>> f2=100;
>> t=0:1/Fs:1;
ig
Change 6
AL
TA
>> x=
A*cos(2*pi*f1*t)+B*cos(2*pi*f2*t);
>> subplot(3,1,1)
>> stem(x(1:1000))
>> xlabel('Discrete time, nT')
>> ylabel('Input signal level')
>>
>>
>> %Now, decimating for part b.
>> y=decimate(x,10);
>> subplot(3,1,2)
>> stem(y(1:100))
>> xlabel('Discrete time, nT/10')
AL
TA
(D
ig
ita
lS
ig
na
lP
ro
c
es
si
ng
)-
Ak
sh
a
ns
h
TA
AL
)-
ng
si
es
ro
c
lP
na
ig
lS
ita
ig
(D
Ak
sh
a
ns
h