createsource1.m

来自「GPS的CA码捕获跟踪源代码」· M 代码 · 共 62 行

M
62
字号
function CreateSource(phcode,fd,ph,snr)

global time_unit;
global time;
global time_cyc;
global fs;
global nn;
global kk;
global F_if 
global CA_Freq;


buffer_bit_data = [];
Tr_data = [];
data = [];
SNR = snr;
MBuffer=[];

data_change = time/time_unit;
for n = 1:data_change
    bit_data = (ceil(rand-0.5)*(-2)+1);   %生成随机数据
    buffer_bit_data = [buffer_bit_data bit_data];
    Tr_data = [Tr_data bit_data*ones(1,time_unit/time_cyc)];  % ceil向上取整
end
data = Tr_data;

for i = 1:1:length(data)
    Md_f = data(i);
    Md_m = Modulate(Md_f,phcode,fd,i);
    MBuffer = [MBuffer Md_m];
end 
MBuffer;
% Phase_signal = 0;


t = [0:kk-1]/fs;
Phase_signal = 2*pi*(F_if+fd)*t+ph;
Carr = cos(Phase_signal);
S_Code=MBuffer.*Carr;
% S_Code = MBuffer;

 
RxSignal = AWGN(S_Code,SNR);   %加入高斯白噪声
Signal_Source=RxSignal;    %信号源

%%%%%%%%%%%%%%%%%%%%%%%显示信号源%%%%%%%%%%%%%%%%%%%%%%%%%%%
l=0:1/fs:time-1/fs;      
plot(l,Signal_Source);  
title('信号源')
xlabel('时间(s)');
ylabel('信号值');

%%%%%%%%%%%%%%%%%%将生成的信号写到文件中%%%%%%%%%%%%%%%%%%%%
fid=fopen('c:\satsource.dat','w');  
fprintf(fid,'%f\n',Signal_Source);
fclose(fid);

% fid=fopen('c:\satsource.dat','w');  
% fwrite(fid,Signal_Source,'schar');
% fclose(fid);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?