【信号处理】使用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())
相关推荐
OpenApi.cc7 小时前
猫狗分类模型 GPU版
pytorch·深度学习·分类
科恒盛远14 小时前
【无标题】
fpga开发·硬件工程·信号处理
月疯1 天前
CNN卷积和反卷积输出的计算方法
深度学习·神经网络·cnn
2zcode1 天前
免费开源项目文档:基于MATLAB卷积神经网络的口罩佩戴检测系统
开发语言·matlab·cnn
2zcode2 天前
基于MATLAB卷积神经网络的口罩佩戴检测系统
开发语言·matlab·cnn
海海不掉头发2 天前
机器学习实战:从零掌握集成学习(RF/XGBoost/GBDT/AdaBoost)—— 附泰坦尼克号、红酒分类、加州房价全流程解析
机器学习·分类·集成学习
向哆哆3 天前
高质量人体检测与行人识别数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·目标检测·分类
2zcode3 天前
基于MATLAB图像处理的水果识别与分类系统设计与实现
图像处理·matlab·分类
萧萧秦风瘦飞马3 天前
CSDN博客-第6天-DataLoader与二维非线性分类
人工智能·分类·数据挖掘
+wacyltd大模型备案算法备案4 天前
大模型评估测试题库怎么建?风险分类、测试样本的完整方法
人工智能·算法·安全·分类·大模型·大模型备案·大模型上线登记