File:Phase Plots.svg

Summary
This svg file is made by Ugur Zongur using GNU Octave and Gnuplot in order to demonstrate linearity or non-linearity of phase plots of various filters.

These are the phase plots of:

a) FIR Filter (Type II) with impulse response: $$h[n]=\delta[n-3] + \delta[n-2] + \delta[n-1] + \delta[n]$$

b) FIR Filter (Type IV) with impulse response: $$h[n]=\delta[n-3] + \delta[n-2] - \delta[n-1] - \delta[n]$$

c) IIR Filter with impulse response: $$h[n]={{\delta[n-1] + 2\delta[n] - 3h[n-1]} \over {4}}$$

d) FIR Filter with impulse response: $$h[n]=4\delta[n-3] + 3\delta[n-2] + 2\delta[n-1] + \delta[n]$$

All plots are Arg[$$H(e^{j\omega})$$] vs normalized $$\omega$$ with $$pi$$.

GNU Octave and Gnuplot codes used to create the file is given below:

GNU Octave Code:

% Phase Demonstration of basic Filters % Written By: Ugur Zongur a=[1 1 1 1]; % Symmetrical (So this has got Linear Phase) [pp_1,w] = freqz(a,1); a=[1 1 -1 -1]; % Symmetrical (So this has got Linear Phase) [pp_2,w] = freqz(a,1); a=[1 2]; % Numerator b=[3 4]; % Denominator [pp_3,w] = freqz(a,b); a=[4 3 2 1]; % Not Symmetrical (So this hasn't got Linear Phase) [pp_4,w] = freqz(a,1); data = [w/pi ; arg(pp_1); arg(pp_2); arg(pp_3); arg(pp_4)]'; save -ascii 'Phase_Plots.dat' data;

Gnuplot Code:

set terminal svg set output "Phase_Plots.svg" set xrange [0:1] set key off set size 1, 1 set origin 0, 0 set multiplot set title "a) FIR Filter (Type II) having Linear Phase" set size 0.5,0.5 set origin 0, 0.5 plot "Phase_Plots.dat" using 1:2 with lines linewidth 2 set title "b) FIR Filter (Type IV) having Linear Phase" set size 0.5, 0.5 set origin 0.5, 0.5 plot "Phase_Plots.dat" using 1:3 with lines linewidth 2 set title "c) IIR Filter having Non-Linear Phase" set size 0.5, 0.5 set origin 0, 0 plot "Phase_Plots.dat" using 1:4 with lines linewidth 2 set title "d) FIR Filter having Non-Linear Phase" set size 0.5, 0.5 set origin 0.5, 0 plot "Phase_Plots.dat" using 1:5 with lines linewidth 2
 * 1) set the output
 * 1) axis properties
 * 1) Set up a four-pane multiplot