https://github.com/v-goncharenko/freespace
Implementation of signal propagation in free space
https://github.com/v-goncharenko/freespace
numpy python signal-processing
Last synced: 8 months ago
JSON representation
Implementation of signal propagation in free space
- Host: GitHub
- URL: https://github.com/v-goncharenko/freespace
- Owner: v-goncharenko
- Created: 2017-10-03T21:21:19.000Z (over 8 years ago)
- Default Branch: matlabLike
- Last Pushed: 2017-10-27T08:34:29.000Z (over 8 years ago)
- Last Synced: 2025-01-20T23:16:56.664Z (about 1 year ago)
- Topics: numpy, python, signal-processing
- Language: Python
- Size: 31.3 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Free Space
Implements signal proragation in free space.
Inspiered by Matlab's [phased.FreeSpace](https://www.mathworks.com/help/phased/ref/phased.freespace-system-object.html?s_tid=gn_loc_drop) and tested to have the same results.
Accounts in calculations:
* time delay
* doppler effect
* signal loss
## Assumptions
* Propagation speed > origin velocity
* Propagation speed > destination velocity
* Initial distance >> relative velocity * broadcast time
## Test suite
**generateTests.m** - код на матлабе для генерации тестов
**generateTests.py** - generates a set of tests with different parameters (random or predefined), saves it in .mat file (and maybe .pickle file for Python)
Outputs:
* operating_frequency
* sample_rate
* two_way_propagation
* signal
* origin_pos
* dest_pos
* origin_vel
* dest_vel
**testMatlab.py** - runs existing tests (reads form .mat files) in Matlab by [Matlab API for Python](https://www.mathworks.com/help/matlab/matlab-engine-for-python.html) and saves results (to .mat or .picle). Internally runs matlab function.
Outputs:
* y
**testFreeSpace.py** - runs existing tests in FreeSpace and saves results (or compares with Matlab's?)
**compareTests.py** - checks if Matlab's and Python's results are equal
## Enviroment
Project uses Python 3.5.4 (it pointed in .python-version file)
Python requirements for using this code listed in `requirements.txt`, also development requirements listed in `dev-requirements.txt`
Matlab version is R2016b (9.1), 64-bit(glnxa64)
## Code style
We use [Google Python Style Guide](https://google.github.io/styleguide/pyguide.html)
except line length set to 120.