雷达系统仿真matlab代码Word下载.doc

上传人:聆听****声音 文档编号:471526 上传时间:2023-04-29 格式:DOC 页数:5 大小:47KB
下载 相关 举报
雷达系统仿真matlab代码Word下载.doc_第1页
第1页 / 共5页
雷达系统仿真matlab代码Word下载.doc_第2页
第2页 / 共5页
雷达系统仿真matlab代码Word下载.doc_第3页
第3页 / 共5页
雷达系统仿真matlab代码Word下载.doc_第4页
第4页 / 共5页
雷达系统仿真matlab代码Word下载.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

雷达系统仿真matlab代码Word下载.doc

《雷达系统仿真matlab代码Word下载.doc》由会员分享,可在线阅读,更多相关《雷达系统仿真matlab代码Word下载.doc(5页珍藏版)》请在冰点文库上搜索。

雷达系统仿真matlab代码Word下载.doc

%发射信号时宽

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));

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2