Jump to content

File:Phase Plots.svg

From Wikipedia, the free encyclopedia

Original file (SVG file, nominally 600 × 480 pixels, file size: 29 KB)

Summary

[edit]

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:

b) FIR Filter (Type IV) with impulse response:

c) IIR Filter with impulse response:

d) FIR Filter with impulse response:

All plots are Arg[] vs normalized with .

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 the output
set terminal svg
set output "Phase_Plots.svg"

# axis properties
set xrange [0:1]
set key off

# Set up a four-pane multiplot
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


Licensing

[edit]

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current12:20, 8 April 2006Thumbnail for version as of 12:20, 8 April 2006600 × 480 (29 KB)Zongur (talk | contribs)Made by Ugur Zongur using GNU Octave and Gnuplot in order to demonstrate linearity or non-linearity of phase plots of various filters.

The following page uses this file:

Metadata