Showing posts with label simulation. Show all posts
Showing posts with label simulation. Show all posts

Sunday, April 1, 2012

Locating scattering centers with FDTD

We are so stuck up with visible light and ray tracing where the path of a photon is a straight line that our minds reel at the thought of full-wave simulations and wave based solutions to Maxwell's equations. After all Maxwell believed in the luminiferous aether is required for the waves to propagate.

I have written before on how useful FDTD based methods are for getting an intuitive understanding of electromagnetic propagation, especially through optically complex objects such as forests. For the last few months as part of my PhD work I have been developing simple scheme based representations of vegetation structures in 2-dimensions to solve the wave propagation problem using FDTD. During my research I came across a trilogy popular science books, Branches, Shapes and Flow, describing how simple physical processes lead to the formation of all the complex natural shapes we see.

In a stationery wave field set-up in an FDTD simulation scattering centers appear as point sources similar to the radiation source. To locate these scattering centers accurately without visualising the time-slices, one can apply the Huygens-Fresnel principle. Simply use some image processing tricks  e.g. Generalised Hough, grab some time slices and locate centres of the circular field intensity patterns. To complete the analysis chain up the HDF output from MEEP to OpenCV Hough and you have instant location of scattering centers for fairly complicated scattering problems. The plant material is composed of microwave water, i.e. water with conductivity, permeability and permittivity it shows at microwave frequencies. If water had higher conductivity, we could have used MoM to model forests.

This analysis generates interesting questions about life and what we consider organic shapes vs inorganic(read crystalline) shapes. Under detailed analysis at the right wavelength (DNA capitulated to X-ray crystallography), organic shapes turn out to be formed out of crystalline shapes at multiple scales. What we consider inorganic is just the same material as organic, except it has not gone through sufficient iterations in the fractal generation process. The human mind is predisposed to seeing patterns amid chaos - The Grand Design, and an engineer loves to take the hood off and work out the forces at play which create the finished product. Only then can we assess the strengths and flaws of what we have at hand, and guide the forces to create new products following our own grand design. A lot of cosmetic products use crystalline structures to overlay the naturally evolved organic structures, this fools our heuristics of age determination. Beauty is heuristics anyway, harm will only come if the manipulation of heuristics pauses the continuity of the species.

Wednesday, November 10, 2010

More Lollypop forests - in HFSS

HFSS Leafless Tree
Heath from our lab gave me a primer in Ansoft HFSS and since then I have been muddling along to try and represent a forest for SAR imaging. I managed to get some of my ngPlant created models into it via STL from Blender, but beyond that HFSS was totally non-cooperative. The model refused to be healed to close any of the perceived holes etc. So my only option was ot make some Lollypop trees like before using the supplied primitives, in 3D this time. Fortunately HFSS allows quick duplication, scaling etc. of a single primitive and links them with transform nodes. In the future this will allow more stochastic forest generation rather than a cookie cutter one.
hfss lollypop trees

FEM kicks in beyond this point and calculates the scattered far fields with plane wave excitation. As expected due to the perfectly conducting ground plane most of the energy radiates away, but there is still some significant return towards the illuminating direction.The nice change from FEKO is that the fields are calculated in all directions, not just the illuminating direction. So this setup can be used to bistatic imaging scenarios as well.
ngPlant palm

Thursday, October 14, 2010

"Lollypop Forest" in Meep

I finally made some semi-realistic, well only very grossly, forests in MEEP. With dielectric cylinders as tree trunks topped by dielectric spheres as canopy. Then I bunched a few of them together to make a forest of 5 trees. I could have made much more complex structures but my knowledge of MEEP primitives and how to generate more of them automatically in Scheme is lacking. The attempts at replicating results with python-meep haven't gone so well, so I have to stick with Scheme-MEEP for now. Anyway even with the simplistic forest the wave propagation quickly becomes rather complex and difficult to handle analytically without gross assumptions. Yay for numerical methods.

