资源描述
编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第5页 共5页直接序列扩频通信系统仿真程序杨晶超 s20070416 code_length=20; %信息码元个数 N=1:code_length; rand(seed,0); x=sign(rand(1,code_length)-0.5); %信息码 for i=1:20 s(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调制码 for i=1:2000 w_code(1+(i-1)*8):i*8)=x_code(i); %每个伪码码元内含8个采样点 end生成的PN码波形如图2所示。 %扩频 k_code=s.*w_code; %k_code为扩频码扩频码如图3所示。图2 PN码图3 扩频码 %调制 fs=20e6; f0=30e6; for i=1:2000 AI=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所示。图4 PSK调制后的波形 %解调 AI=1; dt=fs/f0; n=0:dt/7:dt; %一个载波周期内采样八个点 cI=AI*cos(2*pi*f0*n/fs); for i=1:2000 signal_h(1+(i-1)*8):i*8)=signal(1+(i-1)*8):i*8).*cI; end解调后的波形如图5所示。图5 解调后的波形 %解扩jk_code=signal_h.*w_code; %低通滤波 wn=5/10000000; %截止频率wn=fn/(fs/2),这里的fn为信息码(扩频码)的带宽5M b=fir1(16,wn); H=freqz(b,1,16000); signal_d=filter(b,1, jk_code);解扩并滤波后的波形如图6所示。图6 解扩并滤波后的波形从图形整体看,解扩出来的信息码与信源信息码基本相同。输入与输出对比如图7所示。图7 输入与输出对比附录:%mgen.mfunctionout=mgen(g,state,N)gen=dec2bin(g)-48;M=length(gen);curState=dec2bin(state,M-1)-48;for k=1:N out(k)=curState(M-1); a=rem(sum(gen(2:end).*curState),2); curState=a curState(1:M-2);end第 5 页 共 5 页
展开阅读全文