瑞利衰落条件下扩频通信系统误码率仿真
Posted fpga和matlab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了瑞利衰落条件下扩频通信系统误码率仿真相关的知识,希望对你有一定的参考价值。
目录
一、理论基础
扩展频谱通信,简称扩频通信,是一种信息传输方式,其信号所占有的频带宽度远大于所传信息必需的最小带宽;频带的扩展是通过一个独立的码序列(一般是伪随机码)来完成,用编码及调制的方法来实现的,与所传信息数据无关;在接收端则用同样的码进行相关同步接收、解扩及恢复所传信息数据。
直接序列扩频,简称DS(DirectSequence):就是用高码率的扩频码序列在发端直接去扩展信号的频谱,在收端直接使用相同的扩频码序列对扩展的信号频谱进行解调,还原出原始的信息。直接序列扩频信号由于将信息信号扩展成很宽的频带,它的功率频谱密度比噪声还要低,使它能隐蔽在噪声之中,不容易被检测出来。对于干扰信号,收信机的码序列将对它进行非相关处理,使干扰电平显著下降而被抑制。这种方式运用最为普遍,成为行业领域研究的热点。
二、案例背景
1.问题描述
扩频通信技术的发展是从测距开始的,20世纪80年代以来广泛应用于军事中,近年来在现代科技的许多领域中,得到了非常广泛的应用,并且应用范围不断扩大。
(1)军事通信中的应用
在军事通信中,扩频通信是通信反对抗最重要的技术手段,它广泛应用于各种通信、信息系统,武器系统和C3I(通信、控制、指挥及情报)系统。在地面、海、空战术通信中,通常采用扩频技术来提高通信电台的抗干扰能力,提高抗干扰性能和数字化将是战术电台发展的主流。在海湾战争中,以美国为首的联军使用了采用扩频技术的全球定位系统(GPS)、联合战术信息分发系统(JTIDS)、定位报告系统(PLRS)以及大量的单信道地面与机载系统(SINCGARS)等系统。实践应用充分证明了扩频技术在军事通信系统中的重要性。
(2)移动通信中的应用
在民用通信中,新一代数字蜂房移动通信系统已广泛采用扩频技术,其目的是提高频谱利用率及减少共信道干扰的影响。利用扩频技术的码分多址系统,对每个移动台都分配一个特有的、随机的码序列,且彼此都不相关,以此来区分各个移动台的信号,因此,在一个信道中能容纳更多的用户,其频谱利用率是频分多址通信系统的20倍左右,每一小区容纳的用户数可达2500个。此外,在移动通信中多径效应产生的衰落较为严重,而采用扩展频谱技术可以有效地克服多径效应对移动通信的影响。
(3)卫星通信中的应用
在军事卫星通信中直接序列扩频技术和跳频技术已经得到了广泛应用。由于扩频码分多址系统组网灵活,以及当网内同时工作的用户数增多并超过设计的载荷时,具有承受过载的能力,所以在民用卫星通信中也得到了应用。民用卫星通信采用扩频码分多址技术和伪随机序列直接扩展频谱的方法,对信号进行能量扩散,以减少卫星系统的干扰。
2.思路流程
整个通信系统,包括
1.发射
2.调制
3.扩频
4.采样
5.滤波
6.高斯信道和瑞利信道
7.接收机
8.解扩
9.QPSK解调
10误码率分析
三、部分MATLAB仿真
%信道选择
Is_Rayleigh = 1;
%符号率
Sym_Rate = 0.5e6;
%调制
Mod_order = 2;
%比特率
Bit_Rate = Sym_Rate*Mod_order;
%符号数
Sim_Num = 100;
SNR = [-2:1:8];
%滤波阶数
Filter_Order = 15;
Samples = 4;
%滚降
Alpha = 0.5;
Filter1 = func_filter(Filter_Order,Samples,Sym_Rate,Alpha,1);
Filter0 = func_filter(Filter_Order,Samples,Sym_Rate,Alpha,0);
%扩频码初值
UE_num = 1;
morder = 3;
register1_coff = [1,3];
register2_coff = [2,3];
register1 = [1,1,1];
register2 = [1,1,1];
%扩频码
Ind = 0;
for snrs=SNR
snrs
Ind = Ind + 1;
%m序列
Mcode = func_Mseq(morder,register1_coff,register1,UE_num);
%bpsk
Mcode = 2*Mcode - 1;
MLen = length(Mcode);
%信道衰减初值设定
rayleigh_parameter;
MTKL = 100;
Nerr = 0;
Nall = 0;
for j=1:MTKL
%发射
Tr = (randn(UE_num,Sim_Num*Mod_order) >= 0);
%调制
[Im,Qm] = func_Mod(Tr,UE_num,Sim_Num,Mod_order);
%扩频
[Ims,Qms] = func_spread(Im,Qm,Mcode);
%采样
[Imss,Qmss] = func_samples(Ims,Qms,Samples);
%滤波
[Imssf,Qmssf]= func_filter2(Imss,Qmss,Filter1);
if UE_num == 1
Imv = Imssf; Qmv = Qmssf;
else
Imv = sum(Imssf); Qmv = sum(Qmssf);
end
%高斯信道和瑞利信道
if Is_Rayleigh == 0
ImTr = Imv;
QmTr = Qmv;
else
[ImTr,QmTr] = func_fade(Imv,Qmv,Delays,fading,Theta,No,Counts,Nums,length(Imv),Time_fbl,fd,flat);
Counts = Counts + itndel;
end
%接收机
SFading = sum(rot90(Imssf.^2 + Qmssf.^2))/Sim_Num;
At = sqrt(0.5 * SFading * Sym_Rate / Bit_Rate * 10^(-snrs/10));
Imr = ImTr + randn(size(ImTr)) .* At;
Qmr = QmTr + randn(size(QmTr)) .* At;
[Imrf,Qmrf] = func_filter2(Imr,Qmr,Filter0);
sampl = Filter_Order * Samples + 1;
Imrfs = Imrf(:,sampl:Samples:Samples*Sim_Num*MLen+sampl-1);
Qmrfs = Qmrf(:,sampl:Samples:Samples*Sim_Num*MLen+sampl-1);
%解扩
[II,QQ] = func_despread(Imrfs,Qmrfs,Mcode);
%QPSK解调
demodata = func_Demod(II,QQ,UE_num,Sim_Num,Mod_order);
%误码率分析
noe2 = sum(sum(abs(Tr-demodata)));
nod2 = UE_num * Sim_Num * Mod_order;
Nerr = Nerr + noe2;
Nall = Nall + nod2;
end
ber = Nerr / Nall;
ERRS(Ind) = ber;
end
四、仿真结论分析
从上面的仿真结果可知,扩频系统在瑞利信道下,其误码率较高。
五、参考文献
http://wenku.baidu.com/view/32d5bceb6294dd88d0d26b03.html
http://wenku.baidu.com/view/4099a8c758f5f61fb7366676.htmlA1-92
以上是关于瑞利衰落条件下扩频通信系统误码率仿真的主要内容,如果未能解决你的问题,请参考以下文章
误码率仿真基于matlab多径信道下OFDM通信系统误码率仿真含Matlab源码 2078期
误码率仿真基于matlab多径信道下OFDM通信系统误码率仿真含Matlab源码 2078期