资源描述:
《基于MATLAB的GPS信号仿真完整源代码123》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Word格式配套毕业设计论文见百度文库请搜索《基于MATLAB的GPS信号仿真123》完美整理Word格式附录C仿真程序代码1、数据码的产生functiondatacode=data(x)y=rand(1,x);fori=1:xify(i)<0.5datacode(i)=0;elsedatacode(i)=1;endendy(1)=0;show2(1)=datacode(1);q=2;fori=1:length(datacode)forj=1:100y(q)=i-1+j*0.01;show2(q)=datacode(i);q=q+1;endendplot(y,show2);axis(
2、[0length(datacode)-0.21.2]);1、C/A码的产生及扩频调制clc;c=input('请输入数据码的长度:c=');y=rand(1,c);完美整理Word格式fori=1:cify(i)<0.5datacode(i)=0;elsedatacode(i)=1;endendx(1)=0;show(1)=datacode(1);p=2;fori=1:cforj=1:100x(p)=i-1+j*0.01;show(p)=datacode(i);p=p+1;endendsubplot(4,1,1);plot(x,show);title('数据码');axis([0c-
3、0.21.2]);number=input('请输入卫星PRN号码:number=');cacode=CAgenerate(number);temp=cacode(1:100)x(1)=0;show(1)=temp(1);p=2;%下面的循环是为了将结果显示成方波形式fori=1:length(temp)forj=1:100完美整理Word格式x(p)=i-1+j*0.01;show(p)=temp(i);p=p+1;endend%画出仿真结果图subplot(4,1,2);plot(x,show);title('C/A码');axis([0100-0.21.2]);%截取CA码的前
4、十个数据进行扩频,每个数据插入5个CA序列cacode1=cacode(1:10);fori=1:cifdatacode(i)==1datacodek((i-1)*50+1:i*50)=ones(1,50);elsedatacodek((i-1)*50+1:i*50)=zeros(1,50);endendfori=1:cforj=1:50addr=rem(((i-1)*50+j),10);ifaddr==0addr=10;endkuopindata((i-1)*50+j)=xor(datacodek((i-1)*50+j),cacode1(addr));endend%下面的循环是为了
5、将结果显示成方波形式完美整理Word格式x(1)=0;show(1)=kuopindata(1);p=2;fori=1:length(kuopindata)forj=1:100x(p)=i-1+j*0.01;show(p)=kuopindata(i);p=p+1;endendsubplot(4,1,3);plot(x,show);title('扩频数据');axis([0length(kuopindata)-0.21.2]);%每位数据通过正弦波来调制Sinwave=sin([0:2*pi/8:2*pi*7/8]);Sinwave=single(Sinwave);GPSsignal=
6、zeros(1,1);Sinwave=[SinwaveSinwaveSinwaveSinwaveSinwave];fori=1:length(kuopindata)GPSsignal=[GPSsignalkuopindata(i)*Sinwave];endGPSsignal=GPSsignal(2:length(GPSsignal));subplot(4,1,4);plot(GPSsignal(1:500));title('调制后数据');C/A码产生的子程序CAgenerate:functioncacode=CAgenerate(number)if(number<1)
7、(numbe
8、r>37)disp('输入参数必须在1~37之间取值');完美整理Word格式returnendCACode=zeros(1,1023);%生成一个1*1023的零矩阵%设置寄存器初相Reg1=[1,1,1,1,1,1,1,1,1,1];Reg2=[1,1,1,1,1,1,1,1,1,1];%设置反馈点,1表示需要反馈gp1=[0,0,1,0,0,0,0,0,0,1];gp2=[0,1,1,0,0,1,0,1,1,1];%抽头G2Table=[2,3,4,