【信号处理】使用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())
相关推荐
yuanyuan2o25 小时前
【深度学习】全连接、卷积神经网络
人工智能·深度学习·cnn
Liue612312317 小时前
自卸车多部件识别 _ Mask R-CNN改进模型实现(Caffe+FPN)_1
r语言·cnn·caffe
s09071367 小时前
【声呐硬件设计】LFM信号处理中前级有源滤波器设计的关键考量与原理分析
信号处理·声呐·线性相位·模拟滤波器
爱吃泡芙的小白白10 小时前
深入解析CNN中的BN层:从稳定训练到前沿演进
人工智能·神经网络·cnn·梯度爆炸·bn·稳定模型
禁默20 小时前
打通 AI 与信号处理的“任督二脉”:Ascend SIP Boost 加速库深度实战
人工智能·信号处理·cann
池央20 小时前
CANN SIP 信号处理算子库深度解析:FFT 硬件加速、复数运算的向量化实现与端到端数据流优化
信号处理
水月wwww20 小时前
【深度学习】卷积神经网络
人工智能·深度学习·cnn·卷积神经网络
酷酷的崽79821 小时前
CANN 开源生态实战:端到端构建高效文本分类服务
分类·数据挖掘·开源
池央1 天前
CANN SIP 信号处理算子库深度解析:高性能信号处理的硬件加速、多维数据流与定制化融合策略
信号处理
摘星编程1 天前
CANN ops-nn Pooling算子解读:CNN模型下采样与特征提取的核心
人工智能·神经网络·cnn