【信号处理】使用CNN对RF调制信号进行分类

Modulation Classification

Using CNN to classify RF modulation data.

Dataset is from: DATA LINK

paper: Over the Air Deep Learning Based Radio Signal Classification

Data Preprocessing

Data is processed. Column data are a two variable label composed of the Modulation and SNR, Row 0 is the binary encoded version of the Modulation and SNR, Row 1 is the actual data, each column is a 2, 128 array of I and Q data for the specified Modulation and SNR in the column label.

Build the CNN

python 复制代码
from keras.models import Sequential
from keras.layers import Dense, Activation, Dropout, Conv1D, MaxPooling1D, GlobalAveragePooling1D, Flatten

verbose, epochs, batch_size = 1, 256, 1024
n_timesteps, n_features, n_outputs = xTrain.shape[1], xTrain.shape[2], yTrain.shape[1]
print('timesteps=', n_timesteps, 'features=', n_features, 'outputs=', n_outputs)
model = Sequential()
model.add(Conv1D(filters=64, kernel_size=3, activation='relu', input_shape=(n_timesteps, n_features)))
model.add(Conv1D(filters=64, kernel_size=3, activation='relu'))
model.add(Dropout(0.5))
model.add(MaxPooling1D(pool_size=2))
model.add(Flatten())
model.add(Dense(100, activation='relu'))
model.add(Dense(n_outputs, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
#model.compile(RAdam(), loss='categorical_crossentropy', metrics=['accuracy'])
print(model.summary())
相关推荐
大鹏的NLP博客39 分钟前
基于 Transformer robert的情感分类任务实践总结之二——R-Drop
分类·transformer·r-dop
Humbunklung2 小时前
机器学习算法分类
算法·机器学习·分类
王上上5 小时前
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
论文阅读·人工智能·cnn
只有左边一个小酒窝7 小时前
(六)卷积神经网络:深度学习在计算机视觉中的应用
深度学习·计算机视觉·cnn
山顶听风8 小时前
多层感知器MLP实现非线性分类(原理)
人工智能·分类·数据挖掘
山顶听风8 小时前
MLP实战二:MLP 实现图像数字多分类
人工智能·机器学习·分类
rit84324999 小时前
基于BP神经网络的语音特征信号分类
人工智能·神经网络·分类
yzx99101313 小时前
基于 Q-Learning 算法和 CNN 的强化学习实现方案
人工智能·算法·cnn
苏苏susuus1 天前
机器学习:集成学习概念和分类、随机森林、Adaboost、GBDT
机器学习·分类·集成学习
Listennnn2 天前
信号处理基础到进阶再到前沿
人工智能·深度学习·信号处理