【信号处理】使用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())
相关推荐
和鲸社区29 分钟前
四大经典案例,入门AI算法应用,含分类、回归与特征工程|2025人工智能实训季初阶赛
人工智能·python·深度学习·算法·机器学习·分类·回归
IT古董35 分钟前
【第五章:计算机视觉】1.计算机视觉基础-(3)卷积神经网络核心层与架构分析:卷积层、池化层、归一化层、激活层
人工智能·计算机视觉·cnn
七芒星20231 小时前
ResNet(详细易懂解释):残差网络的革命性突破
人工智能·pytorch·深度学习·神经网络·学习·cnn
三之又三20 小时前
卷积神经网络CNN-part5-NiN
人工智能·神经网络·cnn
rit84324991 天前
人工鱼群算法AFSA优化支持向量机SVM,提高故障分类精度
算法·支持向量机·分类
小龙1 天前
图卷积神经网络(GCN)学习笔记
笔记·学习·cnn·gcn·图卷积神经网络·理论知识
太爱学习了1 天前
FPGA雷达信号处理之:自适应门限阈值
fpga开发·信号处理
先做个垃圾出来………1 天前
传统模型RNN与CNN介绍
人工智能·rnn·cnn
达不溜的日记2 天前
ADC模数转换器详解(基于STM32)
stm32·单片机·嵌入式硬件·信息与通信·信号处理
colus_SEU2 天前
【卷积神经网络详解与实例】4——感受野
人工智能·深度学习·计算机视觉·cnn