5.0

5.0 | 8 ratings Rate this file 190 Downloads (last 30 days) File Size: 1.1 MB File ID: #22942
image thumbnail

Phased Array Design Toolbox v2.4

by Neill Tucker

 

10 Feb 2009 (Updated 02 Jul 2011)

A toolbox allowing rapid definition and evaluation of 2D and 3D phased array antennas.

| Watch this File

File Information
Description

This is the abstract from my paper, included as documentation, in the zip file.

Paper Titled : Phased Array Design Toolbox for MATLAB Theory of Operation

ABSTRACT
In recent years the advances in computer technology has led to increasing use of numerical techniques in the design and development of antennas and related technology. Of particular prevalence are full wave microwave solvers, used to obtain the current densities on and thereby radiated fields for arbitrary structures. However, despite the increases in computer power, array antennas can be electrically very large and therefore still represent a significant analysis problem. As the number of elements in the antenna array increases, its radiated characteristics tend to be dominated by the geometric layout and excitation of the component elements, rather than the elements themselves.
Using simple mathematical models for the element radiation patterns, combined geometrically in the far field, the performance of large arrays can be calculated with reasonable accuracy for significantly less computational effort. A Matlab toolbox has been developed to enable rapid definition and analysis of 2D and 3D antenna arrays, comprising array elements such as dipole, microstrip patch, helix or any user defined element pattern function. This paper documents the theory used in the toolbox.

Acknowledgements
This submission has inspired the following:
3D spherical equation plot
MATLAB release MATLAB 5.2 (R10)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (38)
11 Feb 2009 Diego Orlando  
31 May 2009 Tomas

HELP, I really dont know, how to start?

01 Jun 2009 Neill Tucker

Dear Tomas,
What is it you are you are trying to do with the Toolbox?
I may be able to help.
Kind Regards,

Neill
P.S. I have put a document 'Introduction to Phased Array Design'
on my website, this may be of interest see link below
http://www.activefrance.com/Antennas/page23.html

04 Jun 2009 Rebecca Asher  
04 Jun 2009 Mike

Seems pretty cool. Cool website too.

09 Jun 2009 Shoaib Amin

Dear Neill
I am not able to work with the tool box kindly help me out

Regards
Shoaib

09 Jun 2009 Neill Tucker

Dear Shoaib,

No problem, could you be a bit more specific as to the problem?
If it requires a lot of explaining it might be easier via e-mail

Kind regards,

Neill

10 Jun 2009 Shoaib Amin

Dear Neill

when i run any example like Ex1 im getting the following error
??? Undefined function or method 'design_patchr' for input arguments of type 'double'.

Error in ==> Ex1 at 21
patchr_config=design_patchr(3.43,1.6e-3,freq_config);

in every example and for validation it gives the same error unidentified function or method of input arguments... though i m trying my level best but can't solve thing problem

regards
shoaib

11 Jun 2009 Neill Tucker

Dear Shoaib,

My first question would be to other users : Has anyone else found this problem and the solution to it?

 I'm assuming it is not a common problem or the comments list would probably be longer. The only things I can think of are :

Are the MATLAB paths set to all the relevant ArrayCalc sub-directories? Listed in readme.txt in the download.

If you type "help design_patchr" for example does the relevant help file come up? i.e. can MATLAB find the functions.

If these are OK, what version of MATLAB are you running and on what platform?

Sorry not to be of more help at the moment.

Kind Regards,

Neill

12 Jun 2009 Shoaib Amin

Dear Neill

thank for ur help , i think i haven;t set all the path to the directory n thank for the help if i faced a problem i'll contact u again

Regards
Shoaib

01 Aug 2009 Dan Kong

Hi everybody! Does anybody know why I can't add this Toolbox to the Toolboxes in my Matlab? I'm using 2007b version and I'm not sure if i'm doing it properly.

02 Aug 2009 Dan Kong

I spent three days setting up this toolbox. You should really specify how to install it for the people who do not know how to use matlab.
 
Brief explanation for antenna experts without practice of matlab: After setting a path (File->Set Path), click on Add with Subfolders (not just 'Add Folder'!!!) and then you can play with all examples

03 Aug 2009 Neill Tucker

Dear Dan,

Sorry to hear that you have had problems installing the toolbox. The problem as an author is that the exact method of adding paths does appear to vary between Matlab versions.

Thank you for the explanation on the method for 2007b, on my 5.2 version it is necessary to add each folder individually.

Kind Regards,

Neill

26 Aug 2009 Bill

Outstanding resource! Very simple to use if documentation is read completely beforehand.

23 Sep 2009 Sanjay

Does this toolbox work with matlab version 7

09 Feb 2010 spandana spandana

Can you please help me with the design of phased array antenna characteristics?

09 Feb 2010 spandana spandana

Dear Neill,
 I am not able to understand as to how to go with the Matlab toolbox.I need to design the radiation pattern and other characteristics of microstrip rectangular patch antenna using matlab coding. please help me out in this regard.
regards
Spandana

10 Feb 2010 Neill Tucker

Dear Spandana,

If the toolbox has installed successfully you should be able to run the examples (type 'exlist' to list them all). The example ex1 is for a single rectangular microstrip patch. The example produces a nominal patch design for a given frequency and substrate definition and then calculates/plots directivity and patterns. A complete description of the mathematical model used can be found in the ArrayCalc10d.pdf document under 'Element Mathematical Models'. I hope this helps, but if not, do drop me an e-mail and I'll do my best to get you up and running.

Kind Regards,

Neill

11 Nov 2010 Neill Tucker

Hi there,

Just a quick note for anyone planning to build a Phase Array, but on a tight budget. I have put a design for a "Very Low Cost Electro-mechanical Phase Shifter" on the activefrance.com website. It has been tested up to 3Ghz and uses an R/C servo driven directly from a PC's parallel port. The full report and PC software is available for download. Happy constructing.

Neill

19 Nov 2010 Neill Tucker

Hi all,

Anyone using the ModTaylor.m function.

The function is returning dB volts not dB power as advertised, the last line of the function should read : dB_POWER=20.*log10(Lin_Volts) not dB_POWER=10.*log10(Lin_Volts);

The dB returned value is only for information (ref exdist.m) and doesn't affect the pattern calculations. It will be corrected in the next update. Thanks to Piro for spotting this typo error.

Also, if you are running later versions of Matlab and are getting lots of warnings, try the 'warning off' command to reduce screen clutter.

Neill

10 Jan 2011 hai

This looks a good start.

1. Any plan to add the calculation of the mutual coupling within the array? Even a simplified calculation can help

2. Is there a way to calculate the dipole array on a finite reflector instead of the infinite ground?

3. Possibility to output the array model to any full-wave analysis software, like HFSS, CST MWStudio?

12 Jan 2011 Neill Tucker

Hi there,

All good questions and some have already crossed my mind.

1. Mutual coupling could be added in a very simplified form by suitably modifying the element excitations. Basically take the 'desired excitation' for each element then add vectorially, an attenuated and phase delayed copy of the excitation to each of its surrounding neighbours. The coupling factor between local elements could be obtained from, a full wave solver, measured, or from empirical data.
 
I may try to implement some sort of coupling calculation as a specific example but probably not as universal functionality. For some geometrys there may be some benefit, for others it could be rather misleading.

2. The only way I can think of is to use additional low power array elements located at the ground plane edge to represent the diffracted radiation. Deciding exactly what amplitude and phase they should be is a bit more difficult. Have a look at the 'Introduction to Phased Array Design' section on my website, there is a 4NEC2 model of a 6x1 element array on a finite groundplane. Running the 'Array 6-ele a.nec' in the Intro Files download you can see edge currents on the groundplane (phase and amplitude).

3. It would certainly be nice to be able to generate script files for HFSS and the like. Unfortunately, full-wave solvers like HFSS need a fair bit more information than is inherent in the ArrayCalc array description. I think there is certainly scope for an automated script generator for full-wave solvers, and ArrayCalc could be a 'start'. My feeling is that it would be better to develop a separate toolbox dedicated to the task. The various array-configuration variables could easily be shared since they are already defined as global.