Lollypop Forest Start
Other small discoveries this week include the pagesel package in Latex for sending each chapter off to review, of course after you have done the whole document and you know where the pages go and apparently very dated model selection procedures in R. Even though it is dated it gave me a model with decent regression statistics - now to send off that chapter heavy with regressions for review.
Lollypop Forest End

Monday, September 6, 2010

Waving around in MEEP - Scheme and Python

crops_2d
I finally get to learn some proper functional programming with MEEP and its Scheme based interface. MEEP is an FDTD - Finite Difference Time domain based simulator for electromagnetic waves, something I am trying to shoehorn into vegetation simulation. There is thankfully prebuilt cylinder primitives I can use to generate stems. So far I have managed put them in the Z and X axis and not in the Y axis which is of interest to me. The ring demo runs fine with some modifications and produces some nice and weird looking waves. Scheme is pretty easy to get around as a scripting interface, in spite of some polish math notation ( + (+ (+ (air water) earth ) fire ) = hooray !!)


I also got the Python bindings up and running. Time to see if my Python generated plant geometries and soil surfaces can be plugged straight into a 2D MEEP run. MEEP supports cylinder, ellipse, cone and block primitives. Making plants will be fairly easy, may be I can make the soil surface with dielectric blocks of random size.

Friday, June 18, 2010

Chicken and Egg - SAR Data and Field work Data

In SAR Remote Sensing you often end up with rather chicken and egg scenarios. There is the empirical application oriented school which focuses on producing parameters like biomass and soil moisture from SAR backscatter, the other school is the electromagnetic simulation school which focuses on producing estimates of SAR backscatter from parameters gathered from fieldwork. My PhD aims to reconcile these 2 schools for dual-polarimetric SAR systems in L and X band. For all practical purposes this has become ALOS-PALSAR and TerraSAR-X data analysis. Though there is some chance of using the ProSensing PLIS system in L-band.

Forest study for biomass estimation and Soil moisture at L-band is well established due to the ERS sensors - Preliminary analysis of ERS-1 SAR for forest ecosystem studies. The same applies to C-band thanks to ENVISAT, RadarSAT etc. The use of X-band for these scenarios is relatively new and I am hoping to break new ground.

The PLIS system is currently producing bright curves from corner reflectors that everybody seems to be very excited about. Other things I am not excited about is the $1000 phone bill from few hours of internet browsing in Singapore. It looks ridiculous, 2 minutes costs some $100. I could have so easily used the freewifi from - wireless@SG. Also feasible is getting a cheap local sim, things to remember before I plug my modem in.

Sunday, June 6, 2010

Getting trees into Feko - just simple ones

The Feko Lite edition has a triangle limit of 300. This makes it impossible to simulate big structures like trees at X-band. I can probably just scrape by some wheat leaves. The approach so far has been to produce a few level of branching with ngPlant and saving this to lightwave obj. NgPlant is an opensource specialized tool for plant modelling using parameters such as declination, phototropism, order of symmetry etc.


I made a very very small spiky tree to test integration with Feko Lite. The obj model was converted to STL mesh with Blender. Using blender with ngPlant also allows creating optical renders of the scenes being simulated.


Feko handles the simple model well enough. I did some plane wave simulation to estimate RCS. Then I can look into SAR image synthesis.

Sunday, May 30, 2010

Messing and Meshing with FEKO

I have finally gotten around to doing some preliminary electromagnetic simulations to estimate the expected backscatter from a crop field. After looking at the PolsarPRO simulator code and being told by the author it would be pretty hard to adapt to X-band I looked at other options for producing electromagnetic simulations of crops.

One of the options is HFSS which uses finite element model based EM simulation. It can produce RCS of extended targets but will require modifications for SAR simulation. There has also been some work done using FEKO. I have already done some 2D plant model building using Python. Now it is time to send them into Blender and make something optically pretty.

There is ngPlant to draw inspiration from. Where as a lot of work has been done on image formation with standard light , I have to break new ground in easy simulated image formation with SAR.

So far I have loaded a cylinder created in blender and exported to STL as a mesh into FEKO LITE, which has severe limitations on simulation size. Just as a test case the cylinder seems to have a much greater RCS in vertical compared to horizontal.