% ex6_2.m  exemplifying FIR design
%
% I. we specify the poles and zeros. we begin with a simple design of an FIR
%	filter with one complex conjugate pair of zeros
%	at a specified angle and magnitude and hence a second order pole at z=0:
% 	THEREFORE, SIMPLE BANDSTOP FILTERS CAN BE DESIGNED
%	the user inputs the value of the zeros
%   The column vector of zeros is q=a 
%   The column vector of poles is p=0
clear, clc, clf
disp('a complex conjugate pair of zeros is assumed;')
disp('enter the mag and arg of zero in upper half plane')
mag=input('enter magnitude of the UHP zero  ')
pha=input('enter angle (in [0,pi]) of the UHP zero  ')
% 
q=[mag*exp(i*pha); mag*exp(-i*pha)];
p=[0;0];
% II.  we make a pole-zero plot
figure(1)
zplane(q,p)
title('pole-zero plot')
disp('press any key to proceed')
pause
% III. we find the transfer function form
b=poly(q);
a=poly(p);
disp('the numerator polynomial (in 1/z) coeficients b are  ')
b
disp('the denominator polynomial (in 1/z) coeficients a are  ')
a
disp('press any key to proceed')
pause
% IV.  we can now plot the frequency response
figure(2)
freqz(b,a,512,'whole')
title('FIR Frequency Response')
disp('press any key to proceed')
pause
% it is also of interest to plot the impulse response,
% which, for an FIR filter, is b
figure(3)
plot(b,'x')
title('FIR Impulse Response')
axis([1 3 -max(b) max(b)])
%
% V.  QUESTIONS
%	- where is the UHP zero located for a lowstop filter?
%	- where is the UHP zero located for a highstop filter?
%	- where is the UHP zero located for a bandstop filter?
%	- when mag is replaced by 1/mag,
%		what is the difference in FR magnitude?
%		what is the difference in FR phase? 
