信号遅延シミュレーションのソースコード

すべてクリア;
clc;
%%%%%%%%%%%最初に検出信号をシミュレートして、サンプリングする信号を生成します。このシミュレーションでは、検出信号をBPSK変調に設定します
。fc = 1Mhz %%%%% %%%%%%ベースバンド信号長は100ビット、信号ビットレートfb = 1Mbps、サンプリング周波数fs = 100Msps
signal_base = randint(1,100,2);
signal_base_bpsk = 2 * signal_base-1;
T = 1/1000000 ;
t0 = 0 :(T / 100):( 99 * T / 100);
i = 1:100の
    場合、signal_base_bpsk(i)> 0の場合
        signal_base_pure(((i-1)* 100 + 1):((i)* 100) )= sin(2 * pi * 1000000 * t0);
    else
        signal_base_pure(((i-1)* 100 + 1):((i)* 100))=-sin(2 * pi * 1000000 * t0);
    終了;
end;
signal_base_awgn = awgn(signal_base_pure、0);
%%%%%%%%%は100Mspsのfsでデータを収集し、トリプル補間を実行します%%%%%%%%%%%%%%

t1 = 0:(T / 100):( 100 * TT / 100);
s1 = signal_base_awgn;
t2 = 0:(T / 300):( 100 * TT / 100);
s2 = interp1(t1、s1、t2) ; %%%% 3倍の線形補間

補間後のデータシーケンスs2については、それぞれ%%%%%%%%%%、データシーケンスs3は100Ts遅延し、データシーケンスs4は250Ts遅延します。

s3_temp = [zeros(1,100)s2];
s3 = s3_temp(1:2048);
s4_temp = [zeros(1,250)s2];
s4 = s4_temp(1:2048);
s6_temp = [zeros(1,120)s2];
s6 = s6_temp(1:2048);
s7_temp = [zeros(1,300)s2];
s7 = s7_temp(1:2048);
s5 = s2(1:2048);
%%%%%%%%%% s5とs3を別々に計算します、s4間の相互相関関数
N = 2048;
r35 = zeros(1,500);
m = 1:500の場合
    、n = 1:Nmの場合、
   r35(m)= r35(m)+ s5(n)* s3( n + m);
    終了;
終了;
r35 = r35 / N;
r45 = zeros(1,500);
m = 1:500の場合
    、n = 1:Nmの場合、
   r45(m)= r45(m)+ s5(n) * s4(n + m);
    終了;
終了;
r45 = r45 / N;


r65 = zeros(1,500);
m = 1:500の場合
    、n = 1:Nmの場合、
   r65(m)= r65(m)+ s5(n)* s6(n + m);
    終わり;
終わり;
r65 = r65 / N;

r75 = zeros(1,500);
m = 1:500の場合
    、n = 1:Nmの場合、
   r75(m)= r75(m)+ s5(n)* s7(n + m);
    終わり;
終わり;
r75 = r75 / N;
 


 

おすすめ

転載: blog.csdn.net/ccsss22/article/details/114446587