Skip to content

Add Gray code to modems : close both veeresht/CommPy#100 and veeresht/CommPy#60. #102

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Apr 2, 2021

Conversation

BastienTr
Copy link
Collaborator

Implementation based on the code from @edsonportosilva in #100. I refactored the code and simplified it a bit.

The Gray code is the new default for both QAM and PSK modems. I have no time to add tests based on performances but modem.plot_constellation show a proper Gray code.

I'll merge this PR as soon as @veeresht, @kirlf and/or @edsonportosilva validate my code.

Close both #100 and #60.

@edsonportosilva
Copy link
Contributor

@BastienTr, here is a notebook to run a quick BER vs EbN0 test to see if everything is ok with the Gray mapping, i.e. if the Monte Carlo simulation agrees with the theory curves.

CommpyTest_BERvsEbN0.zip

@BastienTr
Copy link
Collaborator Author

BastienTr commented Feb 20, 2021

ToDo list for this PR

  • Fix the Travis issues with custom modulations.
  • Fix Wifi80211 Travis errors. The observed performance is better than the one in the test since the Gray coding addition. The line is commented "From previous tests". @eSoares did you run the previous tests with Gray coding?
  • Implement a complete performance test for modulation based on @edsonportosilva's code. I'm on it, thanks for the input!

This was linked to issues Feb 20, 2021
@coveralls
Copy link

Coverage Status

Coverage decreased (-3.02%) to 79.777% when pulling c373d79 on BastienTr:master into 46512b9 on veeresht:master.

@BastienTr
Copy link
Collaborator Author

BastienTr commented Mar 25, 2021

I removed the test_wifi80211 file since the references values seems to come from previous CommPy test. I feel like it is too risky to check a code based on result of the same code and we have an example here.
Can someone double check the PR so that I can merge it?

@BastienTr BastienTr merged commit 15eef39 into veeresht:master Apr 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ModulationPy: M-PSK and M-QAM implementation Gray Coding
3 participants