Overall I feel that ArrayCalc does what it does quite well. The risk of trying to extend it into full-wave solver territory is that you end up caught somewhere between the two, adding lots of complexity for possibly limited benefit.

That said, there is definitely a gap to be filled, you may just have found yourself a project :)

Neill

15 Apr 2011 Neill Tucker

I found a typo in the plot_geopat3D1 function.

Line 229 is :
set(14,'name',chartname)

Should be : set(fignum,'name',chartname)

Sorry about that,

Neill

06 May 2011 Binkai

Hi all,

I am a starter for Phased array calculation, having this toolbox is much convenient and useful for my study.

Recently, I want to import a NEC output pattern for the calculation and I tried the example named 'Ex3b.m' in the 'Examples' folder. And I found it will raise a error while executing the statements as:

place_element(1,0,0,0,0,0,0,'interp',0,0); yrot_array(35,1,1); calc_directivity(10,10);

Then error message from Matlab commander as follows:
Calculating Directivity : d(Th)=10.00 d(Phi)=10.00
| |
...??? Error using ==> interp at 37
Input parameters are out of range.

Error in ==> SUMCODE at 33
   case 11,[EleAmp,CPflag]=interp(thloc,philoc);

Error in ==> fieldsum at 100
  [EleAmp,CPflag]=sumcode(eltype,thloc,philoc); % Sumcode calls the relevant
  element model 'eltype'

Error in ==> calc_directivity at 67
  Emultiple=fieldsum(range_config,theta,phi); % E(theta,phi)

Error in ==> Test_Ex3b at 1339
calc_directivity(10,10); % Calc directivity using 10deg
theta and phi steps

------------------------------------

If I changed 'interp' to 'user1' or 'patchr' something in function 'place element', the program running successfully without errors.
Therefore, I doubted that there are some mistakes using "interp" function when calculating the directivity. My matlab version is Matlab r2009a (V7.8). Could you comment it and give me some advices about how to solve the problem?

Thank you so much for your kindest attention and help.

Regards,
Binkai

10 May 2011 Neill Tucker

Hello Binkai,

I just found your question.
Is the problem with the original Ex3b file or is it modified in any way?

Is it possible to e-mail me the file that you are trying to run and i will have a look on my machine?

Kind regards,

Neill

active.france@wanadoo.fr

18 May 2011 Farah

Hi,

Thank you for this great toolbox Neill.

I am trying to model the phased array using some of sub arrays. I tried to us the Ex3b file as an example and i also face the same problem as the user above (Binkai). Could you help explain what should be done in order to rectify the situation above?

Best,
Farah

19 May 2011 Neill Tucker

Thank you Binkai and Farah for your kind comments.

After some non-forum correspondence it looks like the problem maybe due to a duplication of the interp.m function.

The interp.m function exists in the Mathworks Signal Processing Toolbox, included as standard on later versions of Matlab.

This problem should be corrected by re-naming ArrayCalc's interp.m function as interp1.m (element_models directory). Also by changing the reference to interp in SUMCODE.m LINE 33 to interp1 (element_indexing directory).

If this proves to be the solution I will upload the modifications.

Neill

20 May 2011 Neill Tucker

Ooops, interp1.m is already used in Matlab's polyfun m-files. For interp1.m read interpL.m in the last comment.

Neill

04 Jul 2011 Sam Hamie

hello
I'm trying to run the rect-array file and I'm unable to! I set the path of the folder and I'm getting the following error :
"Error in ==> rect_array at 67 if array_config(1,1,1)==-1 % If there are no existing elements"

I'm not sure how to solve this problem! I tried to run this and I got another problem!

Please advice,
Thanks
Sam

05 Jul 2011 Neill Tucker

Dear Sam,

It looks like you might have run the rect_array.m file without running init.m first. Rect_array.m fills the array_config matrix and this is initialised in init.m. Check out the example ex2a for a typical application.

Hope this helps,

Neill

23 Aug 2011 Neill Tucker

