一、仿真原理
研究将CNN神经网络应用于射频信号的特征识别。基于lora信号,添加射频特征,比如频偏,相位噪声,IQ不平衡等,经过瑞利信道,在接收到采集射频数据,打上标签,作为训练数据合测试数据,加入CNN模型,进行训练和验证
二、参数设置
信号参数
% 设置设备数量和数据样本
numDevices = 10;
numSignals = 20;
numTxAntennas = 4;
numRxAntennas = 4;
SNR = 0;
LoRaBandwidth = 125e3;
LoRaSpreadingFactor = 7;
fs = 1/LoRaBandwidth*2^LoRaSpreadingFactor;
numSymbols = 20;
% 噪声和失真参数
% 扩大噪声和失真参数的范围
phaseNoise = [-60, -50, -40, -30, -20, -10, 0, 10, 20, 30];
frequencyOffset = [-20, -16, -12, -8, -4, 0, 4, 8, 12, 16,20];
iqGainImbalance = [0.05, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55];
iqPhaseImbalance = [0.05, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55];
realDCOffset = [0.05, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55];
imaginaryDCOffset = [0.05, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55];
设置10台被测设备,每台被测设备又自己不同的射频特征(频偏,相位噪声,IQ不平衡),平台设备发送20个信号,每个信号包含10个符号,每个符号128个码片。所以,CNN输入是一个10*20*20*128的复数集,其中10个符号*128个码片构成一个二维数据,输入给CNN。