veeresht / CommPy

Digital Communication with Python
http://veeresht.github.com/CommPy
BSD 3-Clause "New" or "Revised" License
551 stars 179 forks source link

Add Wifi 802.11 physical simulation #81

Closed eSoares closed 4 years ago

eSoares commented 4 years ago

This adds the following changes:

This last change can be reverted, but makes some code of collecting more metrics a bit worse.

coveralls commented 4 years ago

Coverage Status

Coverage increased (+1.2%) to 79.19% when pulling 78c6e25bae9a37ab2975bd6414ecc93fba72e185 on eSoares:wifi802.11 into 8687174a85275e677fd0703da24e639a8b11cea2 on veeresht:master.

BastienTr commented 4 years ago

We will also think about updating the readme and documentation build after these additions. I can handle this once the code has been stabilized.

eSoares commented 4 years ago

Thanks for the comments. :smile:

Sorry for the error on the documentation of code_rate, I was confusing the python typings syntax and found weird the (0,1] syntax. Ended up documenting the puncturing and depuncturing methods with np.ndarray, while is not strictly necessary to be ndarrays (lists work there), since all the documentation indicates they should be np.ndarrays I believe to be better if the typings reinforce this. The suggested Iterable doesn't work in some cases, since they don't support len() and indexing.

link_performance I agree that is better not break any code or functionality. While my change is straightforward to follow, and documentation could be added, is better and simpler if no change is needed. I have reintroduced the link_performance exactly as it was and renamed my proposed method to link_performance_full_metrics and changed the return to have all the calculated metrics.

I have also hidden some functions as suggested under wifi80211.py and documented the public ones. If you find that more documentation is needed feel free to comment. (Sometimes we are so deeply working on something, that we don't even notice is not obvious for others 😅 )

BastienTr commented 4 years ago

Great! Thanks again for this new features. It must be the most important additions for v0.6 by someone that is not a official collaborator. :+1: