【信号处理】使用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())
相关推荐
苏州汇成元电子科技16 小时前
从I-PEX 82441-100B-02-D看14Pin极细同轴线束怎么选?
音视频·硬件工程·信号处理·材料工程
2zcode20 小时前
基于MATLAB卷积神经网络的多颜色车牌识别系统设计与实现
开发语言·matlab·cnn
jiang_bluetooth1 天前
蓝牙6.0 Channel Sounding 分数时延估计原理详解
蓝牙·信号处理·蓝牙测距·channel sound·蓝牙6.0
renhongxia11 天前
开源大模型VS闭源大模型:2026年格局再梳理
深度学习·算法·语言模型·分类·开源
小何code1 天前
【第19篇】卷积神经网络CNN入门:图像识别的利器
人工智能·深度学习·cnn
Aipollo1 天前
行业Agent记忆:从功能分类到实现路径
人工智能·分类·数据挖掘·milvus
高翔·权衡之境1 天前
主题2:从比特到波形——调制与编码
人工智能·物联网·信息与通信·信号处理
2zcode1 天前
基于MATLAB的CNN和SVM苹果质量智能检测与分级系统研究
支持向量机·matlab·cnn
Dxy12393102162 天前
Python如何处理树状分类数据
大数据·python·分类
技术小黑2 天前
CNN算法实战系列02 | ResNet50V2算法实战与解析
pytorch·深度学习·算法·cnn