Design and Analysis of Gassian Profile Conical Horn Antenna

How to use openEMS. Discussion on examples, tutorials etc

Moderator: thorsten

Post Reply
Asifgujjar
Posts: 4
Joined: Wed 18 Sep 2013, 12:19

Design and Analysis of Gassian Profile Conical Horn Antenna

Post by Asifgujjar » Wed 18 Sep 2013, 12:44

Hi.
I want to Design and Analysis of Gassian Profile Conical Horn Antenna, using OpenEMS, Addpolygon, and P matrix, can any one help me out with an example, how can i modify these the Code.?/

thorsten
Posts: 1393
Joined: Mon 27 Jun 2011, 12:26

Re: Design and Analysis of Gassian Profile Conical Horn Ante

Post by thorsten » Wed 18 Sep 2013, 13:44

Hi,

I don't know what a "gaussian profile conical horn antenna" looks like, but I'm pretty sure that the openEMS Tutorial about the "conical horn antenna" should be a good starting point.
I guess you simple have to modify the polygon shape defined there and rotate it around the axis again.
But you have to find out yourself how to write that Matlab or Octave code.

regards
Thorsten

Asifgujjar
Posts: 4
Joined: Wed 18 Sep 2013, 12:19

Re: Design and Analysis of Gassian Profile Conical Horn Ante

Post by Asifgujjar » Tue 24 Sep 2013, 10:20

Respected sir , You asked about , what is Gaussian Profiled Horn Antenna , you may see this link, to understand it.
http://www.jpier.org/PIER/pier38/07.0205246.Kishk.L.pdf
It is my request that how can i get this profile by using OpenEMS, I did my best try to set different point that is p matrix but I could not achieve the desired shape, Plz let me know atleast that what other functions i have to modify,

Regards. Asif Mehmood :shock:

thorsten
Posts: 1393
Joined: Mon 27 Jun 2011, 12:26

Re: Design and Analysis of Gassian Profile Conical Horn Ante

Post by thorsten » Tue 24 Sep 2013, 11:37

Hi,

I think the documentation on the rotational polygon in the wiki is quite good:
http://openems.de/index.php/Polygon#Rotational_Polygon

It should be possible for you to model the Gaussian profile with this informations...
Make sure it has some finite thickness and your mesh is dense enough to actually recognize the profile.
Stair-casing is always an issue and the effect should not get bigger than your actual profile!

br
Thorsten

Asifgujjar
Posts: 4
Joined: Wed 18 Sep 2013, 12:19

Re: Design and Analysis of Gassian Profile Conical Horn Ante

Post by Asifgujjar » Tue 08 Oct 2013, 19:56

Dear Thorsten.
I have used openEMS to verify the design of circular horn antenna given in figure 6. from the below given link, using your conical horn Antenna code.
http://www.jpier.org/PIERC/pierc08/01.09030507.pdf‎


I modified the points as:


---------------------------------------------------------
close all
clear
clc

%% setup the simulation
physical_constants;
unit = 1e-3; % all length in mm

% horn radius
horn.radius = 25;
%horn.radius = 30;

% horn length in z-direction
horn.length =10;

horn.feed_length = 10;

horn.thickness = 2;

% horn opening angle
horn.angle = 20*pi/180;
%horn.angle = 5*pi/180;
% size of the simulation box
SimBox = [200 200 200]*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<fc)
warning('openEMS:example','f_start is smaller than the cutoff-frequency, this may result in a long simulation... ');
end

%% setup FDTD parameter & excitation function
FDTD = InitFDTD( 30000, 1e-4 );
FDTD = SetGaussExcite(FDTD,0.5*(f_start+f_stop),0.5*(f_stop-f_start));
BC = {'PML_8' 'PML_8' 'PML_8' 'PML_8' 'PML_8' 'PML_8'}; % boundary conditions
FDTD = SetBoundaryCond( FDTD, BC );

%% setup CSXCAD geometry & mesh
% currently, openEMS cannot automatically generate a mesh
max_res = c0 / (f_stop) / unit / 15; % cell size: lambda/20
CSX = InitCSX();

%create fixed lines for the simulation box, substrate and port
mesh.x = [-SimBox(1)/2 -horn.radius 0 horn.radius SimBox(1)/2];
mesh.x = SmoothMeshLines( mesh.x, max_res, 1.4); % create a smooth mesh between specified fixed mesh lines
%---------------
% mesh.x1 = [-SimBox(1)/2 -horn.radius 0 horn.radius SimBox(1)/2];
% mesh.x1 = SmoothMeshLines( mesh.x1, max_res, 1.4); % create a smooth mesh between specified fixed mesh lines


%-------------
mesh.y = mesh.x;

%create fixed lines for the simulation box and given number of lines inside the substrate
mesh.z = [-horn.feed_length 0 SimBox(3) ];
mesh.z = SmoothMeshLines( mesh.z, max_res, 1.4 );

CSX = DefineRectGrid( CSX, unit, mesh );

%% create horn
% horn + waveguide, defined by a rotational polygon
CSX = AddMetal(CSX, 'Conical_Horn');
p(1,1) = horn.radius+horn.thickness; % x-coord point 1
p(2,1) = -horn.feed_length; % z-coord point 1
p(1,end+1)=horn.radius+horn.thickness; % x-coord point 1
p(2,end) = 0; % z-coord point 1
%-

% for inc=1 :50
% horn.length=inc;
p(1,end+1) = 45 ; %horn.radius+horn.thickness + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) =75;%horn.length; % y-coord point 2
p(1,end+1) =43;%horn.radius + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) =75;%horn.length;% y-coord point 2
%

