Coder Social home page Coder Social logo

bgin / radar_electrooptical_simulation Goto Github PK

View Code? Open in Web Editor NEW
45.0 3.0 14.0 50.85 MB

(REOS) Radar and ElectroOptical Simulation Framework written in Fortran.

License: GNU Lesser General Public License v3.0

Fortran 79.92% C++ 0.79% C 18.00% NASL 0.05% Cuda 1.23%
radar simulation avx-512 avx2 avx simd openmp high-performance-computing control-systems modeling vectorization cuda-kernels gpu-acceleration amdgpu fortran90 c99 infrared-sensors radiative-transfer

radar_electrooptical_simulation's Introduction

Guided-Missile-Radar-IR-EOS-Simulation

This project attempts to model and simulate the innerworking of Radar system, Electro-Optical active and passive sources of IR radiation and missile guidance system. The main purpose is to achieve a realisitic system modeling and simulation as much as possible, hence the main sources of knowledge are russian-language (soviet-era) engineering and technical literature reaching design level (candidate of science and experienced system engineers and designers). The second firm foundation which this project stand upon is being wholly optimized at basic level of massive manual vectorization by relying of Fortran array syntax, better known as a packed array of small structures easily replicating SIMD registers of the CPU. This kind of approach allows mimicking of SIMD (C) intrinsics and leverages compiler autovectorization of the computational kernels. The helper code execution path rely on libSIMD which collects various manually vectorized algorithms written in C and may provide a collection of helper routines for some tasks, albeit at the cost of losing the possibility of function body inlining.

Compiler-level autovectorization is of secondary importance and is being inserted mainly to vectorize descriptive statistics routines and profiling metrics calculations. The second code path beside the packed arrays of structures aka PAOS is the GPGPU Cuda implementation counting so far close to 15000 lines of code of computational and helper routines and kernels. The main programming language of this project is Fortran 90 helped by C language implementation.

I envision five main components:

  1. Radar system modeling and simulation.
  2. Radio altimeter modeling and simulation.
  3. Propagation of laser and IR radiation through the turbulent atmospheric channels.
  4. Optical signals processing (background noise extraction).
  5. Electro-optical sensor modeling and simulation.

The main structure of the projects is a collection of free standing 'modules' programmatically describing various modelled components. It is a software library of framework and may be used as computational backend of larger program of be connected to GUI front-end. Currently only hundreds (circa 400) kernels belonging to AVX512 double and single precision executing path were implemented. All of these kernels compute analytical Radar Cross Section of simple and to lesser extent complex objects

List of references (incomplete):

  1. Detection, Estimation, and Modulation Theory Part III: Radar-Sonar Signal Processing and Gaussian Signals in Noise Harry L. van Trees ISBN-10: 047110793X ISBN-13: 978-0471107934

  2. Detection Estimation and Modulation Theory, Part I: Detection, Estimation, and Filtering Theory Harry L. van Trees ISBN-10: 9780470542965 ISBN-13: 978-0470542965 ASIN: 0470542969

  3. Automatic Control of Aircraft and Missiles John H. Blakelock ASIN: B01FJ0JOU2

  4. Principles of High-Resolution Radar (Artech House Radar Library), August W. Rihaczek ISBN-10: 089006900X ISBN-13: 978-0890069004

  5. Леонов А.И. - Моделирование в радиолокации (1979, Сов. радио )

  6. Кремер И.Я. - Модулирующие помехи и прием радиосигналов (1972)

  7. Abramowitz M., Stegun I.A. (eds.) - Handbook of mathematical functions (1972, NBS)

  8. Шифрин Я.С. - Вопросы статистической теории антенн

  9. Горяинов В.Т., Журавлев А.Г., Тихонов В.И - Статистическая радиотехника. Примеры и задачи (1980, Советское радио)

  10. George T. Ruck, Donald E. Barrick , William D. Stuart , - Radar Cross Section Handbook (1970, Kluwer Academic Plenum Publishers)

  11. Тихонов В. И. Статистическая радиотехника. «Сов. радио», 1966

  12. Вайнштейн Л. А., Зубаков В. Д. Выделение сигналов на фоне случайных помех. «Сов. радио», 1960.

  13. Зубковнч С. Г. Статистические характеристики радиосигналов, отраженных от земной поверхности. «Сов. радио», 1968

  14. Шестов Н.С. - Выделение оптических сигналов на фоне случайных помех (1967, Москва Изд. Советское радио)

radar_electrooptical_simulation's People

Contributors

bgin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

radar_electrooptical_simulation's Issues

About quickstart

Hi Bernard,

Thank you for your contributions to missile simulation. Honestly speaking, I've never seen anyone else in github who has more contributions than you do.

I'm doing research about dogfight between planes. I want to adopt your GMS as missile model. I wonder if there is a quickstart file so that I can get to know how this architecture works? Thank you.

Best wishes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.