% % Tutorials / conical horn antenna % % Describtion at: % http://openems.de/index.php/Tutorial:_Conical_Horn_Antenna % % Tested with % - Matlab 2011a / Octave 3.4.3 % - openEMS v0.0.27 % % (C) 2011,2012 Thorsten Liebig close all clear clc %% setup the simulation physical_constants; unit = 1e-3; % all length in mm % horn radius horn.radius = 20; % horn length in z-direction horn.length = 50; horn.feed_length = 50; horn.thickness = 2; % horn opening angle horn.angle = 20*pi/180; % size of the simulation box SimBox = [100 100 100]*2; % frequency range of interest f_start = 10e9; f_stop = 20e9; % frequency of interest f0 = 15e9; %% mode functions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % by David M. Pozar, Microwave Engineering, third edition, page 113 freq = linspace(f_start,f_stop,201); p11 = 1.841; kc = p11 / horn.radius /unit; k = 2*pi*freq/C0; fc = C0*kc/2/pi; beta = sqrt(k.^2 - kc^2); ZL_a = k * Z0 ./ beta; %analytic waveguide impedance % mode profile E- and H-field kc = kc*unit; func_Er = [ num2str(-1/kc^2,'%14.13f') '/rho*cos(a)*j1(' num2str(kc,'%14.13f') '*rho)']; func_Ea = [ num2str(1/kc,'%14.13f') '*sin(a)*0.5*(j0(' num2str(kc,'%14.13f') '*rho)-jn(2,' num2str(kc,'%14.13f') '*rho))']; func_Ex = ['(' func_Er '*cos(a) - ' func_Ea '*sin(a) ) * (rho<' num2str(horn.radius) ')']; func_Ey = ['(' func_Er '*sin(a) + ' func_Ea '*cos(a) ) * (rho<' num2str(horn.radius) ')']; func_Ha = [ num2str(-1/kc^2,'%14.13f') '/rho*cos(a)*j1(' num2str(kc,'%14.13f') '*rho)']; func_Hr = [ '-1*' num2str(1/kc,'%14.13f') '*sin(a)*0.5*(j0(' num2str(kc,'%14.13f') '*rho)-jn(2,' num2str(kc,'%14.13f') '*rho))']; func_Hx = ['(' func_Hr '*cos(a) - ' func_Ha '*sin(a) ) * (rho<' num2str(horn.radius) ')']; func_Hy = ['(' func_Hr '*sin(a) + ' func_Ha '*cos(a) ) * (rho<' num2str(horn.radius) ')']; disp([' Cutoff frequencies for this mode and wavguide is: ' num2str(fc/1e9) ' GHz']); if (f_start