Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bmike2047/dipole-rf-calculator
Calculate analytically Ez field Voc and Pload from a half-wave dipole antenna at distance r
https://github.com/bmike2047/dipole-rf-calculator
antenna cartesian-coordinate cst-studio dipole electric-field engineering friis-formula gradle half-wave java java-modules java17 javafx link-budget-calculator matched-load maxwell-equations radiation-resistance testfx
Last synced: about 1 month ago
JSON representation
Calculate analytically Ez field Voc and Pload from a half-wave dipole antenna at distance r
- Host: GitHub
- URL: https://github.com/bmike2047/dipole-rf-calculator
- Owner: bmike2047
- Created: 2024-08-01T20:58:41.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-09-23T20:53:43.000Z (about 2 months ago)
- Last Synced: 2024-09-27T12:42:02.165Z (about 2 months ago)
- Topics: antenna, cartesian-coordinate, cst-studio, dipole, electric-field, engineering, friis-formula, gradle, half-wave, java, java-modules, java17, javafx, link-budget-calculator, matched-load, maxwell-equations, radiation-resistance, testfx
- Language: Java
- Homepage:
- Size: 9.85 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Dipole RF Calculator
--
![](assets/images/logo2.png)### Description
Calculates Ez field from a half-wave dipole antenna at distance r.
Calculates VOC (V open circuit) from the incident field Ez on an identical receiving dipole antenna at distance r.
Calculates Pload (power delivered to a perfectly matched load) by the incident field Ez on an identical receiving dipole antenna at distance r.
Calculates Prx (power received to a perfectly matched load) via Friis formula.### Other features
Calculates dipole length from input frequency for a quick antenna design.
Calculates dipole feed current Ia from input power.
Converts both Tx and Rx power to dbm for a quick link budget design.
Calculates the free space path loss for a quick link budget design. (this includes both Tx and Rx 2.15db gain)
Computed results are displayed in engineering format.### Quick math
First the following assumptions are made:
* dipole antenna has a half-wave length meaning radiation resistance Rrad = 73.08 Ω.
* Ez represents the electric field in Cartesian coordinates and is identical with Eθ with θ=90° in spherical coordinates.
* VOC, Pload and Prx are calculated on an identical receiving dipole antenna and polarization at distance r.
* both Tx and Rx dipoles have a gain of 2.15db or 1.642.Ez formula below contain the classic Ia current, space impedance and decreasing with distance r.
The trigonometric terms are caused by the sinusoidal Ia current distribution on the antenna (doughnut shape).
VOC formula below is the Ez*l but because the receiving antenna also has a sinusoidal current distribution it gets multiplied again by the trigonometric terms above.
This leads to the tan function squared because of the 2 identical dipoles.
Pload formula below is constructed from converting to rms and perfectly matching the load to the antenna.
### Verification 1 ###
Friis formula below is used to verify all calculations above.
It takes into consideration both dipole's effective aperture area.
Given freq=2.4GHz, Ptx=36.54W, r=200m our calculator gives Pload=243nW. Using the Friis formula below we also get Prx=243nW.
### Verification 2 ###
CST studio was used to calculate the electric field for freq=2.4GHz, Ptx=36.54W, r=200m.
This resulted in 0.2989V/m (screenshot below) while our application returned 0.3V/m (see screenshot at the end of this file) which is pretty good for our sinusoidal current distribution approximation.
![](assets/images/cst.png)### Usage
Requires JDK 17.
To run the project use the following command:
```
./gradlew clean run
```
For a java distribution run the command below and check folder: ./build/install/dipole-rf-calculator/bin
```
./gradlew clean installDist
```
For native OS executable run the command below and check folder: ./build/image/bin
```
sudo apt-get install binutils //only for linux
./gradlew clean jlink
```
> [!TIP]
> Math formulas in LaTeX format can be found in file /formulas.tex> [!TIP]
> I case you have older JDK version than JDK 17 and you are using IntelliJIDEA as IDE make sure Gradle JVM is set to JDK 17 in:
> File | Settings | Build, Execution, Deployment | Build Tools | Gradle -> Gradle JVM### Screenshot
![](assets/images/screenshot.png)