58 lines
1.1 KiB
Matlab
58 lines
1.1 KiB
Matlab
clc
|
|
clear
|
|
close all
|
|
|
|
rng(6)
|
|
|
|
PRF = 5000; % 脉冲重复频率
|
|
Tr = 1 / PRF; % 脉冲重复间隔
|
|
Tp = 2e-5;
|
|
P = 10;
|
|
B = P / Tp;
|
|
fs = 10 * B;
|
|
Ts = 1/fs;
|
|
fc = 1.25e9;
|
|
|
|
t = 0:1/fs:1-1/fs;
|
|
|
|
tsin = Tp / P * 2;
|
|
fsin = 1 / tsin;
|
|
|
|
N = round(Tr * fs);
|
|
N_high = round(Tp * fs / P);
|
|
|
|
signal_t = zeros(1, N);
|
|
signal_td = zeros(1, N);
|
|
|
|
sign_p = sign(randn(1, P));
|
|
|
|
for p = 1: P
|
|
for i = 1: N_high
|
|
tp = (i - 1) * (1 / fs);
|
|
signal_t(1, (p-1)*N_high + i) = sign_p(p) * exp(1j * 2 * pi * fsin * tp);
|
|
tp2 = (i - 0.5) * (1 / fs);
|
|
signal_td(1, (p-1)*N_high + i) = sign_p(p) * exp(1j * 2 * pi * fsin * tp2);
|
|
end
|
|
end
|
|
|
|
A = zeros(N, 2 * N);
|
|
A(:, 1) = transpose(signal_t);
|
|
A(:, 2) = transpose([0, signal_td(1: end-1)]);
|
|
for k = 3: 2 * N
|
|
A(:, k) = [0; A(1: end - 1, k - 2)];
|
|
end
|
|
|
|
|
|
|
|
figure(1)
|
|
subplot(211)
|
|
plot(real(A(1:N_high*P+20, 1)))
|
|
hold on;
|
|
plot(real(A(1:N_high*P+20, 2)))
|
|
plot(real(A(1:N_high*P+20, 3)))
|
|
subplot(212)
|
|
plot(imag(A(1:N_high*P+20, 1)))
|
|
hold on;
|
|
plot(imag(A(1:N_high*P+20, 2)))
|
|
plot(imag(A(1:N_high*P+20, 3)))
|