雷达系统仿真matlab代码Word下载.doc
- 文档编号:471526
- 上传时间:2023-04-29
- 格式:DOC
- 页数:5
- 大小:47KB
雷达系统仿真matlab代码Word下载.doc
《雷达系统仿真matlab代码Word下载.doc》由会员分享,可在线阅读,更多相关《雷达系统仿真matlab代码Word下载.doc(5页珍藏版)》请在冰点文库上搜索。
%发射信号时宽
PRT=240e-6;
%雷达发射脉冲重复周期(s),240us对应1/2*240*300=36000米最大无模糊距离
PRF=1/PRT;
Fs=2.0e6;
%采样频率
NoisePower=-12;
%(dB);
%噪声功率(目标为0dB)
%---------------------------------------------------------------%
SampleNumber=fix(Fs*PRT);
%计算一个脉冲周期的采样点数480;
TotalNumber=SampleNumber*PulseNumber;
%总的采样点数480*16=;
BlindNumber=fix(Fs*TimeWidth);
%计算一个脉冲周期的盲区-遮挡样点数;
%===================================================================================%
%目标参数%
TargetNumber=4;
%目标个数
SigPower(1:
TargetNumber)=[1110.25];
%目标功率,无量纲
TargetDistance(1:
TargetNumber)=[30008025158008025];
%目标距离,单位m距离参数为[300080259000+(Y*10+Z)*2008025]
DelayNumber(1:
TargetNumber)=fix(Fs*2*TargetDistance(1:
TargetNumber)/C);
%把目标距离换算成采样点(距离门)fix函数向0靠拢取整
TargetVelocity(1:
TargetNumber)=[500204100];
%目标径向速度单位m/s速度参数为[500(Y*10+X+Z)*6100]
TargetFd(1:
TargetNumber)=2*TargetVelocity(1:
TargetNumber)/Lambda;
%计算目标多卜勒频移2v/λ
%====================================================================================%
%产生线性调频信号%
number=fix(Fs*TimeWidth);
%回波的采样点数=脉压系数长度=暂态点数目+1
ifrem(number,2)~=0%rem求余
number=number+1;
end%把number变为偶数
fori=-fix(number/2):
fix(number/2)-1
Chirp(i+fix(number/2)+1)=exp(j*(pi*(BandWidth/TimeWidth)*(i/Fs)^2));
%exp(j*fi)*,产生复数矩阵Chirp
end
coeff=conj(fliplr(Chirp));
%把Chirp矩阵翻转并把复数共轭,产生脉压系数
figure
(1);
%脉压系数的实部
plot(real(Chirp));
axis([090-1.51.5]);
title('
脉压系数实部'
);
%-------------------------产生目标回波串-----------------------------------------------------------------------------------------%
%-------------------------产生前3个目标的回波串-------%
SignalAll=zeros(1,TotalNumber);
%所有脉冲的信号,先填0
fork=1:
TargetNumber-1%依次产生各个目标
SignalTemp=zeros(1,SampleNumber);
%一个PRT
SignalTemp(DelayNumber(k)+1:
DelayNumber(k)+number)=sqrt(SigPower(k))*Chirp;
%一个脉冲的1个目标(未加多普勒速度)(DelayNumber(k)+1):
(DelayNumber(k)+number)
Signal=zeros(1,TotalNumber);
fori=1:
PulseNumber%16个回波脉冲
Signal((i-1)*SampleNumber+1:
i*SampleNumber)=SignalTemp;
%每个目标把16个SignalTemp排在一起
end
FreqMove=exp(j*2*pi*TargetFd(k)*(0:
TotalNumber-1)/Fs);
%目标的多普勒速度*时间=目标的多普勒相移
Signal=Signal.*FreqMove;
%加上多普勒速度后的16个脉冲1个目标
SignalAll=SignalAll+Signal;
%加上多普勒速度后的16个脉冲4个目标
%%-------------------------产生第4个目标的回波串-------%
fi=pi/3;
%一个脉冲
SignalTemp(DelayNumber(4)+1:
DelayNumber(4)+number)=sqrt(SigPower(4))*exp(j*fi)*Chirp;
%一个脉冲的1个目标(未加多普勒速度)
PulseNumber
FreqMove=exp(j*2*pi*TargetFd(4)*(0:
figure
(2);
subplot(2,1,1);
plot(real(SignalAll),'
r-'
目标信号的实部'
gridon;
zoomon;
subplot(2,1,2);
plot(imag(SignalAll));
目标信号的虚部'
%产生系统噪声信号%
SystemNoise=normrnd(0,10^(NoisePower/10),1,TotalNumber)+j*normrnd(0,10^(NoisePower/10),1,TotalNumber);
%均值为0,标准差为10^(NoisePower/10)的噪声
%总的回波信号%
Echo=SignalAll+SystemNoise;
%+SeaClutter+TerraClutter,加噪声之后的回波
fori=1:
PulseNumber%在接收机闭锁期,接收的回波为0
Echo((i-1)*SampleNumber+1:
(i-1)*SampleNumber+number)=0;
%发射时接收为0
figure(3);
%加噪声之后的总回波信号
plot(real(Echo),'
总回波信号的实部,闭锁期为0'
plot(imag(Echo));
总回波信号的虚部,闭锁期为0'
%================================时域脉压=================================%
pc_time0=conv(Echo,coeff);
%pc_time0为Echo和coeff的卷积
pc_time1=pc_time0(number:
TotalNumber+number-1);
%去掉暂态点number-1个
figure(4);
%时域脉压结果的幅度
plot(abs(pc_time0),'
时域脉压结果的幅度,有暂态点'
%pc_time0的模的曲线
plot(abs(pc_time1));
时域脉压结果的幅度,无暂态点'
%pc_time1的模的曲线
%================================频域脉压=================================%
Echo_fft=fft(Echo,8192);
%理应进行TotalNumber+number-1点FFT,但为了提高运算速度,进行了8192点的FFT
coeff_fft=fft(coeff,8192);
pc_fft=Echo_fft.*coeff_fft;
pc_freq0=ifft(pc_fft);
figure(5);
plot(abs(pc_freq0(1:
TotalNumber+number-1)));
频域脉压结果的幅度,有前暂态点'
plot(abs(pc_time0(1:
TotalNumber+number-1)-pc_freq0(1:
TotalNumber+number-1)),'
r'
时域和频域脉压的差别'
pc_freq1=pc_freq0(number:
%去掉暂态点number-1个,后填充点若干(8192-number+1-TotalNumber)
%================按照脉冲号、距离门号重排数据=================================%
pc(i,1:
SampleNumber)=pc_freq1((i-1)*SampleNumber+1:
i*SampleNumber);
%每个PRT为一行,每行480个采样点的数据
figure(6);
plot(abs(pc(1,:
)));
频域脉压结果的幅度,没有暂态点'
%================MTI(动目标显示),对消静止目标和低速目标---可抑制杂波=================================%
PulseNumber-1%滑动对消,少了一个脉冲
mti(i,:
)=pc(i+1,:
)-pc(i,:
figure(7);
mesh(abs(mti));
MTIresult'
%================MTD(动目标检测),区分不同速度的目标,有测速作用=================================%
mtd=zeros(PulseNumber,SampleNumber);
SampleNumber
buff(1:
PulseNumber)=pc(1:
PulseNumber,i);
buff_fft=fft(buff);
mtd(1:
PulseNumber,i)=buff_fft(1:
PulseNumber);
figure(8);
mesh(abs(mtd));
MTDresult'
%=======================================虚实矩阵转换========================================%
coeff_fft_c=zeros(1,2*8192);
8192
coeff_fft_c(2*i-1)=real(coeff_fft(i));
coeff_fft_c(2*i)=imag(coeff_fft(i));
echo_c=zeros(1,2*TotalNumber);
TotalNumber
echo_c(2*i-1)=real(Echo(i));
echo_c(2*i)=imag(Echo(i));
%===========================以下是为DSP程序提供回波数据、脉压系数===============================%
%fo=fopen('
F:
\mystudy\Visual_DSP_test\test_1\coeff_fft_c.dat'
'
wt'
%频域脉压系数
%fori=1:
2*8192
%fprintf(fo,'
%f,\r\n'
coeff_fft_c(i));
%end
%fclose(fo);
%
\mystudy\Visual_DSP_test\test_1\echo_c.dat'
%16次回波的
2*TotalNumber
echo_c(i));
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 雷达 系统 仿真 matlab 代码