Skip to main content

Signal processing algorithms for antenna arrays

Project description

pyArgus

This python package aims to implement signal processing algorithms applicable in antenna arrays. The implementation mainly focuses on the beamforming and direction finding algorithms. For array synthesis and radiation pattern optimization please check the "arraytool" python package. https://github.com/zinka/arraytool and https://zinka.wordpress.com/ by S. R. Zinka

Named after Argus the giant from the greek mitology who had hundreds of eyes.

Package organization:

  • pyArgus: Main package
    • antennaArrayPattern: Implements the radiation pattern calculation of antenna arrays
    • beamform: Implements beamformer algorithms.
    • directionEstimation: Implements DOA estimation algorithms and method for estimating the spatial correlation matrix.
  • test: Sub package contains demonstration functions for antenna pattern plot, beamforming and direction of arrival estimation.

Implemented Algorithms

  • Beamforiming:

    • Fixed beamformers:
      • Maximum Signal to Interference Ratio beamformer
      • Maximum Signal to Interference Ratio beamformer with Godara's method
    • Adaptive beamformer:
      • Optimum Wiener beamformer (with known signal of interest direction)
      • MSINR with known covariance matrices
      • MMSE with known signal of interest
  • Direction of Arrival Estimation:

    • DOA algorithms:

      • Bartlett (Fourier) method
      • Capon's method
      • Burg's Maximum Entropy Method (MEM)
      • Multiple Signal Classification (MUSIC)
      • Multi Dimension MUSIC (MD-MUSIC)
    • Util functions:

      • Spatial correlation matrix estimation using the sample average technique
      • Forward-backward averaging
      • Spatial smoothing
      • DOA results plot with highlighting the ambiguous regions (Only for Uniform linear arrays)

Antenna Array Pattern Plot Features

  • Arbitrary configured planar antenna systems
  • Takes into account the pattern of the signal radiating elements

The documentation of the package is written in Jupyter notebook, which can be found on the following sites:

Github: github.com/petotamas/pyArgus

Personal website: tamaspeto.com

Tamás Pető 2016-2021, Hungary

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyargus-1.1.post1.tar.gz (20.5 kB view hashes)

Uploaded Source

Built Distribution

pyargus-1.1.post1-py3-none-any.whl (23.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page