原数据下载网址:RF Datasets For Machine Learning | DeepSig
该数据集包含24种调制样式:'OOK', '4ASK', '8ASK', 'BPSK', 'QPSK', '8PSK', '16PSK', '32PSK', '16APSK', '32APSK', '64APSK', '128APSK', '16QAM', '32QAM', '64QAM', '128QAM', '256QAM', 'AM-SSB-WC', 'AM-SSB-SC', 'AM-DSB-WC', 'AM-DSB-SC','FM', 'GMSK', 'OQPSK'
信噪比范围:SNR = -20:2:30
每个调制,每个信噪比有4096条数据,共计2555904条数据,IQ数据,数据格式为(1024, 2)
数据集参数详见论文:
Over-the-Air Deep Learning Based Radio Signal Classification | IEEE Journals & Magazine | IEEE Xplore
我在做调制识别的时候,用到了该数据集。首先该数据集进行拆分,再按照自己的任务需求进行拼接。在此,分享我的拆分程序,大家运行该程序后即可获得单信噪比单调制样式的信号数据集。
拆分程序:
# -*- coding: utf-8 -*-
"""
Created on Fri Jun 4 12:42:09 2021
@author: Fuxue
"""
import h5py
h5file = h5py.File('GOLD_XYZ_OSC.0001_1024.hdf5', 'r+')
X = h5file['X'][:]
Y = h5file['Y'][:]
Z = h5file['Z'][:]
import numpy as np
import scipy.io as io
X_array = np.array(X) #IQ
Y_array = np.array(Y) #mod
Z_array = np.array(Z) #SNR
mod = ['OOK', '4ASK', '8ASK', 'BPSK', 'QPSK', '8PSK', '16PSK', '32PSK', '16APSK', '32APSK', '64APSK', '128APSK', '16QAM', '32QAM', '64QAM', '128QAM', '256QAM', 'AM-SSB-WC', 'AM-SSB-SC', 'AM-DSB-WC', 'AM-DSB-SC','FM', 'GMSK', 'OQPSK']
snr = range(-20,31,2)
n = 0
for i in range(0,24,1):
for j in range(0,26,1):
IQ = X_array[n*4096:(n+1)*4096,:,:]
path = mod[i]+"_SNR="+str(snr[j])+"dB.mat"
io.savemat(path,{'name': IQ})
n = n + 1
print('ending')
最终得到一系列.mat文件:
若该经验帖对您有用,请您引用我的论文,谢谢,祝各位学业顺利~
[1] X. Fu, G. Gui, Y. Wang, et al., "Lightweight Automatic Modulation Classification Based on Decentralized Learning," in IEEE Transactions on Cognitive Communications and Networking, vol. 8, no. 1, pp. 57-70, March 2022, doi: 10.1109/TCCN.2021.3089178.
[2] X. Fu, G. Gui, Y. Wang, H. Gacanin and F. Adachi, "Automatic Modulation Classification Based on Decentralized Learning and Ensemble Learning," in IEEE Transactions on Vehicular Technology, doi: 10.1109/TVT.2022.3164935.