Skip to content

Releases: mhostetter/sdr

sdr v0.0.24

06 Sep 01:05
Compare
Choose a tag to compare

Released September 5, 2024

Changes

  • Added support for NumPy 2.1.

Contributors

sdr v0.0.23

28 Jul 23:13
Compare
Choose a tag to compare

Released July 28, 2024

Changes

  • Added calculation of filter noise bandwidth in sdr.FIR.noise_bandwidth() and sdr.IIR.noise_bandwidth().
  • Added calculation of threshold level above the noise power in sdr.threshold_factor().
  • Added numerical calculation of the PDF of the sum and product of random variables in sdr.sum_distribution(),
    sdr.sum_distributions(), and sdr.multiply_distributions().
  • Renamed sdr.design_frac_delay_fir() to sdr.fractional_delay_fir().
  • Renamed sdr.design_lowpass_fir() to sdr.lowpass_fir().
  • Renamed sdr.design_highpass_fir() to sdr.highpass_fir().
  • Renamed sdr.design_bandpass_fir() to sdr.bandpass_fir().
  • Renamed sdr.design_bandstop_fir() to sdr.bandstop_fir().
  • Renamed sdr.design_multirate_fir() to sdr.multirate_fir().
  • Allowed use of SciPy window definition using scipy.signal.windows.get_window() for all filter design and plotting
    functions.

Contributors

sdr v0.0.22

13 Jul 17:20
Compare
Choose a tag to compare

Released July 13, 2024

Changes

  • Added support for NumPy v2.
  • Increased required galois version to v0.4.1.
  • Added calculation of instantaneous power in sdr.power().
  • Refactored sdr.binary_code() and sdr.gray_code() to accept length, not degree.
  • Reworked argument verification of entire public API.
  • Improved nuisance warning suppression.
  • Improved documentation.
  • Fixed minor bugs.

Contributors

sdr v0.0.21

15 Jun 20:28
Compare
Choose a tag to compare

Released June 15, 2024

Changes

  • Added Gold codes in sdr.gold_code().
  • Added calculation of primitive polynomials that generate preferred pair $m$-sequences in sdr.preferred_pairs().
  • Added check if two primitive polynomials form a preferred pair in sdr.is_preferred_pair().
  • Added plot of the discrete Fourier transform (DFT) in sdr.plot.dft().
  • Added plot of the discrete-time Fourier transform (DTFT) in sdr.plot.dtft().
  • Added plot of periodic and non-periodic auto- and cross-correlations (PACF, ACF, PCCF, and CCF) in
    sdr.plot.correlation().
  • Added general-purpose stem plot, styled like MATLAB, in sdr.plot.stem().
  • Added plot of Shannon's limit on $E_b/N_0$ in sdr.plot.shannon_limit_ebn0().
  • Added support for python -OO optimization.
  • Increased required galois version to v0.3.9.

Contributors

sdr v0.0.20

09 Jun 23:29
Compare
Choose a tag to compare

Released June 9, 2024

Changes

  • Removed sdr.percent(), sdr.ppm(), and sdr.ppb().
  • Added Shnidman's minimum required SNR approximation in sdr.shnidman().
  • Added Shannon's limit on $E_b/N_0$ over the AWGN channel in sdr.shannon_limit_ebn0().
  • Added Shannon's limit on $S/N$ over the AWGN channel in sdr.shannon_limit_snr().
  • Added axis keyword argument ax to each sdr.plot function.
  • Modified sdr.sample_rate_offset() and sdr.frequency_offset() APIs to use offset and not ppm.
  • Renamed sdr.fspl() to sdr.free_space_path_loss().

Contributors

sdr v0.0.19

27 May 22:56
Compare
Choose a tag to compare

Released May 27, 2024

Changes

  • Added calculation of Cramér-Rao lower bounds (CRLBs) for TOA, TDOA, FOA, and FDOA in sdr.toa_crlb(),
    sdr.tdoa_crlb(), sdr.foa_crlb(), and sdr.fdoa_crlb().
  • Added calculation of the effective SNR of the product of two signals in sdr.composite_snr().
  • Added calculation of RMS integration time in sdr.rms_integration_time().
  • Added calculation of RMS bandwidth in sdr.rms_bandwidth().
  • Added calculation of Shannon's capacity for the binary-input additive white Gaussian noise (BI-AWGN) channel in
    sdr.biawgn_capacity().
  • Renamed sdr.to_real_pb() to sdr.to_real_passband().
  • Renamed sdr.to_complex_bb() to sdr.to_complex_baseband().

Contributors

sdr v0.0.18

13 May 03:28
Compare
Choose a tag to compare

Released May 12, 2024

Changes

  • Added support for coherent integration n_c and non-coherent integration n_nc to detection functions sdr.h0(),
    sdr.h1(), sdr.p_d(), sdr.p_fa(), and sdr.threshold().
  • Added support for real/complex signals and linear/square-law detectors to sdr.non_coherent_gain().
  • Added calculation of minimum required SNR to achieve specified detection performance in sdr.min_snr().
  • Added Peebles's approximation of non-coherent gain using a square-law detector in sdr.peebles().
  • Renamed sdr.h0_theory() to sdr.h0().
  • Renamed sdr.h1_theory() to sdr.h1().

Contributors

sdr v0.0.17

10 Mar 22:58
Compare
Choose a tag to compare

Released March 10, 2024

Changes

  • Added theoretical detection threshold calculation in sdr.threshold().
  • Added theoretical probability of detection calculation in sdr.p_d().
  • Added theoretical probability of false alarm calculation in sdr.p_fa().
  • Added test statistic distributions in sdr.h0_theory() and sdr.h1_theory().
  • Added support for coherent, linear, and square-law detectors.
  • Added support for detection of real and complex signals.
  • Added plot helper for detection distributions in sdr.plot.detection_pdfs().

Contributors

sdr v0.0.16

03 Mar 21:59
Compare
Choose a tag to compare

Released March 3, 2024

Changes

  • Removed Python 3.7 support.
  • Added Kasami codes in sdr.kasami_code().
  • Added coherent integration gain in sdr.coherent_gain().
  • Added coherent gain loss in sdr.coherent_gain_loss().
  • Added maximum integration time for coherent integration in sdr.max_integration_time().
  • Added maximum frequency offset for coherent integration in sdr.max_frequency_offset().
  • Added non-coherent integration gain in sdr.non_coherent_gain().

Contributors

sdr v0.0.15

04 Feb 19:02
Compare
Choose a tag to compare

Released February 4, 2024

Changes

  • Fixed bug in support for Python 3.12.
  • Made characteristic polynomial the default input for LFSRs, additive scramblers, and m-sequences.

Contributors