【信号处理】使用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())
相关推荐
量子-Alex4 分钟前
【遥感图像分类】【综述】遥感影像分类:全面综述与应用
人工智能·分类·数据挖掘
早睡早起吧16 小时前
目标检测篇---Fast R-CNN
人工智能·目标检测·计算机视觉·cnn
SophiaSSSSS1 天前
无标注文本的行业划分(行业分类)算法 —— 无监督或自监督学习
学习·算法·分类
胡耀超1 天前
5.第五章:数据分类的方法论
大数据·人工智能·分类·数据挖掘·数据治理·数据分类·分类分级
早睡早起吧1 天前
目标检测篇---faster R-CNN
人工智能·python·目标检测·计算机视觉·cnn
loriby1 天前
卷积神经网络:视觉炼金术士的数学魔法
人工智能·神经网络·cnn
摸鱼小能手~2 天前
TextCNN 模型文本分类实战:深度学习在自然语言处理中的应用
深度学习·自然语言处理·分类
潦草通信狗2 天前
Joint communication and state sensing under logarithmic loss
人工智能·深度学习·算法·机器学习·信号处理·信息论·通信感知一体化
深圳信迈科技DSP+ARM+FPGA2 天前
基于ARM+FPGA+DSP的储能协调控制器解决方案,支持国产化
arm开发·fpga开发·信号处理
云天徽上2 天前
【数据可视化-22】脱发因素探索的可视化分析
人工智能·机器学习·信息可视化·分类