检波器10.90.80.70.6幅度0.50.40.30.20.10024681012codelength14161820
第五步,计算误码率
利用函数调用,进行误码率计算,如果检测器的输出与从发射器传送的比特不一致,就被计数器计为1个差错。 count=0; for i=1:20
if(x(i)~=d(i)) count=count+1; end
end
rate=count/code_length; %figure(5)
%stem(rate);
-------------------------------- clear all;close all;clc; m=50;
code_length=20; for a=0:50
rate(a+1)=jct(m,20,a); end
6
错误率0.40.350.30.25误码率0.20.150.10.0500102030a405060
2加随机序列后序列进行扩频通信系统仿真
第一步,搭建扩频系统,编写程序生成加伪随机序列调制器
设信源信息码的总长度为20,每个信息码内含8个采样点。通过sign,rand 函数,把20个(0,1)区间内的随机数变成20个只用“1”与“-1”表示的信息码,而后再通过一个循环,对每一个信息码采样8次,共生成160个采样点,调制器的输
出乘上一个M位的伪随机序列(用随机数发生器产生等概的±1序列) 程序如下:
m=8;
code_length=20; %信息码元个数
N=1:code_length; rand('seed',0);
x=sign(rand(1,code_length)-0.5); %信息码%产生在-1到=+1之间的随机数 for i=1:20
s((1+(i-1)*m):i*m)=x(i); %每个信息码元内含m 个采样点
%调制
x_code=sign(rand(1,m)-0.5); %把0,1 序列码变换为-1,1 调制码 w_code((1+(i-1)*m):i*m)=s((1+(i-1)*m):i*m).*x_code; %每个伪码码元内含8 个采样点 end
7
加伪随机序列调制10.80.60.40.2幅度0-0.2-0.4-0.6-0.8-1020406080100codelength*m120140160
第二步,搭建扩频系统,编写程序生成加伪随机序列解制器
解调器输入乘以同一个伪随机序列。传输信道受到加性噪声和一个单频正弦噪声的干扰。假定正弦噪声幅度大于M。 %加sin噪声
t=0:m*code_length-1; p=(m+1)*sin(4*pi/m*t);
a=1;
noise=(rand(1,m*code_length)-0.5)*2*a;%噪声调幅干扰
receive=w_code+noise+p;%加性噪声和一个单频正弦噪声的干扰 %解调
for i=1:20
d(i)=sign(sum(receive((1+(i-1)*m):i*m).* x_code));% 解调器输入乘以同一个伪随机序列 end
8
加伪随机序列解制15105幅度0-5-10-15020406080100codelength*m120140160
第三步,用和不用伪随机序列执行该仿真系统
利用函数调用,进行误码率计算,如果输出与从发射器传送的比特不一致,就被计数器计为1个差错。对不同M值测量差错率,并比较不同系统的效果。 %检波 for i=1:20 if (d(i)<0) z(i)=-1; else z(i)=1; end end
count=0; for i=1:20 if x(i)~=z(i)
% 如果检测器的输出与从发射器传送的比特不一致,就被计数器计为1个差错。 count=count+1; end
end
rate=count/code_length;%求误码率 -------------------------- %对函数进行调用
clear all;close all;clc; a=100;
for m=1:1000;
rate(m)=tgt(m,20,a); rate1(m)=jct(m,20,a);
9
end
figure(1) subplot(211) plot(rate1);
title('不加伪随机序列执行仿真系统') xlabel('m');ylabel('误码率'); subplot(212) plot(rate)
title('加伪随机序列执行仿真系统') xlabel('m');ylabel('误码率');
不加伪随机序列执行仿真系统0.90.8误码率0.70.60.50100200300500600700m加伪随机序列执行仿真系统40080090010000.80.6误码率0.40.200100200300400500m6007008009001000
分析:经过比较可以看出加伪随机序列后生成的误码率相对于不加伪随机序列要小,且变化幅度小,所以加伪随机码序列稳定
10