Skip to content

第三届电磁大数据挑战赛码元宽度回归预测参考例程,实现了码元宽度盲估计

Notifications You must be signed in to change notification settings

cherry-luna/SW_DLNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Luna2501

这个复合网络思路是:Resnet多尺度时域特征提取 + 时频域与统计特征融合 + Transformer回归预测。
首先,IQ数据不等长,因此需要合理保存IQ数据,进行IQ相位校正后本地化为h5数据集。然后,全程采用MAPE损失函数,先使用Radam算法训练50轮让LOSS快速下降,再切换SGD算法训练50轮进行模型调优,最后使用AdamW算法训练100轮进行模型微调。

可能你会发现,我是代码小白,GitHub都不会用。但能担保至少项目是能用的。以SW分数为指标,最终测试分数达到92分附近;R²为0.97左右,绝大多数预测值均在20%以内。

倘若你想了解具体的架构,可以去看model_arch.py或者architecture.png(draw.py跑出来的)。


该工程主要是针对以csv文件形式保存的10种已知调制信号的IQ序列样本,解析出码元宽度。已知数据的采样率为20MHz,涵盖不同的信号长度、码元宽度、SNR及多径的样本数据,其中第一二列分别为仿真IQ波形,第五列为仿真码元宽度。 因此,如何利用IQ波形采样信号序列预测出码元宽度将是本项目的核心课题。

即便如此,仍然能够利用DL的深层次抽象特征的特性,直接爆破解析不等长IQ信号的码元宽度。依据我的理解,该深度学习模型必定能够发现IQ波形当中代表码元宽度的隐藏抽象特征,而且回归预测的效果还不赖。
那么,接下来改进的工作方向其实也很明显,如何进一步让模型更容易、更精确地找到这个抽象特征,就能让SW分数更高,回归预测效果更好。目前我的想法是改进数据预处理(当前是IQ相位校正)方式,替换为可学习的预处理网络模块。

SW 分数的计算方式如下:
先计算单样本误差比ER:
$$ER_{i}=\frac{\left | y_{i} -y_{i}^{'} \right | }{y_{i}^{'}}$$
ER在5%内得100分;在20%外得0分;区间内线性下降。折算公式如下:
$$SW{score}{i}=\left\{\begin{array}{ll}100 & E R{i} \leq 0.05 \\100-\frac{E R_{i}-0.05}{0.15} \times 100 & 0.05<E R_{i} \leq 0.2 \\ 0 & E R_{i}>0.2\end{array}\right\.$$
完毕。


By 2025.04.16
看来这个项目很多地方并不符合规范,但按照本科所学的知识,我已不能解决这个缺陷。看来只能多动手归纳,踩多点坑,未来说不定会做的越来越好呢~
增加了requirements.txt和运行步骤说明文档,以助于理解本项目。
说实话,这单纯就是一个试验作,只是恰好还能发挥点作用罢了。


By 2025.04.25
重新整理工程,新目录如下:

NewDLNet |
|——data/
| |——raw/
| |——dataset/
| |——init.py
| |——DatasetManager.py
| |——SignalDataset.py
| |——IQPhase.py
| |——random_seed.py
| |——README.md
|
|——draw/
| |——README.md
| |——draw.py
|
|——models/
| |——init.py
| |——model_arch.py
|
|——train/
| |——init.py
| |——trainer.py
|
|——utils/
| |——init.py
| |——MAPE_Loss_func.py
| |——optim_criter_sched_factory.py
| |——sw_scores.py
|
|——Visualization/
| |——......
|
|——weights/
| |——......
|
|——main.py
|——requirements.txt
|——README.md
|——Program Operation Instructions.pdf

其余内容详情,请参考运行说明文档。


About

第三届电磁大数据挑战赛码元宽度回归预测参考例程,实现了码元宽度盲估计

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages