Help with a simulation!

How to use openEMS. Discussion on examples, tutorials etc

Moderator: thorsten

rafaelgcpp
Posts: 13
Joined: Thu 21 Feb 2013, 20:43

Help with a simulation!

Post by rafaelgcpp » Thu 21 Feb 2013, 21:01

Hi!

I need some advice on how to do a radar simulation:

1) An antenna emits a chirp (http://en.wikipedia.org/wiki/Chirp). This antenna is to be considered far-field
2) The pulse is scattered by two targets inside a Total Field/Scattered Field box.
3) The scattered field is to be measured in the antenna position.

For items 1) and 2), I am using the Sphere RCS example, and still have to figure out how to use SetCustomExcite (still using the Gaussian pulse), but so far so good.

My questions are:

a) How to add the delay component, given the distance and bearing of the source? Is it just t=d/c0?
b) How can I get the temporal response of the scattered field at the antenna? I mean, how can I get the time signal a radar antenna would receive?

Any help will be appreciated!

PS: I forgot to ask if it is possible to add multiple plane wave excitations with different functions. Is it?

Best Regards,

Rafael

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

Re: Help with a simulation!

Post by thorsten » Thu 21 Feb 2013, 21:40

Sounds like a challenging task.

Maybe a very general advise can help you and may answer most questions at once.

Make use of the linearity of Maxwell's equations.
That means, don't do multiple (delayed) plane waves in one simulation (yes it is possible or at least it should, never tested it though ;)). Do one simulation for each wave/direction etc, read all this data into Matlab and do the field super-positioning in Matlab only.
Furthermore I wouldn't do the chirp in openEMS as it may end in a very very long simulation. Again do just a Gaussian pulse covering your range of frequencies and consider it the basis functions. You can always do the "what would be the time response for a given excitation" purely in Matlab. Of course that requires some skills in signal processing, e.g. convolutions etc...

But this way you should be extremely flexible once you have all the basic signal responses etc...

Did that help?

regards
Thorsten

rafaelgcpp
Posts: 13
Joined: Thu 21 Feb 2013, 20:43

Re: Help with a simulation!

Post by rafaelgcpp » Sun 24 Feb 2013, 22:37

Make use of the linearity of Maxwell's equations.
Hmmm... I didn't think of that, but, yes, it makes sense!
Furthermore I wouldn't do the chirp in openEMS as it may end in a very very long simulation. Again do just a Gaussian pulse covering your range of frequencies and consider it the basis functions. You can always do the "what would be the time response for a given excitation" purely in Matlab. Of course that requires some skills in signal processing, e.g. convolutions etc...
Actually, since the chirp is really narrowband, I can replace it by a sinusoidal wave.
Did that help?
A lot!!

Thanks!

rafaelgcpp
Posts: 13
Joined: Thu 21 Feb 2013, 20:43

Re: Help with a simulation!

Post by rafaelgcpp » Thu 28 Feb 2013, 23:47

Hi,

Is there a way to add an point (isotropic) source?

Regards,

Rafael

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

Re: Help with a simulation!

Post by thorsten » Fri 01 Mar 2013, 09:14

I'm not sure what you mean,
but you can only excite electric or magnetic fields which are located at the edges of a cell... have a look at the Yee-scheme...

If you e.g. only want to excite one E-field in x-direction, make sure your box is surrounding the center of the edge of a cell...

regards
Thorsten

rafaelgcpp
Posts: 13
Joined: Thu 21 Feb 2013, 20:43

Re: Help with a simulation!

Post by rafaelgcpp » Fri 01 Mar 2013, 19:57

Thorsten,

I added a small box with a gausian excitation to the center of my mesh, and two dump planes. I was expecting to see an sphere, propagating away from the source, but what I saw was a somewhat directed pulse. In the dump planes, the pulse shows itself more like a torus.


For my radar, I need to create an array of isotropic point-like sources. The problem is that the source is behaving like a dipole antenna, and its propagation is not isotropic.

In Meep, if I add a source with zero volume, it is a isotropic source, and I was trying to reproduce this behavior in OpenEMS. Is it possible?

