📄 reivesignalfft.m
字号:
clc;clear;close all;
%功能:实现相关器的频域实现功能
%作者:yy
%导航信息
NavigationData1=rand(1,20);
NavigationData1=round(NavigationData1);
index1=find(NavigationData1==0);
NavigationData1(index1)=-ones(1,length(index1));
NavigationData1(1)=1;%产生随机数
SvNum=2;
CA1=fGenerateCAcode3(SvNum);
index1=find(CA1==0);
CA1(index1)=-ones(1,length(index1));
CA1=[CA1 CA1 CA1 CA1 CA1];
GpsMatch=zeros(1,1);
for i=1:length(NavigationData1)
GpsMatch=[GpsMatch NavigationData1(1,i)*CA1];%扩频
end
GpsMatch(:,1)=[];
len_GpsMatch=length(GpsMatch);
shift=1000;%移位计数
GpsMatchtemp(1,1:shift)=GpsMatch(1,len_GpsMatch-shift+1:len_GpsMatch);
GpsMatchtemp(1,shift+1:len_GpsMatch)=GpsMatch(1,1:len_GpsMatch-shift);%左移一位
GpsMatch=GpsMatchtemp;%产生扩频数
%%%%%%%%%%作相关
FFTn=1024;
FFT_sig2=fft(CA1,FFTn);
mag_sig2=FFT_sig2.*conj(FFT_sig2);%本地扩频码作FFT
figure(123)
plot(mag_sig2);
FFT_sig3=fft(GpsMatch,FFTn);
FFT_sig4=fft(CA1,FFTn);
FFT_sign5=conj(FFT_sig4);%共轭
FFT_MUT=FFT_sig3.*FFT_sign5;
figure(12)
plot(FFT_MUT);
IFFTx=ifft(FFT_MUT);
mag_IFFT=IFFTx.*conj(IFFTx);
figure(13)
plot(mag_IFFT);
index2=find(mag_IFFT==max(mag_IFFT));%相关结果中
index2%
GpsMatchtemp(1,1:len_GpsMatch-index2+1)=GpsMatch(1,index2:len_GpsMatch);
GpsMatchtemp(1,len_GpsMatch-index2+1:len_GpsMatch)=GpsMatch(1,1:index2);%右移
GpsMatch2=GpsMatchtemp;%产生扩频数
%去掉扩频码
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -