This is a Python package for the implementation of various equations of Free Space Optical Communication
Project description
Freesopy
A Python package for the implementation of various equations of Free Space Optical Communication
Freesopy
is designed to simplify the implementation of various mathematical equations used in Free Space Optical Communication. It provides easy-to-use functions that can be integrated into your projects.
Usaage
You can import Freesopy
as:
import freesopy as fso
Some General Equations
P_t: Transmitted power in mW
D_r: Receiver aperture diameter in meters
d: Distance between transmitter and receiver in meters
P_r: Received power in mW
L_p: Path loss in dB
N_0: Noise power spectral density in mW/Hz
Calculate Received Power
Power_received = fso.calculate_received_power(P_t, D_r, d)Calculate Path Loss
Path_loss = fso.calculate_path_loss(P_t, P_r)Calculate SNR
SNR = fso.calculate_snr(P_r, N_0)Calculation of Losses
wl = wavelength
d= distance between transmitter and receiver
alpha= atmospheric attenuation coefficient
dt= diameter of transmitter antenna
dr = diameter of receiver antenna
pt = power total
pn = power of ambient noise
sigma_p = standard deviation of pointing error
sigma_s= standard deviation due to scintillation
gamma = initial intensity of optical beam
cn = refractive structure parameter
theta= angle of divergence
theta_mis = mismatch angle divergence
Attenuation Loss
attenuation_loss = fso.atmospheric_attenuation_loss(gamma, alpha, d)
Geometric Loss
geo_loss = fso.geometric_loss(dr, dt, d, wl, pt)
Misalignment Loss
misalignment_loss = fso.pointing_misalignment_loss(d, sigma_p, pt)
Atmospheric Turbulence
turbulence_loss = fso.atmospheric_turbulence(pt, cn, d, wl)
Polarising Loss Power
polarising_loss_power = fso.polarising_loss_power(pt, theta_mis)
Ambient Noise
ambient_noise = fso.ambient_noise(pt, pn)
Beam Divergence Loss
divergence_loss = fso.beam_divergence_loss(theta, d, pt)
Scintillation Loss
scintillation_loss = fso.scintillation_loss(sigma_s, pt)
SNR Calculations
P_received : Received optical power (W)
responsivity : Responsivity of the photodetector (A/W)
T : Temperature (K)
B : Bandwidth (Hz)
R_load : Load resistance (Ohms)
I_photo : Photocurrent (A)
I_shot_squared : Shot noise squared (A^2)
I_thermal_squared : Thermal noise squared (A^2)
SNR : Signal-to-Noise Ratio (unitless)
I_photo = fso.calculate_photocurrent(P_received, responsivity)
I_thermal_squared = fso.calculate_thermal_noise(T, B, R_load)
I_shot_squared = fso.calculate_shot_noise(I_photo, B)
SNR = fso.calculate_SNR(I_photo, I_shot_squared, I_thermal_squared)
fso.plot_SNR(P_received, SNR)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file freesopy-1.0.4.tar.gz
.
File metadata
- Download URL: freesopy-1.0.4.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 576cd45e299f5b8fc636fdf217919dcbebb2453b3408d940e8f5f03a69ec2802 |
|
MD5 | 5c4d7eb70c3e5408d2dad376ccb81832 |
|
BLAKE2b-256 | 3fd5fd146e1987e41b62aa5696d253b9ffcb06c73e53c9c5f0ca16081117d5fc |
File details
Details for the file freesopy-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: freesopy-1.0.4-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94eafb9a335df307718b0f73c084fbdfdf77193326ae6cf684f5459c3da6e445 |
|
MD5 | a21b0169f79bb01f1a95e52d37babd9d |
|
BLAKE2b-256 | 1f3ce6a01b2aeab483fb1130cd5e3afa002222f64811f94137bd79c44ef2e4ef |