1.算法概述
频谱感测是认知无线电的一项关键技术。我们将频谱感知作为一个分类问题,提出一种基于深度学习分类的感知方法。我们归一化接收信号功率以克服噪声功率不确定性的影响。我们使用尽可能多的信号以及噪声数据来训练模型,以使训练后的网络模型能够适应未训练的新信号。我们还使用迁移学习策略来提高实际信号的性能。进行了广泛的实验以评估该方法的性能。
1.1能量检测
能量检测法是一种非相干的检测手段,与频谱分析非常相似,也是通过判决来实现的。该方法依据感知器在信号有无两种假设情况下按接收信号功率大小的不同对信号进行检测。这种方法是一种对未知参数的确定性信号及其存在性检测的有效方法。由于能量检测对信号类型不作限制,因此不需要授权信号的先验信息。能量检测的主要思想是:将授权信号S(t)的功率在一个时间段(N个采样点)内取平均:
接着与预设门限进行比较,判定该频段是否存在授权信号。
1.2循环平稳检测
现有算法基本都是利用时域法实现信号的循环谱检测[6]。因为对时域直接进行运算方法简单,所乘的旋转因子利用欧拉公式将实数域与复数域所得的结果分别存储即可。但是正弦和余弦函数的数值计算通常利用泰勒公式进行近似,因此计算的周期较长,系统比较复杂且实时性不高。为了提高信号检测的实时性,本文考虑频域计算的方法,利用离散傅里叶变换中时域乘以一个旋转因子就相当于在频域进行循环位移的性质,只需要将经过离散傅里叶变换后的序列进行循环位移,单用移位寄存器即可实现,相对于计算正弦和余弦函数简单得多。
1.3自相关检测
依据自相关的定义,自相关的检验就是寻找能够判断随机误差项与其自身一阶或多阶滞后项是否相关的方法。这里仍然采用OLS估计模型所得到的残差e t e_{t}et作为随机干扰项的近似估计量,通过分析OLS所得到的残差与其自身滞后项的相关性来判断随机干扰项是否存在自相关性。
能量检测方法,即将接收到的模拟信号变为数字信号后,通过FFT变换,然后再进行,在现有的通信系统中,通常为ASK、PSK、FSK、QAM等,它们都由数字基带脉冲对周期性载波的参数进行调制。采样频率fs =100Hz,,载频fc=30Hz,码率f0= fs/20。
2.仿真效果预览
matlab2022a仿真
3.MATLAB部分代码预览
sel = 1;%1:高斯信道;0:莱斯信道
SNR = 10;%信噪比
%生成bpsk调制信号
fs=100;
%采样频率
fc=30;
%载频
fo=fs/20;
%码率
L=4000;
%信号样本
t = (0:L-1)*1/fs;
xn=cos(8*pi*fc*t);%产生最为简单的BPSK信号
if sel == 1
y = awgn(xn,SNR);%高斯信道
else
c = [1,0.5,0.1];
y = filter(c,xn);
end
% chan = rayleighchan(Ts,fd,tau,pdb)
% Ts :采样时间,如果考虑基带信号,这个和接收机要处理的数据速率是一样的,要考虑过采样的影响
% fd :就是Doppler频偏,以Hz为单位,与速率的换算关系为v×fc/c,fc是载频
figure(1)
subplot(121);plot(t,y);title('产生的BPSK信号');
%进行能量检测
NFFT = 2^nextpow2(L);
Y = fft(y,NFFT)/L;%第一步,进行FFT变换
f = fs/2*linspace(0,1,NFFT/2);
subplot(122);plot(f,2*abs(Y(1:NFFT/2)),'r-*');title('能量检测效果');
01-35m