Skip to content

实验02-2024280385-王继熠#11

Open
Wjaywhy wants to merge 2 commits into
jwentong:mainfrom
Wjaywhy:main
Open

实验02-2024280385-王继熠#11
Wjaywhy wants to merge 2 commits into
jwentong:mainfrom
Wjaywhy:main

Conversation

@Wjaywhy
Copy link
Copy Markdown

@Wjaywhy Wjaywhy commented May 14, 2026

完成所有任务

Copilot AI review requested due to automatic review settings May 14, 2026 12:18
@github-actions
Copy link
Copy Markdown

🤖 自动评分结果

提交者: @Wjaywhy

============================================================
信道编码与信道均衡实验 - 自动评分系统
============================================================

1️⃣ 环境配置测试 (5分)
  ✅ 环境测试通过: +5分

2️⃣ Part 1:信道编码测试 (35分)
  通过测试: 7/8
  评分规则: 函数正确性25分 + 结果图10分
  得分: 25/35

3️⃣ Part 2:信道均衡测试 (35分)
  通过测试: 7/8
  评分规则: 函数正确性25分 + 结果图10分
  得分: 25/35

4️⃣ 实验报告检查 (15分)
  报告得分: 15/15

5️⃣ 代码质量检查
  ✅ 代码质量优秀 (9.29/10): +5分

6️⃣ 选做任务加分
  ✅ 卷积码/Viterbi选做已实现: +10分

============================================================
总分: 85/100
等级: B (良好)
============================================================
详细评分报告已保存到: grade_report.json

Part 1 测试详情
============================= test session starts ==============================
platform linux -- Python 3.11.15, pytest-9.0.3, pluggy-1.6.0 -- /opt/hostedtoolcache/Python/3.11.15/x64/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/wireless-coding-equalization-exp/wireless-coding-equalization-exp
collecting ... collected 8 items

grading/test_part1_coding.py::TestHamming74::test_known_encoding PASSED  [ 12%]
grading/test_part1_coding.py::TestHamming74::test_multiple_blocks_length PASSED [ 25%]
grading/test_part1_coding.py::TestHamming74::test_codewords_have_zero_syndrome PASSED [ 37%]
grading/test_part1_coding.py::TestHamming74::test_single_error_syndrome_matches_column PASSED [ 50%]
grading/test_part1_coding.py::TestHamming74::test_decode_without_error PASSED [ 62%]
grading/test_part1_coding.py::TestHamming74::test_decode_all_single_bit_errors PASSED [ 75%]
grading/test_part1_coding.py::TestHamming74::test_invalid_input_length PASSED [ 87%]
grading/test_part1_coding.py::test_coding_result_file_exists SKIPPED     [100%]

========================= 7 passed, 1 skipped in 1.30s =========================

Part 2 测试详情
============================= test session starts ==============================
platform linux -- Python 3.11.15, pytest-9.0.3, pluggy-1.6.0 -- /opt/hostedtoolcache/Python/3.11.15/x64/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/wireless-coding-equalization-exp/wireless-coding-equalization-exp
collecting ... collected 8 items

grading/test_part2_equalization.py::TestEqualization::test_apply_fir_filter_identity PASSED [ 12%]
grading/test_part2_equalization.py::TestEqualization::test_apply_fir_filter_matches_convolution PASSED [ 25%]
grading/test_part2_equalization.py::TestEqualization::test_zf_equalizer_length PASSED [ 37%]
grading/test_part2_equalization.py::TestEqualization::test_zf_equalizer_reduces_isi_near_center PASSED [ 50%]
grading/test_part2_equalization.py::TestEqualization::test_lms_equalizer_shapes PASSED [ 62%]
grading/test_part2_equalization.py::TestEqualization::test_lms_error_decreases_on_training PASSED [ 75%]
grading/test_part2_equalization.py::TestEqualization::test_invalid_inputs PASSED [ 87%]
grading/test_part2_equalization.py::test_equalization_result_files_exist SKIPPED [100%]

========================= 7 passed, 1 skipped in 0.41s =========================

完整评分报告可在 Actions Artifacts 中下载。

@github-actions
Copy link
Copy Markdown

🤖 自动评分结果

提交者: @Wjaywhy

============================================================
信道编码与信道均衡实验 - 自动评分系统
============================================================

1️⃣ 环境配置测试 (5分)
  ✅ 环境测试通过: +5分

2️⃣ Part 1:信道编码测试 (35分)
  通过测试: 8/8
  评分规则: 函数正确性25分 + 结果图10分
  得分: 35/35

3️⃣ Part 2:信道均衡测试 (35分)
  通过测试: 8/8
  评分规则: 函数正确性25分 + 结果图10分
  得分: 35/35

4️⃣ 实验报告检查 (15分)
  报告得分: 15/15

5️⃣ 代码质量检查
  ✅ 代码质量优秀 (9.29/10): +5分

