直接序列扩频通信系统仿真程序>>code_length=20;%信息码元个数>>N=1:code_length;>>rand('seed',0);>>x=sign(rand(1,code_length)-0
5);%信息码>>fori=1:20s((1+(i-1)*800):i*800)=x(i);%每个信息码元内含fs/f=800个采样点end生成的信息码的波形图如图1所示
图1信源信息码>>%产生伪随机码,调用的mgen函数见附录>>length=100*20;%伪码频率5MHz,每个信息码内含5MHz/50kHz=100个伪码>>x_code=sign(mgen(19,8,length)-0
5);%把0,1序列码变换为-1,1调制码>>fori=1:2000w_code((1+(i-1)*8):i*8)=x_code(i);%每个伪码码元内含8个采样点end生成的PN码波形如图2所示
>>%扩频>>k_code=s
*w_code;%k_code为扩频码扩频码如图3所示
图2PN码图3扩频码>>%调制>>fs=20e6;>>f0=30e6;>>fori=1:2000AI=2;dt=fs/f0;n=0:dt/7:dt;%一个载波周期内采样八个点cI=AI*cos(2*pi*f0*n/fs);signal((1+(i-1)*8):i*8)=k_code((1+(i-1)*8):i*8)
*cI;endPSK调制后的波形如图4所示
图4PSK调制后的波形>>%解调>>AI=1;>>dt=fs/f0;>>n=0:dt/7:dt;%一个载波周期内采样八个点>>cI=AI*cos(2*pi*f0*n/fs);>>fori=1:2000signal_h((1+(i-1)*8):i*8)=signal((1+(i-1)*8):i*8)
*cI;end解调后的波形如图5所示