For anyone interested in comparisons with practical measurements, this page maybe of interest.
http://www.activefrance.com/Antennas/page27.html

Neill

25 Aug 2011 Chandrakumar

dear neil, am a student from the university of mauritius am am doing a project on EMF safety . my project consist of simulatinf a base station putting all the building around the base station and applying ray tracing method to calculate where the field could be higher than the level allowed by standard..i dont know how to start,can you please help me about how to proceed to input the environment, the antenna characteristic and how to apply ray tracing method in matlab..
i shall be highly obliged to you if you can help me.. thank you

25 Aug 2011 Neill Tucker

Dear Chandra,

I'll e-mail you directly as the answer might be a little long for this forum.

Kind regards,

Neill

27 Aug 2011 Chandrakumar

thank you very much neil, i shall be emailing you if am stuck. thanks again

best regards,
chandra

27 Aug 2011 Chandrakumar  
02 Feb 2012 Changshun Deng

A nice array design tool, but it is a little hard to use.

14 Mar 2012 Paul

Hello,

Although I have been using arrays for a long time, I have not had to design one until now. However, I want to design an acoustic array, not one for radio, and I need to look at the receiver pattern, not the transmission pattern. What do I need to change in order to do this?
Thanks!

31 Mar 2012 Neill Tucker

Hi Paul,

Sorry I haven't got back to you sooner, I've e-mailed you directly to clarify exactly what type of acoustic array. Drop me an e-mail if you are still needing the information, I do have some acoustic array examples.

Kind regards,

Neill

Please login to add a comment or rating.
Updates
08 Mar 2009

Some minor corrections, mainly typos in comment/help files.

11 Jun 2009

Circular Polarization analysis added.
Aperture Element models added.
See changelog.txt for details.

Version1.1 is still available at activefrance.com

17 Jun 2009

General tidying and corrections of help files and comments, rather a lot actually, so apologies for that.

Element excitation error analysis added, see changelog.txt

24 Jun 2009

3D Pattern routines re-written, functionally the same but hopefully easier to follow and a bit more robust.see changelog.txt for details.

More examples added illustrating different applications and limits of operation.

27 Jun 2009

Very minor, place_element.m was reporting angle rather than position in the text commentary to screen (Placing element number... etc). No effect on calculations.

11 Jul 2009

Help and comments added to and minor corrections made.
Examples moved to separate directory.
Fourier beam synthesis added, with examples - see changelog.txt

12 Jul 2009

Comments and help added to and tidied up.
Examples moved to separate directory.
Fourier beam synthesis added together with examples, see changelog.txt for details.

25 Aug 2009

Couple of typo's in help files corrected.

19 Dec 2010

Some new functions added to combine 3D array geometry and 3D patterns on the same plot.
A full user guide is now included.
See changelog.txt for details.

02 Jul 2011

A couple of minor changes to the interp_geom.m file. Some sub-array and reflector modelling examples added

Tag Activity for this File
Tag Applied By Date/Time
2d Cristina McIntire 10 Feb 2009 14:59:50
3d Cristina McIntire 10 Feb 2009 14:59:50
antennas Neill Tucker 11 Feb 2009 08:47:23
phased array Neill Tucker 11 Feb 2009 08:47:24
simulation Neill Tucker 11 Feb 2009 08:47:24
2d Paul Pacheco 20 Jul 2009 08:34:04
3d Paul Pacheco 20 Jul 2009 08:34:06
antennas Paul Pacheco 20 Jul 2009 08:34:07
phased array Paul Pacheco 20 Jul 2009 08:34:08
simulation Paul Pacheco 20 Jul 2009 08:34:12
phased array srinath NA 27 Apr 2011 08:39:50
2d Maroc Amir 05 May 2011 16:07:56
2d zhou 22 May 2011 01:33:36
simulation zhou 22 May 2011 01:33:40
2d mario 21 Jul 2011 21:11:30
phased array Leonard Cope 31 Oct 2011 10:57:28
phased array Ashok kumar Pusuluri 26 Mar 2012 20:14:13
2d Alexey 14 May 2012 07:00:35

Contact us at files@mathworks.com