6️⃣ 选做任务加分
  ✅ 卷积码/Viterbi选做已实现: +10分

============================================================
总分: 100/100
等级: A (优秀)
============================================================
详细评分报告已保存到: grade_report.json

Part 1 测试详情
============================= test session starts ==============================
platform linux -- Python 3.11.15, pytest-9.0.3, pluggy-1.6.0 -- /opt/hostedtoolcache/Python/3.11.15/x64/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/wireless-coding-equalization-exp/wireless-coding-equalization-exp
collecting ... collected 8 items

grading/test_part1_coding.py::TestHamming74::test_known_encoding PASSED  [ 12%]
grading/test_part1_coding.py::TestHamming74::test_multiple_blocks_length PASSED [ 25%]
grading/test_part1_coding.py::TestHamming74::test_codewords_have_zero_syndrome PASSED [ 37%]
grading/test_part1_coding.py::TestHamming74::test_single_error_syndrome_matches_column PASSED [ 50%]
grading/test_part1_coding.py::TestHamming74::test_decode_without_error PASSED [ 62%]
grading/test_part1_coding.py::TestHamming74::test_decode_all_single_bit_errors PASSED [ 75%]
grading/test_part1_coding.py::TestHamming74::test_invalid_input_length PASSED [ 87%]
grading/test_part1_coding.py::test_coding_result_file_exists PASSED      [100%]

============================== 8 passed in 0.86s ===============================

Part 2 测试详情
============================= test session starts ==============================
platform linux -- Python 3.11.15, pytest-9.0.3, pluggy-1.6.0 -- /opt/hostedtoolcache/Python/3.11.15/x64/bin/python
cachedir: .pytest_cache
rootdir: /home/runner/work/wireless-coding-equalization-exp/wireless-coding-equalization-exp
collecting ... collected 8 items

grading/test_part2_equalization.py::TestEqualization::test_apply_fir_filter_identity PASSED [ 12%]
grading/test_part2_equalization.py::TestEqualization::test_apply_fir_filter_matches_convolution PASSED [ 25%]
grading/test_part2_equalization.py::TestEqualization::test_zf_equalizer_length PASSED [ 37%]
grading/test_part2_equalization.py::TestEqualization::test_zf_equalizer_reduces_isi_near_center PASSED [ 50%]
grading/test_part2_equalization.py::TestEqualization::test_lms_equalizer_shapes PASSED [ 62%]
grading/test_part2_equalization.py::TestEqualization::test_lms_error_decreases_on_training PASSED [ 75%]
grading/test_part2_equalization.py::TestEqualization::test_invalid_inputs PASSED [ 87%]
grading/test_part2_equalization.py::test_equalization_result_files_exist PASSED [100%]

============================== 8 passed in 0.50s ===============================

完整评分报告可在 Actions Artifacts 中下载。

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

本 PR 完成《无线通信技术实验 02》中的信道编码(Hamming(7,4) + 选做卷积码/Viterbi)与信道均衡(ZF/LMS)核心函数实现,并补充实验报告内容,用于通过自动评分与生成结果图验证。

Changes:

  • 实现 Part 1:Hamming(7,4) 编码/伴随式/单比特纠错译码,并补全选做卷积码编码与 Viterbi 硬判决译码。
  • 实现 Part 2:ZF 均衡器最小二乘估计、FIR 卷积滤波、LMS 自适应均衡训练。
  • 新增 REPORT.md 实验报告内容,并修改 REPORT_TEMPLATE.md

Reviewed changes

Copilot reviewed 4 out of 7 changed files in this pull request and generated 3 comments.

File Description
src/part2_equalization.py 补全 ZF / FIR / LMS 三个 TODO,使均衡模块可运行并满足自动测试接口。
src/part1_channel_coding.py 补全 Hamming(7,4) 必做函数并实现卷积码/Viterbi 选做部分。
REPORT.md 新增完整实验报告与结果图引用。
REPORT_TEMPLATE.md 将模板内容改为已填写的报告文本(建议恢复模板占位用途)。

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

received_pairs = received_bits.reshape(-1, 2)

num_states = 4 # memory=2
inf = 1e9
Comment thread REPORT.md
Comment on lines +42 to +46
插入结果图:

![编码BER曲线](./results/coding_ber_curve.png)
![均衡眼图对比](./results/equalization_eye_comparison.png)
![LMS误差曲线](./results/equalization_mse_curve.png)
Comment thread REPORT_TEMPLATE.md
Comment on lines 3 to 6
## 1. 实验目的

说明本实验希望掌握的信道编码、信道均衡和 GitHub 自动评分技能
掌握 Hamming(7,4) 信道编码与单比特纠错的基本方法;理解多径信道导致的 ISI 以及 ZF/LMS 均衡器的设计与效果评估;熟悉使用 GitHub 自动评分与本地脚本进行实验结果验证

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.

2 participants