⛄一、自适应方法和遗传算法优化神经网络变换域通信系统仿真误码率
变换域通信系统(TDCS,Transform Domain Communication System)功能有环境采样、环境谱估计、基函数幅度谱成型、随机相位生成、反变换生成时域FMW以及数据调制。
TDCS提供了一种在变换域上进行通信信号设计的方法,可以是频域、小波域、分数傅立叶域或其他变换域,该通信系统的信号波形具有多样性,它使用具有不同伪随机相位的信号波形(类似噪声)来传输数据符号,从而使得系统本身具有很强的抗干扰和LPI特性。值得注意的是,TDCS与跳频通信不同的是,一是TDCS的信号不具有载波调制特性,与跳频通信中载波频率受控而产生跳变不同,它是波形调制,二是TDCS使用伪随机序列不是用来扩频,而是生成伪随机相位。故只从TDCS所使用的的变换域调制技术和伪随机相位算法来探究。
1 变换域技术
①离散傅里叶变换(DFT)。该方法通过DFT系数判别当前频谱中的干扰区域或占用区域,并对该区域频点进行定位和抑制。但是,由于傅里叶变换是一种信号的整体变换,只能反映信号的全局特征,不具备时频“定位”能力,因此仅适合分析平稳信号。而对于非平稳信号,只了解信号在时域或频域的全局特性是远远不够的,事实上,由于干扰一般都具有非平稳特征,因此使用DFT方法很难对其进行有效的抑制。
②离散小波变换(DWT)。小波分析方法是一种窗口大小(即窗口面积)固定但其形状可变的时频局部化分析方法,非常适合非平稳信号的处理。它在低频部分具有较高的频率分辨率和较低的时间分辨率,而在高频部分具有较高的时间分辨率和较低的频率分辨率,正是这种特性,使小波变换具有对信号的自适应性。小波变换具有多尺度分析能力,既显示过程变化的全貌,又剖析局部变化特征。该方法通过判断干扰在时间-尺度域中的位置来生成基函数,但由于小波变换在高频部分具有较低的频率分辨率,若干扰频点落在高频部分,那么它会剔除过多的子带,导致频带利用率降低、基函数正交性变差和系统误码率增加。小波分析方法是一种窗口大小(即窗口面积)固定但其形状可改变,即时间窗和频率窗都可以改变的时频局部化分析方法,实现了时一频窗口的自适应变化。
③离散小波包变换(DWPT)。小波包变换在保留小波变换优点的同时,弥补了小波变换高频低分辨率的不足,在对信号低频子带空间进行分解的同时,对高频子带空间也加以分解,这样就可以对落在信号高频子带内的干扰进行精确定位,从而进行有效的抑制。
2 随机相位
①随机相位带来的LPI特性
给每一个频率分量安排一个合适的初相位后,基函数将具有类似于噪声的波形。如果初相位是一样的(比如都为0),那么由多个频率分量合成的基函数波形由于各个频率分量的峰值叠加,所得到的时域波形将是一个脉冲函数。这样的脉冲波形通过相应的仪器是容易检出的,从而不具有LIP特性。如果所有的相位是随机产生的,则将产生一个类似于噪声的波形,没有明显的尖峰。因此采用随机相位使TDCS具有LIP特性。图为相同初相位与随机初相位对比。
②伪随机相位产生过程
伪随机序列或伪噪声序列(PN序列)首先是在扩频通信中使用的,用于信号的扩频编码调制,因此又称扩频序列。最常见的伪随机序列是m序列(最大长度的线性反馈移位寄存器序列),它可以由一个简单的线性移位反馈寄存器(LFSR)产生,如图所示。由n阶LFSR产生的m序列的周期为N=2^n一1。
⛄二、部分源代码
clc;
clear;
%使用遗传算法优化神经网络初始化参数
%采用最速下降梯度法,自适应估计网络连接参数
N = 64; %基函数一个周期内采样点数
Nc = 5000; %仿真次数,5000次取平均值
L = 100; %发送数据的长度
SNR = -19:1:-9; %信噪比
%产生发送端基函数
A_s = -1+2*rand(1,N); %基函数向量对应的幅值
thelta_s = rand(1,N)2pi; %基函数对应的相位
b_s = gen_bn(A_s,thelta_s,N);
M = 2; %采用BPSK,调制阶数为2
%产生发送的信息数据
d_L = randi([0,M-1],1,L);
%初始化连接强度矢量初值
b = rand(1,N);
b = b/sum(b);
%判断学习率参数对算法收敛性的影响
%获取接收信号
for j = 1:N
S(j) = b_s(j)exp(1i2pid_L(end)/M);
end
%添加高斯白噪声
R = awgn(S,SNR(end));
%采用遗传算法优化初始化参数b
%种群的大小
pop_size = 10;
%交叉率
Pc = 0.7;
%变异率
Pm = 0.2;
%进化代数
max_gen = 50;
%初始化种群
pop = zeros(pop_size,N);
for i = 1:pop_size
b_tmp = rand(1,N);
b_tmp = b_tmp/sum(b_tmp);
pop(i,:) = b_tmp;
end
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]汪晓岩. 基于OFDM技术的电力线通信系统的MATLAB模拟[J].电力系统通信, 2002, (2): 2-6
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除