close all
clc
clear all
L=10; % 信息码个数
Rc=10*(10^6); % 扩频码速率10Mbps
PN=2; % PN=1 m序列 PN=0 gold序列
Mo=2; %调制方式
G=1023; % 扩频增益(PN码周期)
SNR=-5;
fc=125*(10^6); % 载波125MHz
fs=100*(10^6); % 采样率100MHz
fo=fc-fs;
N=(L*G)*(fs/Rc); % 输出总样本数
N1=fs/Rc; % 每个扩频码对应的样本数
N2=G*N1; % 每个信息码对应的样本数
signal_seq=signal_generater(L,G,fs,Rc);
%%%%%%%%%%%%%%%%%%%生成信号序列(未采样)%%%%%%%%%%%%%%%%%%%%%%%%%%
[pn_seq,pn]=pn_generator(L,G,fs,Rc,PN);
%%%%%%%%%%%%%%%%%%%生成PN码(未采样)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dsss_seq=signal_seq.*pn_seq;
%%%%%%%%%%%%%%%%%%%%%%扩频信号(未采样)%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[X_N,Noise,delay_lpf]=modulation(dsss_seq,Mo,SNR,fc,fs,Rc);
%%%%%%%%%%%%%%%%%%%%调制%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fc1=25*(10^6);
[I_seq,Q_seq,Noise]=zeros_IF(X_N,fc1,fs,Noise);
%%%%%%%%%%%%%%%%%%零中频%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[dec1,dec2]=Detect_4_order_statistics(I_seq,Noise);
M3=2;
[fo_estimate,Rc_estimate,code_period,PN_length]=Parameter_estimate(M3,I_seq,Q_seq,fs,L,G,Rc,fo);
%%%%%%%%%%%%%%%%%%%%参数估计%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=round(log2(PN_length+1));
PN_length=2^n-1;
[m_test,gold_test,walsh_test]=pn_test(n);
disp('hh')
length(m_test)
for i=1:L
m_seq1((1+(i-1)*G):i*G)=m_test;
gold_seq1((1+(i-1)*G):i*G)=gold_test;
end
L_length=length(I_seq);
k=round(log2(PN_length+1));
pn_len=2^k-1;
M5=L_length/(pn_len*L);
m_code=zeros(1,L_length);
gold_code=zeros(1,L_length);
for i=1:length(m_seq1)
m_code((1+(i-1)*M5):i*M5)=m_seq1(i);
gold_code((1+(i-1)*M5):i*M5)=gold_seq1(i);
end
R1=corrcoef(I_seq,m_code) %计算互相关系数
R2=corrcoef(I_seq,gold_code) %计算互相关系数
disp('m')
r1=abs(R1(1,2))
disp('gold')
r2=abs(R2(1,2))
% DSSS_BASEBAND=demodulation(I_seq,Q_seq,fo_estimate,Rc_estimate,fs,PN_length,L,Mo);
% [pn_code,corrm]=pn_recover(PN_length,DSSS_BASEBAND,pn);
% M=length(I_seq);
% t=1:M;
% % carry1=cos(2*pi*fo*t/fs);
% % I_seq=filter(lpf_3_60_BPSK,I_seq.*carry1);
% M5=round(fs/Rc_estimate);
% I=zeros(1,PN_length*L);
% disp('hh')
% M5
% for k=1:PN_length*L
% I(k)=I_seq((k-1)*M5+1);
% end
%
%
% % huxiangguan(I,m_test);
% % huxiangguan(I,gold_test);
% % huxiangguan(I,walsh_test);
%
% [a,b]=xcorr(I,m_test,'none');
% [c,d]=xcorr(I,gold_test,'none');
% [e,f]=xcorr(I,walsh_test,'none');
% figure
% subplot(3,1,1)
% plot(b,a)
% subplot(3,1,2)
% plot(d,c)
% subplot(3,1,3)
% plot(f,e)
评论3