雷达常用的信号形式一般有简单脉冲、脉冲压缩、高工作比多普勒、高频多普勒和连续波等。
脉冲幅度调制
简单脉冲采用脉冲幅度调制。
输入参数:脉冲调制信号时间长度t=100微秒,脉冲内正弦信号频率fc=1MHz,脉冲重复频率fp=100kHz,采样频率fs=10MHz,脉冲占空比为50%,初始相位为pi/3。
建立脉冲幅度调制的函数
function sp = pamt(t,fc,fp,fs,tao,pha)
if nargin <=6;
tao = 50;
pha = 0;
end;
n = 0:1/fs:1/fp;
tn = 0:1/fs:t;
m = t/(1/fp);
spt = (square(2*pi*fp*n)+1)/2;
st = cos(2*pi*fc*n);
sq1 = st.*spt;
sp = repmat(sq1,1,m);
调用脉冲幅度调制
t = 0.0001;
fc = 1e6;
fp = 100e3;
fs = 10e6;
pha = pi/3;
tao = 50;
sp = pamt(t,fc,fp,fs,tao,pha);
figure;plot(sp);
线性调频信号
频率调制是指载波信号的瞬时频率偏移调制信号f(t)线性变化的调制,matlab中modulate函数可以方便的产生线性调频信号。
产生线性调频信号,起始频率为100MHz,调频脉宽为2MHz,采样频率为10MHz,脉宽为10微秒的线性调频信号
clear all;close all;
t = 10e-6;
fs = 100e6;
fc = 10e6;
B = 2e6;
ft = 0:1/fs:t-1/fs;
N = length(ft);
k = B/fs*2*pi/max(ft);
y = modulate(ft,fc,fs,'fm',k);
y_fft_result = fft(y);
figure;
subplot(211);plot(ft,y);
xlabel('单位:秒');ylabel('单位:伏');
title('线性调频信号y(t)');
subplot(212);plot((0:fs/N:fs/2-fs/N),abs(y_fft_result(1:N/2)));
xlabel('频率f(单位:Hz)');
title('线性调频信号y(t)的频谱');
相位编码信号
线性调频信号、非线性调频连续信号的调制函数都是连续的,属于“连续型”信号,而相位编码信号,其相位调制函数是离散的有限状态,因此这类信号也叫做伪随机编码信号,常见的是BPSK和QPSK..
在雷达系统中,BPSK较多,通信系统中,QPSK较多。
七位巴克码编码的二相码,采样率为100MHz,载波为10MHz,码宽为0.5微秒。matlab程序如下
clear all;close all;
co = [1 1 1 0 0 1 0];
ta = 0.5e-6;
fc = 10e6;
fs = 100e6;
t_ta = 0:1/fs:ta-1/fs;
n = length(co);
pha = 0 ;
t = 0:1/fs:7*ta-1/fs;
s=zeros(1,length(t));
for i=1:n
if co(i) == 1
pha = 1;
else
pha = 0;
end
s(1,(i-1)*length(t_ta)+1:i*length(t_ta)) = cos(2*pi*fc*t_ta+pha);
end
figure;plot(t,s);
xlabel('t(单位:秒)');
title('二相码(7位巴克码)');
相位编码内线性调频混合调制信号
产生7位巴克码和线性调频的混合调制信号,码元宽度位10微秒,线性调频的起始频率位500kHz,调制带宽为1MHz。
二相编码信号对多普勒频率比较敏感,只适用于多普勒频率比较小的场合,但是由于优越的抗截获性能,常常与线性调频信号组合起来
clear all; close all;
co = [1 1 1 0 1 0 1];
ta = 10e-6;
fc = 0.5e6;
fs = 10e6;
t_ta = 0:1/fs:ta-1/fs;
N = length(t_ta);
B = 1e6;
k = B/fs*2*pi/max(t_ta);
n =length(co);
pha = 0;
s =zeros(1,n*N);
for i =1:n
if co(i) == 1
pha = 1;
else
pha = 0;
end
s(1,(i-1)*N+1:i*N)=cos(2*pi*fc*t_ta+k*cumsum(t_ta)+pha);
end
t = 0:1/fs:7*ta-1/fs;
figure;subplot(211);
plot(t,s);xlabel('t(单位:秒)');
title('混合调制信号(7位巴克码+线性调频)');
y_fft_result = abs(fft(s(1:N)));
subplot(212);plot((0:fs/N:fs/2-fs/N),abs(y_fft_result(1:N/2)));
xlabel('频率f(单位:Hz)');
title('码内信号频谱');