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.0.tar.gz (23.5 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.0-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rafpy-0.2.0.tar.gz
  • Upload date:
  • Size: 23.5 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.0.tar.gz
Algorithm Hash digest
SHA256 b1e94a8556edc74f16e50efee752fc98d81956e0a1811462fb2207b9053be14b
MD5 3a70aabd474b1cf7595786fe59059967
BLAKE2b-256 c980dafdbcb8dc46e8c116d54b93aa4d1697d34de52ad40b0aac244bfcdd8032

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rafpy-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 26.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 67caa3abda7606989a636abf15e8b02a8fba3a3b1a72c69c16a21d5d0f337225
MD5 3c56d230163473bb1933eda6ae04e58c
BLAKE2b-256 f11ee804c0a09f04e65be002f979b4d1011ab744cf0bf0d41c9443e20632678b

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