资源描述
宽带宽角雷达数字波束合成
姓名:张贵
学号:02083042
班级:020831
院系:电子工程学院
摘 要
合成孔径雷达(Synthetic Aperture Radar,简称SAR)是是一种运用最广的雷达成像技术。而雷达成像技术是上个世纪50 年代发展起来的,它是雷达发展的一个重要里程碑。从此,雷达不仅仅是将所观测的对象视为“点”目标,来测定它的位置与运动参数,而是能获得目标和场景的图像。同时,由于雷达具有全天候、全天时、远距离和宽广观测带,以及易于从固定背景中区分运动目标的能力,雷达成像技术受到广泛重视。
利用SAR成像,最主要的就是要利用SAR的高分辨力。SAR 的高分辨,在径向距离上依靠宽带带信号,几百兆赫的频带可将距离分辨单元缩小到亚米级。
本文主要是针对雷达发射宽带信号的数字波束合成做仿真。通过认真学习了LFM信号的PC(脉压)处理,以及(DBF)数字波束合成技术。本文采用了多种方案对LFM信号作DBF。第一种应用了模拟延时单元,第二种方法是利用子阵并结合DDS进行宽带信号的DBF,第三种方法是对于第二种方法的改进,主要运用了加权宽带的DBF,第四种方法利用了数字延时线,第五种方法是仅有数字延时和移相器的宽带信号DBF。从第一种到第五种方法是逐步优化的过程。到第五种方法,已经可以对任意发射的宽带波形进行DBF处理。
声 明
本文的主要参考文献是《宽带宽角数字阵列雷达发射波束形成》,作者:曹运合,刘峥,张守宏。文中所有的方法都来自于该论文。本文的形成主要是对于该论文技术的研究以及自己的实际MATLAB仿真。从大的SAR成像的信号形式上入手,最终想到了本文的研究主题。由于能力有限,所以只能作初步的学习和仿真。MATLAB程序是自己独立完成,并且是完全根据自己对参考文献的理解写成,难免有思路上的误解。
一、 应用模拟延时单元的子阵发射波束形成
与接收阵列一样, 发射阵列同样采用划分子阵来降低阵列的复杂度和成本。假设考虑一个等距离线阵, 阵元间距为d, 阵元数为N , 把阵列均匀分为M个子阵, 每个子阵含有L 个单元, 即N= ML 。各子阵配置一个时间延迟单元( TDU ) , 子阵内各单元均有一个移相器。天线阵列工作时, 对于发射波束, 发射机功放后将信号分成M 路, 经M 个TDU 不同延时后, 再送给位于T / R 组件的各单元的移相器进行移相, 从而形成某一方向的波束, 将信号馈送给阵列各天线单元, 向空间辐射出去。这样就可以节省很多昂贵的模拟延时单元。应用模拟延时单元的子阵发射波束形成方法实现框图如图1 所示。
图1 中S( nT s ) 为数字化的宽带信号基带波形, 需要上变频后发射出去, 即可完成宽带发射波束形成。时延和相移的实际值不可能精确达到前面公式的计算值, 均存在着量化误差, 而量化误差会引起阵列增益降低及信号分辨率下降。模拟延时单元价格昂贵、体积较大、温度稳定性较差, 高的温度稳定性的模拟时延单元会增加了成本、体积和重量。所以有必要研究数字方法来实现宽带相控阵波束形成。
二、 每个子阵应用DDS的宽带发射波束合成技术
随着高速大规模集成电路技术的发展, 近年来出现了DDS 技术。作为新一代数字频率合成技术,发展迅速, 并体现出很大的优越性, 已经在军事和民用领域得到了广泛应用, 例如在雷达领域的捷变频雷达、有源相控阵雷达及低截获概率雷达等方面。DDS 采用了不同于传统频率合成方法的全数字结构, 通过控制电路对DDS 输出波形的频率、幅度和相位进行精确的控制, 因而具有许多先进的优点,例如极高的频率分辨率、极短的频率变化时间、高的稳定性, 还可灵活产生多种信号等。用DDS 技术产生线性调频信号及其他复杂波形信号的技术日益受到重视, 并得到了广泛的应用。每个子阵上含有一个波形产生器( 例如DDS)来完成宽带发射波束形成较为简单, DDS 产生线性调频信号, 并且可以数字控制它的起始频率、初始相位、开始时间和调频斜率等, 来达到阵列导向要求的信号波形。下面介绍第m 个DDS是如何实现延时的。标准的线性调频信号可以写为式中, rect ( ) 为矩形窗, 可表示为为使阵列导向 0 方向, 在第m 个子阵发射出去的线性调频信号为
对把产生的信号数字延时,数字延时线只能把产生的信号波形延时证书个采样周期,令(k为整数),。考虑到数字信号源应该产生在基带上,经数字延时后的信号为:
第二步对延时后的信号作频率和相位补偿,比较式(5)和(6)可以得出,需要补偿的相位,频率。此时
经上变频后,上式为:
注意到,所以非常接近,可以很好的实现宽带发射波束导向方向。实现框图如图2所示,是的第m个子阵波形的起始时刻为,初始相位,开始频率为即可。
三、 加权宽带发射波束合成技术
如果,基本上可以忽略(5)式中的矩形窗延时,则公式改写为:
令第m个子阵的时变权为:即可完成数字宽带发射数字形成,见下图3所示:
四、 应用数字延时线的宽带发射波束形成
若(9)式比较大,或者尽可能的不损失阵列发射增益,此时可以采用数字延时线来完成波束形成。见下框图:
其中,
五、 仅用数字延时线和移相器的宽带发射数字波束形成
如果信号带宽很大,采样率很高,的前两项基本可以忽略,只需考虑高频载波相位即可,可以把移相和子阵内的移相合并成为,此时,该方法就可以对任意宽带波形进行发射DBF,而不必局限于LFM信号了。
六、 MATLAB仿真现象阐述与程序
上图是对于上述图1的模拟仿真。程序中,用均匀噪声模拟了模拟延时线的量化噪声。可以看出在加上噪声之后对与波束合成产生了很严重的影响。造成波束延迟,且出现分散的现象。
上图是对与图2和图3的仿真,可以看出两种情况非常接近。
上图是对于最后的图4和图5的仿真。通过仿真可以看到两者的效果基本相当。
程序代码如下:
1、程序一:图1的仿真,课改变噪声幅值,从而控制模拟延时线的量化误差。
%% 宽带宽角数字阵列雷达发射波束形成技术
% 本程序包括两个仿真,分别是:
% 1、TDU量化误差影响并与数字方法比较
% 2、两种不同的数字宽带波束合成的方法比较
%% 仿真一
% 基本波形信息
clear all;
clc;
close all;
M = 5;
L = 6;
T = 1e-6;
B = 100e6;
f0 = 6000e6;
u = B/T;
c = 3e8;lamta = c/f0;
d = 0.5*lamta;
%上变频后的线性调频信号
fs = 2*f0;ts = 1/fs;
t = ts:ts:T;
% t = 0:step:Tp - step;
S0_Phase = 1i*2*pi*(t.*f0 + 0.5*u*t.^2);
S0 = exp(S0_Phase);
theta0 = pi/3;
%模拟延时单元向量的产生
m = 1:M;
tao = m*L*d*sin(theta0)/c;
n = 1e-7/2*(rand(1,M)-0.5);%uniform(rectangle) distribution noise
% n = 1e-6/2;
taon = tao + n;
taoAn = repmat(reshape(repmat(taon,L,1),M*L,1),1,length(t));
taoA = repmat(reshape(repmat(tao,L,1),M*L,1),1,length(t));
%移相器移相的产生
l = 1:L;
fa = -1i*2*pi*f0*l*d*sin(theta0)/c;
sfa = exp(repmat(reshape(repmat(fa,M,1),M*L,1),1,length(t)));
%经过TDU和移相器的输出信号
tt = repmat(t,M*L,1);
t1 = tt + taoA;
t1n = tt + taoAn;
S1_Phasen = 1i*2*pi*(t1n.*f0 + 0.5*u*t1n.^2);
S1_Phase = 1i*2*pi*(t1.*f0 + 0.5*u*t1.^2);
S1 = exp(S1_Phase).*sfa;%the final sending signal;
S1n = exp(S1_Phasen).*sfa;%the final sending signal plus noise;
%% add right and make the PC with the match filter
hmatch = conj(fliplr(S0));
n = 1:M*L;
Wopt = exp(1i*2*pi*n*d/lamta*sin(theta0));%generate the right;
sp = Wopt*S1;
spn = Wopt*S1n;
s_PC = conv(sp,hmatch);
sn_PC = conv(spn,hmatch);
s_PC_NORM = abs(s_PC)/max(abs(s_PC));
sn_PC_NORM = abs(sn_PC)/max(abs(sn_PC));
s_DB = 20*log10(s_PC_NORM);
sn_DB = 20*log10(sn_PC_NORM);
plot(s_DB,'linestyle','-','color','g');hold on;
plot(sn_DB,'linestyle',':','color','k');
legend('no noise','with noise');legend boxoff;
2、 程序2:图2的仿真,从基带产生带有初始频率和延迟的信号。
clear all;clc;close all;
T = 1e-6;
B = 50e6;
f0 = 600e6;
u = B/T;
M = 5;%number of subarray;
L = 10;%number of array unit;
c = 3e8;
lamta = c/f0;d = 0.5*lamta;
fs = 10*f0;ts = 1/fs;
beamAngle = 0;
m = 1:M;
taom = m*L*d*sin(beamAngle*pi/180)/c;
k_taom = round(taom/ts);
delta_taom = taom - k_taom*ts;
t = ts:ts:T;
s01 = exp(j*2*pi*(f0.*t+0.5*u*t.^2));
s02 = exp(-j*pi*u*taom'*t);
s03 = repmat(s01,M,1).*s02;
for m = 1:M
s0((m-1)*L+(1:L),:) = repmat(s03(m,:),L,1);
end
l = 1:L;
fal = -2*pi*f0*l*d*sin(beamAngle*pi/180)/c;
s10 = exp(1i*fal);
s1 = repmat(s10',M,length(t));
ss = s0.*s1;
hmatch = conj(fliplr(s01));
n = 1:M*L;
Wopt = exp(j*2*pi*n*d/lamta*sin(beamAngle*pi/180));
sbeam = Wopt*ss;
s_pc = abs(conv(sbeam,hmatch))/max(abs(conv(sbeam,hmatch)));
s_pc_db = 20*log10(s_pc);
plot(s_pc_db);hold on;
3、 程序3:图3的仿真,加权方法。
% clear all;clc;close all;
T = 1e-6;
B = 50e6;
f0 = 600e6;
u = B/T;
M = 10;%number of subarray;
L = 10;%number of array unit;
c = 3e8;
lamta = c/f0;d = 0.5*lamta;
fs = 10*f0;ts = 1/fs;
beamAngle = 0;
m = 1:M;
taom = m*L*d*sin(beamAngle*pi/180)/c;
% k_taom = round(taom/ts);
% delta_taom = taom - k_taom*ts;
t = ts:ts:T;
slfm = exp(j*2*pi*(f0.*t+0.5*u*t.^2));
hright = exp(1i*2*pi*(-u*taom'*t-repmat(f0*taom',1,length(t))+repmat(0.5*u*(taom').^2,1,length(t))));
s01 = (repmat(slfm,M,1)).*hright;
for m = 1:M
s0((m-1)*L+(1:L),:) = repmat(s01(m,:),L,1);
end
l = 1:L;
fal = -2*pi*f0*l*d*sin(beamAngle*pi/180)/c;
s10 = exp(1i*fal);
s1 = repmat(s10',M,length(t));
ss = s0.*s1;
hmatch = conj(fliplr(slfm));
n = 1:M*L;
Wopt = exp(j*2*pi*n*d/lamta*sin(beamAngle*pi/180));
sbeam = Wopt*ss;
s_pc = abs(conv(sbeam,hmatch))/max(abs(conv(sbeam,hmatch)));
s_pc_db = 20*log10(s_pc);
plot(s_pc_db,'Color',[1 0 0],'LineStyle',':');hold on;
4、程序4:图4、5的仿真,数字延迟线以及最后的加权移相结构。
%% Wideband DBF with Digital Delay Line
% basic information of signals and array
clear all;clc;close all;
T = 1e-6;%pulse period
B = 50e6;%band width
f0 = 600e6;%LFM signal carrier frequency
u = B/T;%slope rate of LFM signal
M = 5;%number of subarray;
L = 6;%number of array unit;
c = 3e8;%light speed
lamta = c/f0;d = 0.5*lamta;%wave length and array unit distance
fs = 10*f0;ts = 1/fs;%sampling frequency and minimum time interval
beamAngle = 0;%the direction angle of coming signal or the beam
%% generate the delay between subarrays tao
m = 1:M;
taom = m*L*d*sin(beamAngle*pi/180)/c;
k_taom = round(taom/ts)*ts;%k_taom is the ts multiplied with integer k
delta_taom = taom - k_taom;
%% generate the base frequency LFM signal with a time delay k_taom
t = ts:ts:T;
td = repmat(t,M,1) + repmat(k_taom',1,length(t));
slfm = exp(1i*2*pi*(0.5*u*td.^2));
%% add right and upconverse frequency
hright = exp(1i*2*pi*(-u*delta_taom'*t-repmat(f0*taom',1,length(t))+repmat(0.5*u*(delta_taom').^2,1,length(t))));
sWithRight = slfm.*hright;
sWithRightUp = repmat(exp(1i*2*pi*f0*t),M,1).*sWithRight;
%% extend signal to (M*L,length(t))
for m = 1:M
sWithRightUpEx((m-1)*L+(1:L),:) = repmat(sWithRightUp(m,:),L,1);
end
%% generate phase shift quantity
l = 1:L;
fa = -1i*2*pi*f0*l*d*sin(beamAngle*pi/180)/c;
sShiftRight = repmat(exp(fa)',M,length(t));
%% the final sending out signal
sSend = sWithRightUpEx.*sShiftRight;
%% Matched filter coefficient
hmatch = conj(fliplr(exp(j*2*pi*(f0.*t+0.5*u*t.^2))));
%% generate direction vector of the array
n = 1:M*L;
Wopt = exp(1i*2*pi*n*d/lamta*sin(beamAngle*pi/180));
%% the final sending beam
sbeam = Wopt*sSend;
sPcWay1 = conv(sbeam,hmatch);
sPcNormWay1 = abs(sPcWay1)/max(abs(sPcWay1));
sPcDBWay1 = 20*log10(sPcNormWay1);
hfig = figure;
plot(sPcDBWay1,'k');hold on;
%% the second way:DBF ONLY WITH DIGITAL DELAY LINE AND PHASE SHIFTING
%this way is suitable to every kind of signal not limited to LFM mode
%signal.Also it is applicable to wide band signal.
%generate the new phase shift quantity based on the value before
sShiftRightWay2 = sShiftRight.*repmat(reshape(repmat(exp(-1i*2*pi*f0*taom),L,1),M*L,1),1,length(t));
sNoRightUp = repmat(exp(1i*2*pi*f0*t),M,1).*slfm;%Up converse the base signal to carrier f0
%% extend signal to (M*L,length(t))
for m = 1:M
sNoRightUpEx((m-1)*L+(1:L),:) = repmat(sNoRightUp(m,:),L,1);
end
%% sending DBF
sSendWay2 = sNoRightUpEx.*sShiftRightWay2;
sBeamWay2 = Wopt*sSendWay2;
sPcWay2 = conv(sBeamWay2,hmatch);
sPcWay2Norm = abs(sPcWay2)/max(abs(sPcWay1));
sPcDBWay2 = 20*log10(sPcWay2Norm);
plot(sPcDBWay2,'-.');
展开阅读全文