
Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This matlab script outlines the design process for a third order chebyshev high-pass filter. The script includes the normalization, transformation, and denormalization of component values, as well as the calculation of the filter's response in terms of attenuation and phase. The script also generates plots of the filter's response.
Typology: Study notes
1 / 1
This page cannot be seen from the preview
Don't miss anything!

% Chebyshev High-Pass Filter using % Example 5-3 p 229 as a Low-Pass % Filter Prototype
close all; % close all opened graphs clear all; % clear all variables figure; % open new graph
% Normalized components from filter coefficient tables Ln1 = 3.3487; % Normalized Inductance Ln2 = 3.3487; % Normalized Inductance Cn1 = 0.7117; % Normalized Capacitance Rg = 50; % Source resistance RL = 50; % Load Resistance
wc=2pi900e6; % Cutoff Frequency of 900 MHz
% Transform the normalized low-pass values % to the normalized high-pass filter values
Cn1hp = 1/(wcLn1); % Normalized High-Pass C Cn2hp = 1/(wcLn2); % Normalized High-Pass C Ln1hp = 1/(wc*Cn1); % Normalized High-Pass L
% Denormalize the High-Pass Component Values
C1 = Cn1hp/Rg; C2 = Cn2hp/Rg; L1 = Ln1hp*Rg;
f = 1; for i=1:4000; w=2pif; ZC1=1./(jwC1); ZC2=1./(jwC2); ZL1=jwL1; YL1=1./ZL1; GL=1./RL;
% Define the ABCD matrices for each element of the filter
A0=[1 Rg;0 1]; A1=[1 ZC1;0 1]; A2=[1 0;YL1 1]; A3=[1 ZC2;0 1]; A4=[1 0;GL 1];
ABCD=A0A1A2A3A4; freq(i)=f; H(i)=2.*1/(ABCD(1));
f=f+0.002wc/(2pi); end
subplot(211), semilogx(freq,20*log10(abs(H)));grid on; ylim([-50 10]); title('3rd Order Chebyshev High-Pass Filter Response'); xlabel('Frequency, Hz'); ylabel('Attenuation, dB');
phase=atan(imag(H)./real(H)); subplot(212), semilogx(freq,phase/pi*180);grid on; xlim([1e8 1e10]); xlabel('Frequency, Hz'); ylabel('Phase, deg.');