Sunday, 17 September 2017

MATLAB Program for Dual pass band Microwave Filter for 6/4 GHz Band


  • In satellite communication 6/4 GHz band used in many countries. Commercial communication satellites use a frequency band of 500 MHz bandwidth near 6 GHz for uplink transmission and another 500 MHz bandwidth near near 4 GHz for down link transmission. While an uplink of 5.725 to 7.075 GHz and a downlink of 3.4 to 4.8 GHz is used. For both uplink and downlink band a single dual bandpass filter can be used instead of two band-pass filters.
  • To design microwave filter well known classical methods like Butterworth, Chebyshev are used but these methods are applicable on single band filters. To design the multipassband filter some limited analytical techniques have been proposed. These all techniques are based on optimization method. Apart from these techniques another technique to design of microwave filter with arbitrary frequency response also proposed which is based on iterative quasi-Newton algorithm. 
  • The methodology proposed in this paper  follow this technique and rests on the translation of analog specification of both bands of 6/4 GHz band into digital specification since in digital domain the design is little bit easy. A designer can also take advantage of these sophisticated and continuously developing digital techniques in digital domain.


Following program can be used to design a dualpassband filter for satellite communication:


%% clear the command window & workspace
clear all
clc
%% define the besic perameter related to filter
% order of numerator % denominator
n=10;
d=10;
% frequency range of passbands & stopbands
f1=0:1/1000:.9406;
f2=0.9406:.0001:.9578;
f3=0.9579:.0001:.9645;
f4=.9646:.0001:.9714;
f5=[.9715:1/1000:1 1];
f=[f1 f2 f3 f4 f5];
edges=[0 f(1278:1280)];
% magnitiude to define passbands & stopbands
m1=[repmat(-40,1,900) -40:1:0];
m2=repmat(0,1,173);
m3=[0:-1:-32 -33:1:0];
m4=repmat(0,1,69);
m5=[0:-1:-27 -28.5 -30];
m=[m1 m2 m3 m4 m5];
%% desigining of filter
% conversion of magnitude from dB to normal value
a=db2mag(m);
% define the weight of error
w=repmat(50,1,1280);
% numerator & denominator of digital filter
[num,den]=iirlpnorm(n,d,f,edges,a,w);
% frequency responce of digital filter
figure(1),freqz(num,den)
% transfer function of digital filter
s=tf(num,den,10^(-9));
% pole zero plot of designed digital filter
figure(2),pzplot(s)
% conversion of digital filter from digital to analog
S=d2c(s,'tustin');
% bode plot of analog filter
figure(3),bode(S)
% numerator & denominator of analog filter
[NUM,DEN]=tfdata(S,'v');
% conversion of negative coefficent of numerator & denominator to make
% filter stable
if NUM<0
    NUM=-1*NUM;
end
if DEN<0
    DEN=-1*NUM;
end
% transfer function of analog filter with new coefficents
S1=tf(NUM,DEN);
% bode plot of analog filter with new coefficents
figure(4),bode(S1)

%% end of designing program

%%output

No comments:

Post a Comment