Skip to main content

First package from a notebook

Project description

A package currently being iterated on for use in UC Berkeley Astron 121 Radio Frequency Undergraduate Lab.

I plan to continue to update this package with new functions, QoL, RF, and graphing functions relevant to data analysis of RF astronomical data.

Currently the functions in this package are:

  1. RF_filter(fignum, fignum2, signal_array, filter_kernel, caption_text1, caption_text2, xlimitlower=0, xlimitupper=100, ylimitlower=-50, ylimitupper=50, sampling_rate=1.0, show_graph=True)

This function acts as a convolution filter taking array data and a digitally generated filter kernal. The user must generate the filter kernel themselves before input, however the nature of the algorithm should be able to take any function as the kernel. This code will return a filtered array of data, and two graphs displafying the data array and kernel on one graph, and the filtered result in another graph.

  1. get_acf_amplitude(signal_array)

This function computed the autocorrelation function and returns the amplitude.

  1. def bpf_kernel(low_kb, high_kb, fs, num_taps=101)

This function generates a bandpass filter kernel for use in the filter function.

  1. def plot_frequency_response(data_list, use_acf=True)

This function plots frequency vs max voltage.

  1. def id_signal_candidates(fig_num, observed, current_fs, filter_range=None, show_graph=True)

This function takes an input frequency, sampling rate, and any filter ranges and determines the possible alias frequencies. It will consider the physical filter range and determine the original signal frequency before aliasing. It will also determine which Nyquist zone the original frequency exists in. This function is designed for alias troublshooting and physical system debugging.

  1. def plot_complex_spectra(data, fs, freqlimbot=0, freqlimup=500000, title="Complex Voltage Analysis")

This function plots the complex voltage spectra of a given data array and a sampling rate.

There are a few other functions nested inside this source code, however their use outside of Lab 1 of the course may not be as often as those listed here. If functions are updated for increased frequency use cases they will be added to the readME.

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

rafpy-0.2.1.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rafpy-0.2.1-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file rafpy-0.2.1.tar.gz.

File metadata

  • Download URL: rafpy-0.2.1.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rafpy-0.2.1.tar.gz
Algorithm Hash digest
SHA256 26e1f40b5f1b77b0be92d9cc8071fc6b74174fafc3c41d0553e51ce03f6a07db
MD5 b82e4ff3875d3f64c586f14fbd0e2f80
BLAKE2b-256 252711493a189ba35a35e5d0fdaf180e1309d7535f92f54a832c0af867502ea0

See more details on using hashes here.

File details

Details for the file rafpy-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: rafpy-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rafpy-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5bdaa3392f640ca4cb96e363e6aadc07552a1dcbdc2a9599c08b01b04397d654
MD5 23c4bc35de4337af3970239dd04e7485
BLAKE2b-256 add5634e78c434ce15990ea1da51c601ef5f2192b9d38c853ad62b30c6761f97

See more details on using hashes here.

Supported by

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