sebastian
Posts: 114
Joined: Mon 27 Jun 2011, 12:36
Contact:

Re: Help with a simulation!

Post by sebastian » Fri 01 Mar 2013, 20:14

Hi rafaelgcpp,

openEMS solves Maxwell's equations and those do not support isotropic sources. If you excite one field component it will resemble a Hertzian/infinitesimal dipole (approx).

Sebastian

rafaelgcpp
Posts: 13
Joined: Thu 21 Feb 2013, 20:43

Re: Help with a simulation!

Post by rafaelgcpp » Thu 20 Jun 2013, 21:32

Hi folks,

Thanks for your help! I was able to simulate what I needed.

I am attaching my source code for your appreciation and comments.

What it does:

1) It creates a "target" ( a number 4 and a number 1)
2) It creates an array of 49 (7x7) probes in a rectangular array
3) In a loop, it places a source near one of the array probes and start the simulation.

It takes a while to do the 49 simulations. I also have to stop and restart every once in a while, since memory consumption goes up at each simulation. Breaking and restarting seems to fix the problem.

What I would like to improve:

1) It takes forever on "Creating FDTD operator"... Then it is 5 more minutes to finish. Is there a way to improve it?
2) The source appear as a load, acting like a capacitor. Could it be disconected after a while?
3) The "memory leak" is a pain. First iteration takes 5 minutes and 2GB. Tenth, can take 20 minutes and 8GB...

Thanks again for your help!
Attachments
RunMono.m
(4.39 KiB) Downloaded 523 times

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

Re: Help with a simulation!

Post by thorsten » Thu 20 Jun 2013, 22:05

Hi,
3) The "memory leak" is a pain. First iteration takes 5 minutes and 2GB. Tenth, can take 20 minutes and 8GB...
I can only say, that openEMS should not be the reason for the leak, since for every simulation a new instance is called. Is the tenth openEMS run using 8GB memory? Or is it Matlab?
Because Matlab is known to be one big and nasty memory leak... Maybe you try Octave? ;)

I really don't understand what you are doing/trying... but
1) It takes forever on "Creating FDTD operator"... Then it is 5 more minutes to finish. Is there a way to improve it?
you use >13 millions FDTD cells... that just takes time...
2) The source appear as a load, acting like a capacitor. Could it be disconected after a while?
I'm not sure I know what you mean, but maybe you try a "hard excitation", aka metal+excitation?

regards
Thorsten

rafaelgcpp
Posts: 13
Joined: Thu 21 Feb 2013, 20:43

Re: Help with a simulation!

Post by rafaelgcpp » Thu 20 Jun 2013, 22:53

Hi thorsten
3) The "memory leak" is a pain. First iteration takes 5 minutes and 2GB. Tenth, can take 20 minutes and 8GB...
I can only say, that openEMS should not be the reason for the leak, since for every simulation a new instance is called. Is the tenth openEMS run using 8GB memory? Or is it Matlab?
Because Matlab is known to be one big and nasty memory leak... Maybe you try Octave?
It is the OpenEMS process that keeps growing. It is really weird, but I think it might have something to do with the way Matlab spawns a process. I'll try with Octave later...
I really don't understand what you are doing/trying... but
1) It takes forever on "Creating FDTD operator"... Then it is 5 more minutes to finish. Is there a way to improve it?

you use >13 millions FDTD cells... that just takes time...
I figured it could not... BTW, this simulates a SAR (Synthetic Aperture Radar), in a monostatic way. After all pulses are sent and received, I use a phase-shift filter to create a beam, steered in a specific direction. Scanning this beam (by changing the steering), I am able to reproduce the target. Basically an EM tomography.
2) The source appear as a load, acting like a capacitor. Could it be disconected after a while?

I'm not sure I know what you mean, but maybe you try a "hard excitation", aka metal+excitation?
It cannot be a hard excitation, as I need to be able to read the scattered fields. The loading I see looks like a discharging capacitor (an decrescent exponential with a loooong time constant) added to the scattered field read by the probe. Since it is so low-frequency, I am able to filter it out, but it is kind of a pain.

Thanks for the help

Rafael

Post Reply