基于深度学习的自动调制识别(含代码链接)

AMR领域具有代表性的新模型在四个不同的数据集(RML2016.10a, RML2016.10b, RML2018.01a, HisarMod2019.1)上的实现,为感兴趣的研究人员提供统一的参考。

Digital signal processing论文链接:https://www.sciencedirect.com/science/article/pii/S1051200422002676

Arxiv链接:https://arxiv.org/abs/2207.09647


一、摘要

自动调制识别(AMR)检测接收到的信号的调制方案,以便进一步处理信号,而不需要事先的信息,并在这种信息缺失时提供基本功能。最近在深度学习(DL)方面的突破为开发用于通信系统的高性能DL-AMR方法奠定了基础。与传统的调制检测方法相比,由于深度神经网络强大的特征提取和分类能力,DL-AMR方法已经取得了很好的性能,包括高识别精度和低错误率。尽管潜力巨大,但DL-AMR方法也带来了复杂性和可解释性方面的问题,这影响了在无线通信系统中的实际部署。本文旨在对当前的DL-AMR研究进行回顾,重点是适当的DL模型和基准数据集。我们进一步提供全面的实验,从准确性和复杂性的角度比较单输入单输出(SISO)系统的最新模型,并建议在新的包含预编码的多输入多输出(MIMO)情况下应用DL-AMR。最后,讨论了现有的挑战和未来可能的研究方向。

二、数据集

三、准确率曲线

 图1  (a),(b),(c),(d)分别是在RML2016.10a, RML2016.10b, RML2018.01a, HisarMod2019.1上的准确率

四、训练开销对比

表1 在四个数据集上的模型大小和训练开销对比

 

五、混淆矩阵对比

图2 14个模型在四个不同数据集上的混淆矩阵对比(A,B,C,D分别代表四个数据集)

 六、备注

如果以上内容对您的研究有帮助的话,请引用我们的文章,如果文章里面涉及到的方法对您的研究有帮助,也请引用他们的文章。(文章中复现的模型都是按照我们的理解,对文章中给出的模型进行复现的结果,可能和原文章有一些差异。)

相关的代码和说明可以在github上找到:https://github.com/Richardzhangxx/AMR-Benchmark

### 关于MIMO-OFDM参数盲估计和调制识别的MATLAB实现 #### MIMO-OFDM系统概述 MIMO-OFDM系统的接收信号是多个发射天线发送信号经过衰落信道并加上噪声后的线性组合[^1]。为了提高通信质量,准确的信道估计至关重要。 #### 参数盲估计方法简介 对于MIMO-OFDM系统中的参数盲估计,常用的方法包括基于子空间分解的技术以及利用导频符号辅助的数据处理技术。然而,在某些应用场景下,完全依赖数据本身而不借助任何已知参考信号来进行信道状态信息获取成为必要。这类算法被称为“盲估计”。 #### MATLAB实现框架 下面提供了一个简单的MATLAB代码片段用于展示如何构建一个基本的MIMO-OFDM参数盲估计算法: ```matlab % 初始化系统参数 numTx = 4; % 发射端数量 numRx = 4; % 接收端数量 NFFT = 64; % FFT点数 CP_length = NFFT/8; % 循环前缀长度 SNR_dB = 20; % SNR (dB) % 构建随机输入比特流并通过映射转换成星座图上的复数值 dataBits = randi([0, 1], numTx * floor(NFFT / 2), 1); modulatedData = qammod(dataBits, 16); % 添加循环前缀(CP),形成完整的OFDM符号 ofdmSymbolWithCP = [modulatedData(end-(CP_length-1):end); modulatedData]; % 经过多径效应模拟实际传播环境下的接收信号 channelResponse = rayleighchan(1e3, 1/(pi*sqrt(numTx))); receivedSignal = filter(channelResponse, ofdmSymbolWithCP); % 去除CP恢复原始OFDM符号结构 strippedOfdmSymbo = receivedSignal((CP_length+1):(length(receivedSignal))); % 执行快速傅里叶变换得到频率域表示形式 freqDomainRepresenation = fft(strippedOfdmSymbo,NFFT)/sqrt(NFFT); % 进行初步的信道响应估算(这里简化为直接取平均) estimatedChannelResp = mean(freqDomainRepresenation, 'all'); disp('Estimated Channel Response:'); disp(estimatedChannelResp'); ``` 这段代码展示了从创建测试用的传输数据到最终获得粗略信道估计的过程。需要注意的是这只是一个非常基础的例子,并未涉及复杂的优化过程或是更精确的盲估计策略。 #### 调制识别部分 针对调制方式自动检测方面,可以采用机器学习模型来分类不同的调制模式。具体来说,可以从接收到的时间序列提取特征向量作为训练样本喂给支持向量机(SVM)或其他类型的分类器完成监督式学习任务;也可以通过统计特性分析如高阶累积量(HOCs)等手段达到无教师指导的目的。 由于篇幅所限无法详尽描述整个流程,建议查阅相关文献资料深入了解特定领域内的最新进展和技术细节。
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值