Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Signal processing algorithms for antenna arrays

Project description


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. and 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:


Personal website:

Tamás Pető 2016-2019, Hungary

Project details

Download files

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

Files for pyargus, version 1.0.post3
Filename, size File type Python version Upload date Hashes
Filename, size pyargus-1.0.post3-py3-none-any.whl (34.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pyargus-1.0.post3.tar.gz (18.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page