X1=0;X2=0;X3=1;

m=350;               %重复50遍的7位单极性m序列

for i=1:m

Y3=X3;  Y2=X2;   Y1=X1;

X3=Y2;   X2=Y1;

X1=xor(Y3,Y1);

L(i)=Y1;

end

for i=1:m

M(i)=1-2*L(i);        %将单极性m序列变为双极性m序列

end

k=1:1:m;

% figure(1)

% subplot(3,1,1)                        %做m序列图

% stem(k-1,M);

% axis([0,7,-1,1]);

% xlabel('k');

% ylabel('M序列');

% title('移位寄存器产生的双极性7位M序列') ;

% subplot(3,1,2)

ym=fft(M,4096);

magm=abs(ym);                %求双极性m序列频谱

fm=(1:2048)*200/2048;

% plot(fm,magm(1:2048)*2/4096);

% title('双极性7位M序列的频谱')

% axis([90,140,0,0.1]);

% [a,b]=xcorr(M,'unbiased');

% subplot(3,1,3)                        %求双极性m序列自相关函数

% plot(b,a);

% axis([-20,20,-0.5,1.2]);

% title('双极性7位M序列的自相关函数');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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,112000,0,1]);

%  title('扩频后的待发送序列码');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% figure(3)

subplot(2,1,2)

% num=0.5e6;

fc=5.6e4;

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*fc*ts);%扩频后信号BPSK调制时域波形,(1-2.*s_b)是1,-1序列

plot(ts,s_bpsk);

xlabel('s');

% axis([0.055,0.085,-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.055,0.085,-1.2,1.2]);

% title('扩频前bpsk信号时域波形')

更多推荐