├── CommDspy ├── __init__.py ├── auxiliary.py ├── channel │ ├── __init__.py │ ├── additive_noise_functions.py │ └── pulse_shaping.py ├── channel_estimation.py ├── constants.py ├── digital_delay.py ├── equalization_estimation.py ├── eye_diagram.py ├── misc │ ├── help_classes.py │ ├── help_functions.py │ ├── least_squares.py │ └── ml_decoding.py ├── psa.py ├── rx │ ├── __init__.py │ ├── checker.py │ ├── clock_data_recovery.py │ ├── ctle_model.py │ ├── decoding.py │ ├── demapping.py │ ├── ffe_dfe_model.py │ ├── least_mean_squares.py │ ├── lock_pattern.py │ ├── quantiztion.py │ ├── slicer.py │ └── symbol2bin.py └── tx │ ├── __init__.py │ ├── bin2symbol.py │ ├── coding.py │ ├── mapping.py │ ├── prbs_generator.py │ └── prbs_iterator.py ├── LICENSE ├── MANIFEST.in ├── README.md ├── example_simulation ├── analyzer │ ├── analyzer_classes.py │ └── analyzer_data_objects.py ├── config_file.py ├── constants.py ├── simulation_main.py └── simulation_parts │ ├── channel.py │ ├── data_objects.py │ ├── full_link.py │ ├── receiver.py │ ├── simulation.py │ └── transmitter.py ├── pictures ├── CTLE_example.png ├── channel_reconstruction.png ├── eye_ch_out_rx_example_snr10.png ├── eye_ch_out_rx_example_snr30.png ├── eye_ctle_out_rx_example_snr30.png ├── eye_ffe_out_rx_example_snr0.png ├── eye_ffe_out_rx_example_snr30.png ├── eye_pulse_shape_rcos_rolloff_0p5.png ├── eye_pulse_shape_rcos_rolloff_0p9.png ├── eye_rcos_awgn_isi_snr10.png ├── eye_rcos_awgn_isi_snr30.png ├── eye_rcos_awgn_snr10.png ├── eye_rcos_awgn_snr30.png ├── eye_slicer_in_example_snr10.png └── tx_example.png ├── pyproject.toml ├── setup.cfg └── test ├── __init__.py ├── auxiliary.py ├── example_scripts ├── channel_reconstruction.py └── example_runs.py ├── test_bin_to_symbol.py ├── test_cdr.py ├── test_channel_estimation.py ├── test_data ├── PRBS11_seed_ones.csv ├── PRBS13_seed_ones.csv ├── PRBS15_seed_ones.csv ├── PRBS7_seed_ones.csv ├── PRBS9_seed_ones.csv ├── example_channel.json └── example_channel_full.json ├── test_equalization_estimation.py ├── test_main.py ├── test_noise.py ├── test_pattern_coding.py ├── test_pattern_lock.py ├── test_prbs_analysis.py └── test_prbs_generator.py /CommDspy/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/__init__.py -------------------------------------------------------------------------------- /CommDspy/auxiliary.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/auxiliary.py -------------------------------------------------------------------------------- /CommDspy/channel/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/channel/__init__.py -------------------------------------------------------------------------------- /CommDspy/channel/additive_noise_functions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/channel/additive_noise_functions.py -------------------------------------------------------------------------------- /CommDspy/channel/pulse_shaping.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/channel/pulse_shaping.py -------------------------------------------------------------------------------- /CommDspy/channel_estimation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/channel_estimation.py -------------------------------------------------------------------------------- /CommDspy/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/constants.py -------------------------------------------------------------------------------- /CommDspy/digital_delay.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/digital_delay.py -------------------------------------------------------------------------------- /CommDspy/equalization_estimation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/equalization_estimation.py -------------------------------------------------------------------------------- /CommDspy/eye_diagram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/eye_diagram.py -------------------------------------------------------------------------------- /CommDspy/misc/help_classes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/misc/help_classes.py -------------------------------------------------------------------------------- /CommDspy/misc/help_functions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/misc/help_functions.py -------------------------------------------------------------------------------- /CommDspy/misc/least_squares.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/misc/least_squares.py -------------------------------------------------------------------------------- /CommDspy/misc/ml_decoding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/misc/ml_decoding.py -------------------------------------------------------------------------------- /CommDspy/psa.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/psa.py -------------------------------------------------------------------------------- /CommDspy/rx/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/__init__.py -------------------------------------------------------------------------------- /CommDspy/rx/checker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/checker.py -------------------------------------------------------------------------------- /CommDspy/rx/clock_data_recovery.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/clock_data_recovery.py -------------------------------------------------------------------------------- /CommDspy/rx/ctle_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/ctle_model.py -------------------------------------------------------------------------------- /CommDspy/rx/decoding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/decoding.py -------------------------------------------------------------------------------- /CommDspy/rx/demapping.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/demapping.py -------------------------------------------------------------------------------- /CommDspy/rx/ffe_dfe_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/ffe_dfe_model.py -------------------------------------------------------------------------------- /CommDspy/rx/least_mean_squares.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/least_mean_squares.py -------------------------------------------------------------------------------- /CommDspy/rx/lock_pattern.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/lock_pattern.py -------------------------------------------------------------------------------- /CommDspy/rx/quantiztion.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/quantiztion.py -------------------------------------------------------------------------------- /CommDspy/rx/slicer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/slicer.py -------------------------------------------------------------------------------- /CommDspy/rx/symbol2bin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/rx/symbol2bin.py -------------------------------------------------------------------------------- /CommDspy/tx/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/tx/__init__.py -------------------------------------------------------------------------------- /CommDspy/tx/bin2symbol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/tx/bin2symbol.py -------------------------------------------------------------------------------- /CommDspy/tx/coding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/tx/coding.py -------------------------------------------------------------------------------- /CommDspy/tx/mapping.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/tx/mapping.py -------------------------------------------------------------------------------- /CommDspy/tx/prbs_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/tx/prbs_generator.py -------------------------------------------------------------------------------- /CommDspy/tx/prbs_iterator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/CommDspy/tx/prbs_iterator.py -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include pictures/*.png 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/README.md -------------------------------------------------------------------------------- /example_simulation/analyzer/analyzer_classes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/analyzer/analyzer_classes.py -------------------------------------------------------------------------------- /example_simulation/analyzer/analyzer_data_objects.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/analyzer/analyzer_data_objects.py -------------------------------------------------------------------------------- /example_simulation/config_file.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/config_file.py -------------------------------------------------------------------------------- /example_simulation/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/constants.py -------------------------------------------------------------------------------- /example_simulation/simulation_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/simulation_main.py -------------------------------------------------------------------------------- /example_simulation/simulation_parts/channel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/simulation_parts/channel.py -------------------------------------------------------------------------------- /example_simulation/simulation_parts/data_objects.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/simulation_parts/data_objects.py -------------------------------------------------------------------------------- /example_simulation/simulation_parts/full_link.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/simulation_parts/full_link.py -------------------------------------------------------------------------------- /example_simulation/simulation_parts/receiver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/simulation_parts/receiver.py -------------------------------------------------------------------------------- /example_simulation/simulation_parts/simulation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/simulation_parts/simulation.py -------------------------------------------------------------------------------- /example_simulation/simulation_parts/transmitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/example_simulation/simulation_parts/transmitter.py -------------------------------------------------------------------------------- /pictures/CTLE_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/CTLE_example.png -------------------------------------------------------------------------------- /pictures/channel_reconstruction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/channel_reconstruction.png -------------------------------------------------------------------------------- /pictures/eye_ch_out_rx_example_snr10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_ch_out_rx_example_snr10.png -------------------------------------------------------------------------------- /pictures/eye_ch_out_rx_example_snr30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_ch_out_rx_example_snr30.png -------------------------------------------------------------------------------- /pictures/eye_ctle_out_rx_example_snr30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_ctle_out_rx_example_snr30.png -------------------------------------------------------------------------------- /pictures/eye_ffe_out_rx_example_snr0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_ffe_out_rx_example_snr0.png -------------------------------------------------------------------------------- /pictures/eye_ffe_out_rx_example_snr30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_ffe_out_rx_example_snr30.png -------------------------------------------------------------------------------- /pictures/eye_pulse_shape_rcos_rolloff_0p5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_pulse_shape_rcos_rolloff_0p5.png -------------------------------------------------------------------------------- /pictures/eye_pulse_shape_rcos_rolloff_0p9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_pulse_shape_rcos_rolloff_0p9.png -------------------------------------------------------------------------------- /pictures/eye_rcos_awgn_isi_snr10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_rcos_awgn_isi_snr10.png -------------------------------------------------------------------------------- /pictures/eye_rcos_awgn_isi_snr30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_rcos_awgn_isi_snr30.png -------------------------------------------------------------------------------- /pictures/eye_rcos_awgn_snr10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_rcos_awgn_snr10.png -------------------------------------------------------------------------------- /pictures/eye_rcos_awgn_snr30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_rcos_awgn_snr30.png -------------------------------------------------------------------------------- /pictures/eye_slicer_in_example_snr10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/eye_slicer_in_example_snr10.png -------------------------------------------------------------------------------- /pictures/tx_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pictures/tx_example.png -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/pyproject.toml -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/setup.cfg -------------------------------------------------------------------------------- /test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/__init__.py -------------------------------------------------------------------------------- /test/auxiliary.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/auxiliary.py -------------------------------------------------------------------------------- /test/example_scripts/channel_reconstruction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/example_scripts/channel_reconstruction.py -------------------------------------------------------------------------------- /test/example_scripts/example_runs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/example_scripts/example_runs.py -------------------------------------------------------------------------------- /test/test_bin_to_symbol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_bin_to_symbol.py -------------------------------------------------------------------------------- /test/test_cdr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_cdr.py -------------------------------------------------------------------------------- /test/test_channel_estimation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_channel_estimation.py -------------------------------------------------------------------------------- /test/test_data/PRBS11_seed_ones.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_data/PRBS11_seed_ones.csv -------------------------------------------------------------------------------- /test/test_data/PRBS13_seed_ones.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_data/PRBS13_seed_ones.csv -------------------------------------------------------------------------------- /test/test_data/PRBS15_seed_ones.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_data/PRBS15_seed_ones.csv -------------------------------------------------------------------------------- /test/test_data/PRBS7_seed_ones.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_data/PRBS7_seed_ones.csv -------------------------------------------------------------------------------- /test/test_data/PRBS9_seed_ones.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_data/PRBS9_seed_ones.csv -------------------------------------------------------------------------------- /test/test_data/example_channel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_data/example_channel.json -------------------------------------------------------------------------------- /test/test_data/example_channel_full.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_data/example_channel_full.json -------------------------------------------------------------------------------- /test/test_equalization_estimation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_equalization_estimation.py -------------------------------------------------------------------------------- /test/test_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_main.py -------------------------------------------------------------------------------- /test/test_noise.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_noise.py -------------------------------------------------------------------------------- /test/test_pattern_coding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_pattern_coding.py -------------------------------------------------------------------------------- /test/test_pattern_lock.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_pattern_lock.py -------------------------------------------------------------------------------- /test/test_prbs_analysis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_prbs_analysis.py -------------------------------------------------------------------------------- /test/test_prbs_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TomerGeva/CommDspy/HEAD/test/test_prbs_generator.py --------------------------------------------------------------------------------