p(1,end+1) = 50;%horn.radius+horn.thickness + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 80;%horn.length; % y-coord point 2
p(1,end+1) = 48;%horn.radius + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 80;%horn.length;% y-coord point 2

p(1,end+1) = 55;%horn.radius+horn.thickness + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 85;%horn.length; % y-coord point 2
p(1,end+1) = 53;%horn.radius + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 85;%horn.length;% y-coord point 2


p(1,end+1) = 60;%horn.radius+horn.thickness + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 90;%horn.length; % y-coord point 2
p(1,end+1) = 58;%horn.radius + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 90;%horn.length;% y-coord point 2
%

p(1,end+1) = 55;%horn.radius+horn.thickness + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 95;%horn.length; % y-coord point 2
p(1,end+1) =53;%horn.radius + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 95;%horn.length;% y-coord point 2

p(1,end+1) = 50;%horn.radius+horn.thickness + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 97;%horn.length; % y-coord point 2
p(1,end+1) = 48;%horn.radius + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 95;%horn.length;% y-coord point 2


p(1,end+1) = 45;%horn.radius+horn.thickness + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 90;%horn.length; % y-coord point 2
p(1,end+1) = 43;%horn.radius + sin(horn.angle)*horn.length; % x-coord point 2
p(2,end) = 90;%horn.length;% y-coord point 2
%
%
% %
% p(1,end+1) = 105;%horn.radius+horn.thickness + sin(horn.angle)*horn.length; % x-coord point 2
% p(2,end) = 487;%horn.length; % y-coord point 2
% p(1,end+1) = 103;%horn.radius + sin(horn.angle)*horn.length; % x-coord point 2
% p(2,end) = 487;%horn.length;% y-coord point 2
%
% %

p(1,end+1)=horn.radius;
p(2,end) = 0; % z-coord point 1
p(1,end+1) = horn.radius; % x-coord point 1
p(2,end) = -horn.feed_length; % z-coord point 1

%------------------------
CSX = AddRotPoly(CSX,'Conical_Horn',10,0,2,p);

% horn aperture
%A = pi*((horn.radius + sin(horn.angle)*(horn.length))*unit)^2;

A = pi*((horn.radius + sin(horn.angle)*(90))*unit)^2;
------------------------------------------------------------------------------------------
when i excuted the program following error occured.
Cutoff frequencies for this mode and wavguide is: 3.5136 GHz

AppCSXCAD_Path =

C:\Users\maju\Desktop\conical-horn\openEMS_current\openEMS\matlab\..\

invoking AppCSXCAD, exit to continue script...
----------------------------------------------------------------------
| openEMS 32bit -- version v0.0.30
| (C) 2010-2012 Thorsten Liebig <thorsten.liebig@gmx.de> GPL license
----------------------------------------------------------------------
Used external libraries:
CSXCAD -- Version: v0.4.0
hdf5 -- Version: 1.8.9
compiled against: HDF5 library version: 1.8.9
tinyxml -- compiled against: 2.6.2
fparser
boost -- compiled against: 1_51
vtk -- Version: 5.10.0
compiled against: 5.10.0

Create FDTD operator (compressed SSE + multi-threading)

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
----------------------------------------------------------------------

shape made by csxCAD was more or less same as in fig6 in given paper, but not in the exact dimension. Please tell me.
1) what should i have to change in your main code if try to develope same geometry in same dimentions as mentioned in fig 6 in the paper mentioned above linked, where circular horn radius starts from 50mm up to 200mm and horn length up to 1200 mm.


REPLY IS REQUESTED,
REGARDS,
ASIF

thorsten
Posts: 1393
Joined: Mon 27 Jun 2011, 12:26

Re: Design and Analysis of Gassian Profile Conical Horn Ante

Post by thorsten » Tue 08 Oct 2013, 20:41

How many mesh lines were created in every direction? Maybe you just created a too dense mesh and openEMS was just requesting too much memory?
You shouldn't create more than a couple of millions cells...

br
Thorsten

Asifgujjar
Posts: 4
Joined: Wed 18 Sep 2013, 12:19

Re: Design and Analysis of Gassian Profile Conical Horn Ante

Post by Asifgujjar » Wed 09 Oct 2013, 09:08

Answer.

IN CSXCAD window

X-Axis = -200 200 603 lines
Y-Axis= -200 200 603 lines
Z-Axis= -10 400 618 lines

(Q) what should i have to change in your main code if try to develope same geometry in same dimentions as mentioned in fig 6 in the given paper mentioned above linked, where circular horn radius starts from 50mm up to 200mm and horn length up to 1200 mm.

Plz reply my question too.

Regards.
Asif

thorsten
Posts: 1393
Joined: Mon 27 Jun 2011, 12:26

Re: Design and Analysis of Gassian Profile Conical Horn Ante

Post by thorsten » Wed 09 Oct 2013, 09:31

You cannot simulate a mesh with >200 million cells. The memory usage alone would be way to much, especially since you only use the 32bit version of openEMS.
horn length up to 1200 mm.
A length of 1.2m at 20GHz?? That is just insane... and I'm pretty sure that you cannot simulate that... not in a finite time and with a conventional PC...

I don't have the time to read your paper in detail and to tell you how to do it.
If you have a specific question I can help you, but I don't have the capacity to teach you how to use Octave and or openEMS, nor how to setup your antenna for you.
I'm sorry...

My advice, start with something small (literally)... go through the Tutorials, make some modifications, read about the FDTD method and my openEMS-paper.

regards
Thorsten

Post Reply