【信号调制】使用不同的分类器(逻辑回归分类器、决策树、随机森林、全连接密集层和CNN)来训练模型,以预测不同信噪比值下信号的调制类型(Python代码实现)

 👨‍🎓个人主页:研学社的博客    

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Python代码实现


💥1 概述

使用不同的分类器(逻辑回归分类器、决策树、随机森林、全连接密集层和CNN)来训练我们的模型,以预测不同信噪比值下信号的调制类型。

📚2 运行结果

x_pts = []
for i in range(-20,20, 2):
    x_pts.append(i)
x_pts = np.array(x_pts)
plt.plot(x_pts, tree_accuracy)
plt.plot(x_pts, logistic_reg_accuracy)
plt.plot(x_pts, forest_accuracy)
plt.plot(x_pts, dnn_accuracy)
plt.plot(x_pts, cnn_accuracy)
plt.grid(True)
plt.title('Accuracies of {}'.format(type))
plt.xlabel('SNR')
plt.ylabel('Accuracy')
plt.legend(['decision tree', 'logistice regression', 'random forest', 'DNN','CNN'], loc='upper left')
plt.show()

 

 at SNR: -20 Accuracy: 0.10116666666666667
at SNR: -18 Accuracy: 0.10416666666666667
at SNR: -16 Accuracy: 0.10933333333333334
at SNR: -14 Accuracy: 0.11866666666666667
at SNR: -12 Accuracy: 0.14838888888888888
at SNR: -10 Accuracy: 0.18433333333333332
at SNR: -8 Accuracy: 0.2222222222222222
at SNR: -6 Accuracy: 0.25566666666666665
at SNR: -4 Accuracy: 0.31444444444444447
at SNR: -2 Accuracy: 0.328
at SNR: 0 Accuracy: 0.3355
at SNR: 2 Accuracy: 0.3512222222222222
at SNR: 4 Accuracy: 0.38672222222222224
at SNR: 6 Accuracy: 0.40994444444444444
at SNR: 8 Accuracy: 0.4452777777777778
at SNR: 10 Accuracy: 0.4598333333333333
at SNR: 12 Accuracy: 0.475
at SNR: 14 Accuracy: 0.49266666666666664
at SNR: 16 Accuracy: 0.4958888888888889
at SNR: 18 Accuracy: 0.5021666666666667
confusion matrix at SNR = 18
[[ 548 72 1 16 238 268 368 12 191 86]
[ 81 1030 0 11 177 167 67 10 238 19]
[ 0 0 1148 2 0 0 0 649 1 0]
[ 9 5 12 1607 10 13 10 106 14 14]
[ 246 189 1 17 394 434 307 8 134 70]
[ 274 188 0 19 408 417 283 8 134 69]
[ 381 81 2 11 311 321 454 11 143 85]
[ 2 0 685 103 1 4 6 996 3 0]
[ 164 186 2 17 117 147 162 16 969 20]
[ 90 20 1 13 43 41 86 7 23 1476]]
Mean accuracy = 0.3120305555555555
Accuracy at 0 SNR = 0.3355

at SNR: -20 Accuracy: 0.1055
at SNR: -18 Accuracy: 0.10827777777777778
at SNR: -16 Accuracy: 0.12355555555555556
at SNR: -14 Accuracy: 0.13361111111111112
at SNR: -12 Accuracy: 0.14394444444444446
at SNR: -10 Accuracy: 0.16466666666666666
at SNR: -8 Accuracy: 0.17983333333333335
at SNR: -6 Accuracy: 0.18522222222222223
at SNR: -4 Accuracy: 0.1923888888888889
at SNR: -2 Accuracy: 0.19283333333333333
at SNR: 0 Accuracy: 0.19794444444444445
at SNR: 2 Accuracy: 0.2078888888888889
at SNR: 4 Accuracy: 0.18755555555555556
at SNR: 6 Accuracy: 0.19527777777777777
at SNR: 8 Accuracy: 0.19166666666666668
at SNR: 10 Accuracy: 0.19311111111111112
at SNR: 12 Accuracy: 0.19972222222222222
at SNR: 14 Accuracy: 0.20444444444444446
at SNR: 16 Accuracy: 0.19044444444444444
at SNR: 18 Accuracy: 0.1998888888888889
confusion matrix at SNR = 18
[[ 203 244 12 183 270 298 226 53 137 174]
[ 186 255 25 186 201 243 200 180 145 179]
[ 0 24 1204 127 13 0 0 367 65 0]
[ 123 135 211 447 99 162 133 292 124 74]
[ 221 244 15 199 256 285 213 76 116 175]
[ 219 220 21 156 269 287 237 74 134 183]
[ 253 220 16 193 236 293 203 62 135 189]
[ 16 25 1041 134 7 9 41 445 81 1]
[ 229 250 20 164 245 278 212 95 131 176]
[ 231 189 33 240 250 263 178 117 132 167]]
Mean accuracy = 0.1748888888888889
Accuracy at 0 SNR = 0.19794444444444445 

 

at SNR: -20 Accuracy: 0.1
at SNR: -18 Accuracy: 0.1
at SNR: -16 Accuracy: 0.1
at SNR: -14 Accuracy: 0.22616666666666665
at SNR: -12 Accuracy: 0.30416666666666664
at SNR: -10 Accuracy: 0.3878888888888889
at SNR: -8 Accuracy: 0.4518333333333333
at SNR: -6 Accuracy: 0.5125
at SNR: -4 Accuracy: 0.5898888888888889
at SNR: -2 Accuracy: 0.6178888888888889
at SNR: 0 Accuracy: 0.5871111111111111
at SNR: 2 Accuracy: 0.5788888888888889
at SNR: 4 Accuracy: 0.6038333333333333
at SNR: 6 Accuracy: 0.6275
at SNR: 8 Accuracy: 0.6495
at SNR: 10 Accuracy: 0.6786666666666666
at SNR: 12 Accuracy: 0.542
at SNR: 14 Accuracy: 0.6283333333333333
at SNR: 16 Accuracy: 0.6664444444444444
at SNR: 18 Accuracy: 0.6316666666666667
confusion matrix at SNR = 18
[[ 950 2 0 4 106 92 257 0 20 369]
[ 5 1495 0 3 39 48 20 2 188 0]
[ 0 0 1421 0 0 0 0 379 0 0]
[ 0 0 2 1685 0 0 0 107 0 6]
[ 200 10 0 2 821 613 93 0 27 34]
[ 267 9 0 0 769 564 120 0 36 35]
[ 821 3 0 3 120 144 402 0 45 262]
[ 0 0 957 166 0 0 0 677 0 0]
[ 107 70 1 11 8 20 13 5 1558 7]
[ 2 0 0 1 0 0 0 0 0 1797]]
Mean accuracy = 0.47921388888888883
Accuracy at 0 SNR = 0.5871111111111111 

 

 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]贺超,陈进杰,金钊,雷印杰.基于多模态时-频特征融合的信号调制格式识别方法[J].计算机科学,2023,50(04):226-232.

[2]任彦洁,唐晓刚,张斌权,冯俊豪.基于时间卷积网络的通信信号调制识别算法[J].无线电工程,2023,53(04):807-814.

🌈4 Python代码实现

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值