生成M序列图
五、基本扩频系统仿真流程图
5级移位寄存器m序列相关性结果图
100/7Hz 二进制比特信息 100Hz 7位双极性m序列 100Hz 扩频序列 2000Hz 载波cos4000πt BPSK调制信号 恢复载波cos4000πt 凯萨尔滤波器低通滤波 100Hz 7位双极性m序列 采样、判决 matlab程序及仿真结果图
1)生成50位随机待发送二进制比特序列,并进行扩频编码
生成的信息码频率为100/7Hz,利用m序列编码后,频率变为100Hz。
N=50;a=0;
x_rand=rand(1,N); %产生50个0与1之间随机数 for i=1:N
if x_rand(i)>=0.5 %大于等于0.5的取1,小于0.5的取0 x(i)=1;a=a+1; else x(i)=0; end end
t=0:N-1; figure(2) %做信息码图
subplot(2,1,1) stem(t,x);
title('扩频前待发送二进制信息序列'); tt=0:349; subplot(2,1,2) l=1:7*N; y(l)=0; for i=1:N k=7*i-6;
y(k)=x(i);
k=k+1;y(k)=x(i);k=k+1;y(k)=x(i);k=k+1;y(k)=x(i);k=k+1;y(k)=x(i);k=k+1;y(k)=x(i);k=k+1;y(k)=x(i); end s(l)=0;
for i=1:350 %扩频后,码率变为100/7*7=100Hz s(i)=xor(L(i),y(i)); end
tt=0:7*N-1; stem(tt,s);
axis([0,350,0,1]);
title('扩频后的待发送序列码');
2)对扩频前后信号进行BPSK调制,观察其时域波形
BPSK调制采用2kHz信号cos(2*2000*t)作为载波
figure(3)
subplot(2,1,2) fs=2000;
ts=0:0.00001:3.5-0.00001;%为了使信号看起来更光滑,作图时采样频率为100kHz % ps=cos(2*pi*fs*ts);
s_b=rectpulse(s,1000); %将冲激信号补成矩形信号
s_bpsk=(1-2.*s_b).*cos(2*pi*fs*ts);%扩频后信号BPSK调制时域波形 plot(ts,s_bpsk); xlabel('s');
axis([0.07,0.2,-1.2,1.2])
title('扩频后bpsk信号时域波形'); subplot(2,1,1)
s_bb=rectpulse(x,7000);
s_bpskb=(1-2.*s_bb).*cos(2*pi*fs*ts);%无扩频信号BPSK调制时域波形 plot(ts,s_bpskb); xlabel('s');
axis([0.07,0.2,-1.2,1.2]);
title('扩频前bpsk信号时域波形')
可以看出,100/7Hz的无扩频信号每0.07s时由于序列极性变换产生相位变换,100Hz的扩频后调制信号每0.01s由于序列极性变换产生相位变换。
3)计算并观察扩频前后BPSK调制信号的频谱
对信号采用400000点fft计算,得到频谱 figure(4) N=400000;
ybb=fft(s_bpskb,N); %无扩频信号BPSK调制频谱 magb=abs(ybb);
fbb=(1:N/2)*100000/N; subplot(2,1,1)
plot(fbb,magb(1:N/2)*2/N); axis([1700,2300,0,0.3]);
title('扩频前调制信号频谱'); xlabel('Hz'); subplot(2,1,2)
yb=fft(s_bpsk,N); %扩频信号BPSK调制频谱 mag=abs(yb);
fb=(1:N/2)*100000/N; plot(fb,mag(1:N/2)*2/N); axis([1700,2300,0,0.3]);
title('扩频后调制信号频谱'); xlabel('Hz');
如图,扩频前信号主瓣宽度约为2*100/7=28Hz,扩频后,信号频谱展宽,主瓣1900~2100Hz约为200Hz,为无扩频信号频谱宽度的N=7倍,符合理论推算。