雷达系统仿真matlab代码
SAR合成孔径雷达图像点目标仿真报告(附matlab代码)
SAR 图像点目标仿真报告徐一凡1 SAR 原理简介合成孔径雷达(Synthetic Aperture Radar .简称SAR)是一种高分辨率成像雷达技术。
它利用脉冲压缩技术获得高的距离向分辨率.利用合成孔径原理获得高的方位向分辨率.从而获得大面积高分辨率雷达图像。
SAR 回波信号经距离向脉冲压缩后.雷达的距离分辨率由雷达发射信号带宽决定:2r rCB ρ=.式中r ρ表示雷达的距离分辨率.r B 表示雷达发射信号带宽.C 表示光速。
同样.SAR 回波信号经方位向合成孔径后.雷达的方位分辨率由雷达方位向的多谱勒带宽决定:aa av B ρ=.式中a ρ表示雷达的方位分辨率.a B 表示雷达方位向多谱勒带宽.a v 表示方位向SAR 平台速度。
在小斜视角的情况下.方位分辨率近似表示为2a Dρ=.其中D 为方位向合成孔径的长度。
2 SAR 的几何关系雷达位置和波束在地面覆盖区域的简单几何模型如图1所示。
此次仿真考虑的是正侧视的条带式仿真.也就是说倾斜角为零.SAR 波束中心和SAR 平台运动方向垂直的情况。
图1 雷达数据获取的几何关系建立坐标系XYZ 如图2所示.其中XOY 平面为地平面;SAR 平台距地平面高H.以速度V 沿X 轴正向匀速飞行;P 点为SAR 平台的位置矢量.设其坐标为(x,y,z); T 点为目标的位置矢量.设其坐标为(,,)T T T x y z ;由几何关系.目标与SAR 平台的斜距为:(R PT x ==(1)由图可知:0,,0T y z H z ===;令x vs =⋅.其中v 为平台速度.s 为慢时间变量(slow time ).假设T x vs =.其中s 表示SAR 平台的x 坐标为T x的时刻;再令r =r 表示目标与SAR 的垂直斜距.重写(1)式为:(;)PT R s r = =(;)R s r 就表示任意时刻s 时.目标与雷达的斜距。
一般情况下.0v s s r-<<.于是通过傅里叶技术展开.可将(2)式可近似写为:220(;)()2v R s r r s s r=≈+- (3)可见.斜距是s r 和的函数.不同的目标.r 也不一样.但当目标距SAR 较远时.在观测带内.可近似认为r 不变.即0r R =。
雷达信号matlab仿真
雷达系统分析大作作 者: 雪娣 学号:04104207271. 最大不模糊距离:,max1252u rC R km f == 距离分辨率:1502mcR m B ∆== 2. 天线有效面积:220.07164e G A m λπ==半功率波束宽度:3 6.4o dbθ==3. 模糊函数的一般表示式为()()()22*2;⎰∞∞-+=dt e t s t s f d f j d πττχ 对于线性调频信号 ()21Re j t p t s t ct e T πμ⎛⎫= ⎪ ⎪⎝⎭则有:()()221;Re Re p j t T j t d ppp t t f ct ct e e dt T T T πμπμτχτ∞+-∞⎛⎫⎛⎫+=⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎰ ()()()sin 1;11d p p d p d p p f T T f T f T T τπμττχττπμτ⎛⎫⎛⎫+- ⎪⎪ ⎪ ⎪⎛⎫⎝⎭⎝⎭=- ⎪ ⎪⎛⎫⎝⎭+-⎪ ⎪⎝⎭分别令0,0==d f τ可得()()220;,;0τχχd f()()sin 0;d p d d pf T f f T πχπ=()sin 1;011p p p p p T T T T T τπμττχττπμτ⎛⎫⎛⎫-⎪ ⎪ ⎪ ⎪⎛⎫⎝⎭⎝⎭=- ⎪ ⎪⎛⎫⎝⎭- ⎪ ⎪⎝⎭程序代码见附录1的T_3.m, 仿真结果如下:4. 程序代码见附录1的T_4.m, 仿真结果如下:通过比较得知,加窗后的主副瓣比变大,副瓣降低到40db 以下,但主瓣的宽度却增加了,约为未加窗时的1.5倍,主瓣也有一定的损失。
5.由雷达方程221340(4)tPG Te SNR KT LFR λσπ=计算可得1196.5540log SNR R =- db作图输出结果如下,程序代码见附录1的T_5.m在R=70km 时,计算得单个脉冲的SNR 1=2.7497 db,要达到要求的检测性能则需要12.5dB 的最小检测输入信噪比,而M 个相参脉冲积累可以将信噪比提高M 倍, 故 10)1(SNR D M ==9.4413 因此要达到要求就需要10个以上的相参脉冲进行积累。
雷达系统仿真matlab代码.docx
%====================================================== =====================================%% 该程序完成16个脉冲信号的【脉压、动目标显示/动目标检测(MTI/MTD)】%====================================================== =====================================%% 程序中根据每个学生学号的末尾三位(依次为XYZ)来决定仿真参数,034% 目标距离为[3000 8025 9000+(Y*10+Z)*200 8025],4个目标% 目标速度为[50 0 (Y*10+X+Z)*6 100]%====================================================== =====================================%close all; %关闭所有图形clear all; %清除所有变量clc;%====================================================== =============================%% 雷达参数 %%====================================================== =============================%C=3.0e8; %光速(m/s)RF=3.140e9/2; %雷达射频 1.57GHzLambda=C/RF;%雷达工作波长PulseNumber=16; %回波脉冲数BandWidth=2.0e6; %发射信号带宽带宽B=1/τ,τ是脉冲宽度TimeWidth=42.0e-6; %发射信号时宽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)=[1 1 1 0.25];%目标功率,无量纲TargetDistance(1:TargetNumber)=[3000 8025 15800 8025];%目标距离,单位m 距离参数为[3000 80259000+(Y*10+Z)*200 8025]DelayNumber(1:TargetNumber)=fix(Fs*2*TargetDistance(1: TargetNumber)/C);% 把目标距离换算成采样点(距离门) fix函数向0靠拢取整TargetVelocity(1:TargetNumber)=[50 0 204 100];%目标径向速度单位m/s 速度参数为[50 0 (Y*10+X+Z)*6 100]TargetFd(1:TargetNumber)=2*TargetVelocity(1:TargetNumb er)/Lambda; %计算目标多卜勒频移2v/λ%===================================================== ===============================%% 产生线性调频信号 %%===================================================== ===============================%number=fix(Fs*TimeWidth);%回波的采样点数=脉压系数长度=暂态点数目+1if rem(number,2)~=0 %rem求余number=number+1;end%把number变为偶数for i=-fix(number/2):fix(number/2)-1Chirp(i+fix(number/2)+1)=exp(j*(pi*(BandWidth/TimeWidth)*(i/Fs)^2));%exp(j*fi)*,产生复数矩阵Chirpendcoeff=conj(fliplr(Chirp));%把Chirp矩阵翻转并把复数共轭,产生脉压系数figure(1);%脉压系数的实部plot(real(Chirp));axis([0 90 -1.5 1.5]);title('脉压系数实部');%-------------------------产生目标回波串-----------------------------------------------------------------------------------------%%-------------------------产生前3个目标的回波串-------% SignalAll=zeros(1,TotalNumber);%所有脉冲的信号,先填0for k=1:TargetNumber-1 % 依次产生各个目标SignalTemp=zeros(1,SampleNumber);% 一个PRTSignalTemp(DelayNumber(k)+1:DelayNumber(k)+number)=sqr t(SigPower(k))*Chirp;%一个脉冲的1个目标(未加多普勒速度)(DelayNumber(k)+1):(DelayNumber(k)+number)Signal=zeros(1,TotalNumber);for i=1:PulseNumber % 16个回波脉冲Signal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp; %每个目标把16个SignalTemp排在一起endFreqMove=exp(j*2*pi*TargetFd(k)*(0:TotalNumber-1)/Fs);%目标的多普勒速度*时间=目标的多普勒相移Signal=Signal.*FreqMove;%加上多普勒速度后的16个脉冲1个目标SignalAll=SignalAll+Signal;%加上多普勒速度后的16个脉冲4个目标end% %-------------------------产生第4个目标的回波串-------% fi=pi/3;SignalTemp=zeros(1,SampleNumber);% 一个脉冲SignalTemp(DelayNumber(4)+1:DelayNumber(4)+number)=sqr t(SigPower(4))*exp(j*fi)*Chirp;%一个脉冲的1个目标(未加多普勒速度)Signal=zeros(1,TotalNumber);for i=1:PulseNumberSignal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp;endFreqMove=exp(j*2*pi*TargetFd(4)*(0:TotalNumber-1)/Fs);%目标的多普勒速度*时间=目标的多普勒相移Signal=Signal.*FreqMove;SignalAll=SignalAll+Signal;figure(2);subplot(2,1,1);plot(real(SignalAll),'r-');title('目标信号的实部');grid on;zoom on;subplot(2,1,2);plot(imag(SignalAll));title('目标信号的虚部');grid on;zoom on;%===================================================== ===============================%% 产生系统噪声信号 %%===================================================== ===============================%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,加噪声之后的回波for i=1:PulseNumber %在接收机闭锁期,接收的回波为0Echo((i-1)*SampleNumber+1:(i-1)*SampleNumber+number)=0; %发射时接收为0endfigure(3);%加噪声之后的总回波信号subplot(2,1,1);plot(real(Echo),'r-');title('总回波信号的实部,闭锁期为0');subplot(2,1,2);plot(imag(Echo));title('总回波信号的虚部,闭锁期为0');%================================时域脉压=================================%pc_time0=conv(Echo,coeff);%pc_time0为Echo和coeff的卷积pc_time1=pc_time0(number:TotalNumber+number-1);%去掉暂态点 number-1个figure(4);%时域脉压结果的幅度subplot(2,1,1);plot(abs(pc_time0),'r-');title('时域脉压结果的幅度,有暂态点');%pc_time0的模的曲线subplot(2,1,2);plot(abs(pc_time1));title('时域脉压结果的幅度,无暂态点');%pc_time1的模的曲线% ================================频域脉压=================================%Echo_fft=fft(Echo,8192);%理应进行TotalNumber+number-1点FFT,但为了提高运算速度,进行了8192点的FFTcoeff_fft=fft(coeff,8192);pc_fft=Echo_fft.*coeff_fft;pc_freq0=ifft(pc_fft);figure(5);subplot(2,1,1);plot(abs(pc_freq0(1:TotalNumber+number-1)));title('频域脉压结果的幅度,有前暂态点');subplot(2,1,2);plot(abs(pc_time0(1:TotalNumber+number-1)-pc_freq0(1:TotalNumber+number-1)),'r');title('时域和频域脉压的差别');pc_freq1=pc_freq0(number:TotalNumber+number-1);%去掉暂态点 number-1个,后填充点若干(8192-number+1-TotalNumber)% ================按照脉冲号、距离门号重排数据=================================%for i=1:PulseNumberpc(i,1:SampleNumber)=pc_freq1((i-1)*SampleNumber+1:i*SampleNumber);%每个PRT为一行,每行480个采样点的数据endfigure(6);plot(abs(pc(1,:)));title('频域脉压结果的幅度,没有暂态点'); % ================MTI(动目标显示),对消静止目标和低速目标---可抑制杂波=================================%for i=1:PulseNumber-1 %滑动对消,少了一个脉冲mti(i,:)=pc(i+1,:)-pc(i,:);endfigure(7);mesh(abs(mti));title('MTI result');% ================MTD(动目标检测),区分不同速度的目标,有测速作用=================================%mtd=zeros(PulseNumber,SampleNumber);for i=1:SampleNumberbuff(1:PulseNumber)=pc(1:PulseNumber,i);buff_fft=fft(buff);mtd(1:PulseNumber,i)=buff_fft(1:PulseNumber);endfigure(8);mesh(abs(mtd));title('MTD result');%=======================================虚实矩阵转换========================================%coeff_fft_c=zeros(1,2*8192);for i=1:8192coeff_fft_c(2*i-1)=real(coeff_fft(i));coeff_fft_c(2*i)=imag(coeff_fft(i));endecho_c=zeros(1,2*TotalNumber);for i=1:TotalNumberecho_c(2*i-1)=real(Echo(i));echo_c(2*i)=imag(Echo(i));end%===========================以下是为DSP程序提供回波数据、脉压系数===============================%% fo=fopen('F:\mystudy\Visual_DSP_test\test_1\coeff_fft_c.dat','wt');%频域脉压系数% for i=1:2*8192% fprintf(fo,'%f,\r\n',coeff_fft_c(i));% end% fclose(fo);%% fo=fopen('F:\mystudy\Visual_DSP_test\test_1\echo_c.dat','wt');%16次回波的% for i=1:2*TotalNumber% fprintf(fo,'%f,\r\n',echo_c(i));% end% fclose(fo);。
雷达接收机的MATLAB仿真
利用最长延时估计频率
利用所有相关器的相位输出 时对频率进行最小二乘估计
西安电子科技大学
仿真结果:
基于多路鉴相器的并行运用
西安电子科技大学
信道化接收机MATLAB举例
%>>>>>>>>>>适用于三级结构>>>>>>>>>>>>>> clc;clear; f1=2000;f2=4000;%测频范围 f=input('输入待测频率 (MHz) '); if f>=f1&&f<=f2 m1=4;m2=4;m3=4;%各分路器均设为5,分路器结构 u=(f2-f1)/(m1*m2*m3);%频率分辨力 ur=[0,0,0];%为各分路器中放带宽提供缓存
西安电子科技大学
num=zeros(1,3);%为每层的信道提供缓存 for k=1:3 j=1; while j<=4 if f-fl(k,j)>=fi(k)-ur(k)/2&&f-fl(k,j)<=fi(k)+ur(k)/2 f=f-fl(k,j); num(k)=j-1; break; else j=j+1; end 频率估计公式 end end
因为,你不在身边 。
快乐时,感到微微的惶恐。 大笑时,感到莫名的忧伤。
初遇你的那天,整个世界都被点亮。 回忆里你的笑容,如那午夜温柔的月光。 于是我时常微笑,因为在你面前没有权利悲伤。
岁月漂白了时光, 这一切也只不过是我单纯的盼望。 多想在阴雨时为你撑起伞, 多想在危难时化为一堵墙。
但这零碎的幸福,却是那阳光的方向。 我可以做你的骑士吗? 为你,击碎人生所有的无常。
matlab毫米波雷达例程
matlab毫米波雷达例程
在MATLAB中,你可以使用Phased Array System Toolbox来模
拟毫米波雷达系统。
这个工具箱提供了一些示例代码,可以帮助你
理解和模拟毫米波雷达系统的工作原理。
一个简单的例程是模拟一个基本的毫米波雷达系统。
你可以使
用MATLAB的Phased Array System Toolbox中的函数来创建一个毫
米波雷达天线阵列,然后定义一个波形发射器和接收器。
接着,你
可以模拟目标的回波信号,并进行信号处理以检测目标。
另一个例程是模拟毫米波雷达系统的距离测量。
你可以使用MATLAB的Phased Array System Toolbox中的函数来生成毫米波信号,然后模拟信号在目标上的反射和接收。
接着,你可以通过信号
处理算法来估计目标的距离。
除了这些基本的例程之外,MATLAB还提供了许多其他与毫米波
雷达相关的示例代码,涵盖了从信号生成到目标检测的各个方面。
你可以在MATLAB的官方网站或者帮助文档中找到更多的例程和资源,以帮助你理解和模拟毫米波雷达系统。
总之,MATLAB提供了丰富的工具和资源,可以帮助你模拟和理解毫米波雷达系统。
通过使用Phased Array System Toolbox和相关的示例代码,你可以从多个角度全面地了解毫米波雷达系统的工作原理和实现方法。
希望这些信息对你有所帮助!。
巴克码—线性调频脉冲多普勒雷达matlab代码
巴克码—线性调频脉冲多普勒雷达matlab代码%% 雷达系统仿真 %%% 发射信号为13位巴克码和线性调频混合调制的信号,线性调频的中心频率为30MHz, % 调频带宽为4MHz,每一位码宽为10微秒,发射信号的帧周期为1毫秒 % 该雷达具有数字化正交解调、数字脉冲处理、固定目标对消、动目标检测(MTD)、 % 和恒虚警(CFAR)处理等功能close all;clear all;clc;%%%%%%%%%%%%%%% 产生雷达发射信号 %%%%%%%%%%%%% code=[1,1,1,1,1,-1,-1,1,1,-1,1,-1,1]; % 13位巴克码tao=10e-6; % 脉冲宽度10usfc=28e6; % 调频信号起始频率f0=30e6; % 调频信号中心频率fs=100e6; % 采样频率ts=1/fs; % 采样间隔B=4e6; % 调频信号调频带宽t_tao=0:1/fs:tao-1/fs; % 调制信号,对于线性调频来说,调制信号就是时间序列N=length(t_tao);k=B/fs*2*pi/max(t_tao); % 调制灵敏度,也就是线性调频的步进系数n=length(code);pha=0;s=zeros(1,n*N);for i=1:nif code(i)==1pha=pi;else pha = 0;ends(1,(i-1)*N+1:i*N)=cos(2*pi*fc*t_tao+k*cumsum(t_tao)+pha);endt=0:1/fs:n*tao-1/fs;figure,subplot(2,1,1),plot(t,s); xlabel('t(单位:S)'),title('混合调制信号(13为巴克码+线性调频)'); s_fft_result=abs(fft(s(1:N)));subplot(2,1,2),plot((0:fs/N:fs/2-fs/N),abs(s_fft_result(1:N/2)));xlabel('频率(单位:Hz)'),title('码内信号频谱');%%%%%%%%%%%%%%%%%%% 产生脉冲压缩系数 %%%%%%%%%%%%%%%% %--------------------- 正交解调 --------------------% N=tao/ts;n=0:N-1;s1=s(1:N);local_oscillator_i=cos(2*pi*f0/fs*n); % I路本振信号local_oscillator_q=sin(2*pi*f0/fs*n); % Q路本振信号fbb_i = local_oscillator_i.*s1; % I路解调fbb_q = local_oscillator_q.*s1; % Q路解调window=chebwin(51,40); % 50阶cheby窗的FIR低通滤波器[b,a]=fir1(50,2*B/fs,window);fbb_i=[fbb_i,zeros(1,25)]; % 因为该FIR滤波器有25个采样周期的延迟,为了保证% 所有有效信息全部通过滤波器,故在信号后补25个0fbb_q=[fbb_q,zeros(1,25)];fbb_i=filter(b,a,fbb_i);fbb_q=filter(b,a,fbb_q);fbb_i=fbb_i(26:end); % 截取有效信息fbb_q=fbb_q(26:end); % 截取有效信息fbb=fbb_i+j*fbb_q;%-------- 产生理想线性调频脉冲压缩匹配系数 ---------% D = B*tao;match_filter_1=ts*fliplr(conj(fbb))*sqrt(D)*2/tao;NFFT = 131126;%2^nextpow2(length(s));match_filter_1_fft=fft(match_filter_1,NFFT); % 第一次脉冲压缩处理匹配系数 figure;subplot(2,1,1),plot(real(match_filter_1_fft)),title('脉冲压缩系数(实部)'); subplot(2,1,2),plot(imag(match_filter_1_fft)),title('脉冲压缩系数(虚部)');N=length(s);n=0:N-1;local_oscillator_i=cos(2*pi*f0/fs*n); % I路本振信号local_oscillator_q=sin(2*pi*f0/fs*n); % Q路本振信号fbb_i = local_oscillator_i.*s; % I路解调fbwindow=chebwin(51,40); % 50阶cheby窗的FIR低通滤波器[b,a]=fir1(50,0.5,window);fbb_i=[fbb_i,zeros(1,25)]; % 因为该FIR滤波器有25个采样周期的延迟,为了保证% 所有有效信息全部通过滤波器,故在信号后补25个0fbb_q=[fbb_q,zeros(1,25)];fbb_i=filter(b,a,fbb_i);fbb_q=filter(b,a,fbb_q);fbb_i=fbb_i(26:end); % 截取有效信息fbb_q=fbb_q(26:end); % 截取有效信息signal=fbb_i+j*fbb_q;clear fbb_i;clear fbb_q;clear local_oscillator_i;clearlocal_oscillator_q;signal_fft=fft(signal,NFFT);pc_result_fft=signal_fft.*match_filter_1_fft;pc_result=ifft(pc_result_fft,NFFT); figure,plot((0:ts:length(signal)*ts-ts),pc_result(1:length(signal)));xlabel('t(单位:S)'),title('回波脉冲压缩处理结果');t=tao*length(code);match_filter_2=2*ts*fliplr(conj(pc_result))*2/t;match_filter_2_fft=fft(match_filter_2,NFFT); % 第二次脉冲压缩处理匹配系数figure;subplot(2,1,1),plot(real(match_filter_2_fft)),title('脉冲压缩系数(实部)');subplot(2,1,2),plot(imag(match_filter_2_fft)),title('脉冲压缩系数(虚部)');%%%%%%%%%%%%%%%%%%% 产生雷达回波 %%%%%%%%%%%%%%%%f_frame=1e3; % 雷达发射信号重复频率T_frame=1/f_frame;N_echo_frame=18;f_doppler=3.5e3; % 动目标的多普勒频率t_frame=0:ts:T_frame-ts;t_mobj=200e-6; % 动目标位置echo_mobj_pulse=[zeros(1,t_mobj/ts),s,zeros(1,(T_frame-t_mobj)/ts-length(s))];echo_mobj=repmat(echo_mobj_pulse,1,N_echo_frame);t_doppler=0:ts:N_echo_frame*T_frame-ts;s_doppler=cos(2*pi*f_doppler*t_doppler);s_echo_mobj=echo_mobj.*s_doppler;t_fobj=450e-6; % 固定目标位置echo_fobj_pulse=[zeros(1,t_fobj/ts),s,zeros(1,(T_frame-t_fobj)/ts-length(s))];echo_fobj=repmat(echo_fobj_pulse,1,N_echo_frame);t_clutter=700e-6; % 杂波位置t_clutter_pulse=39e-6;sigma=2; % 杂波瑞利分布参数sigmat1=0:ts:t_clutter_pulse-ts;u=rand(1,length(t1));echo_clutter=0.08*sqrt(2*log(1./u))*sigma; % 产生瑞利分布信号s_echo_clutter_pulse=[zeros(1,t_clutter/ts),echo_clutter,...zeros(1,(T_frame-t_clutter)/ts-length(echo_clutter))];s_echo_clutter=repmat(s_echo_clutter_pulse,1,N_echo_frame);s_noise=0.1*rand(1,N_echo_frame*T_frame/ts);s_echo=s_echo_mobj+echo_fobj+s_echo_clutter+s_noise;%--------------------- 正交解调 --------------------%N=N_echo_frame*T_frame/ts;n=0:N-1;local_oscillator_i=cos(2*pi*f0/fs*n); % I路本振信号local_oscillator_q=sin(2*pi*f0/fs*n); % Q路本振信号s_echo_i = local_oscillator_i.*s_echo; % I路解调s_echo_q = local_oscillator_q.*s_echo; % Q路解调window=chebwin(51,40); % 50阶cheby窗的FIR低通滤波器[b,a]=fir1(50,2*B/fs,window);s_echo_i=[s_echo_i,zeros(1,25)]; % 因为该FIR滤波器有25个采样周期的延迟 % 所有有效信息全部通过滤波器,故在信号后补25个s_echo_q=[s_echo_q,zeros(1,25)];s_echo_i=filter(b,a,s_echo_i);s_echo_q=filter(b,a,s_echo_q);s_echo_i=s_echo_i(26:end); % 截取有效信息s_echo_q=s_echo_q(26:end); % 截取有效信息s_echo_mf=s_echo_i+j*s_echo_q;%%%%%%%%%%%%%%%%%%%%% 脉冲压缩处理 %%%%%%%%%%%%%%%%%%s_pc_result = zeros(N_echo_frame,NFFT);for i=1:N_echo_frames_echo_fft_result=fft(s_echo_mf(1,(i-1)*T_frame/ts+1:i*T_frame/ts),NFFT);s_pc_fft_1=s_echo_fft_result.*match_filter_1_fft;s_pc_fft_2=s_pc_fft_1.*match_filter_2_fft;s_pc_result(i,:)=ifft(s_pc_fft_2,NFFT);ends_pc_result_1=s_pc_result';s_pc_result_1=reshape(s_pc_result_1,1,N_echo_frame*NFFT);figure,subplot(2,1,1),plot((0:ts:N_echo_frame*NFFT*ts-ts),real(s_pc_result_1));xlabel('t(单位:S)'),title('脉冲压缩处理后结果(实部)');subplot(2,1,2),plot((0:ts:N_echo_frame*NFFT*ts-ts),imag(s_pc_result_1)); xlabel('t(单位:S)'),title('脉冲压缩处理后结果(虚部)');%%%%%%%%%%%%%%%%%%%%% 固定杂波对消处理 %%%%%%%%%%%%%%%%%%S_MTI_result = zeros(N_echo_frame-2,NFFT);for i=1:N_echo_frame-2S_MTI_result(i,:)=s_pc_result(i,:)+s_pc_result(i+2,:)-2*s_pc_result(i+1,:);endS_MTI_result_1=S_MTI_result';S_MTI_result_1=reshape(S_MTI_result_1,1,(N_echo_frame-2)*NFFT); figure,subplot(2,1,1),plot((0:ts:(N_echo_frame-2)*NFFT*ts-ts),real(S_MTI_result_1));xlabel('t(单位:S)'),title('固定杂波对消后结果(实部)');subplot(2,1,2),plot((0:ts:(N_echo_frame-2)*NFFT*ts-ts),imag(S_MTI_result_1));xlabel('t(单位:S)'),title('固定杂波对消后结果(虚部)');clear S_MTI_result_1;%%%%%%%%%%%%%%%%%%%%% MTD处理和求模 %%%%%%%%%%%%%%%%%%S_MTD_result_1 = fft(S_MTI_result,N_echo_frame-2);S_MTD_result=abs(max(S_MTD_result_1));figure,plot((0:ts:NFFT*ts-ts),S_MTD_result); xlabel('t(单位:S)'),title('MTD处理后求模结果(信号最大通道)');%%%%%%%%%%%%%%%%%%%%% CFAR处理 %%%%%%%%%%%%%%%%%%cfar_result = zeros(1,NFFT);cfar_result(1,1)=S_MTD_result(1,1)/(sqrt(2)/pi*mean(S_MTD_result(1,2 :17)));% 第1点恒虚警处理的噪声均值由其后面的16点的噪声决定for i=2:16% 第2点到第16点恒虚警处理的噪声均值由其前面和后面16点的噪声共同决定noise_mean=sqrt(2)/pi*(mean(S_MTD_result(1,1:i-1))+mean(S_MTD_result(1,i+1:i+16)))/2;cfar_result(1,i)=S_MTD_result(1,i)/noise_mean; endfor i=17:NFFT-17% 正常的数据点的恒虚警处理的噪声均值由其前面和后面各16点的噪声中的大者决定noise_mean=sqrt(2)/pi*max(mean(S_MTD_result(1,i-16:i-1)),mean(S_MTD_result(1,i+1:i+16)));cfar_result(1,i)=S_MTD_result(1,i)/noise_mean; endfor i=NFFT-16:NFFT-1% 倒数第16点到倒数第2点恒虚警处理的噪声均值由其前面16点和后面的噪声共同决 noise_mean=sqrt(2)/pi*(mean(S_MTD_result(1,i-16:i-1))+mean(S_MTD_result(1,i+1:NFFT)))/2;cfar_result(1,i)=S_MTD_result(1,i)/noise_mean; endcfar_result(1,NFFT)=S_MTD_result(1,NFFT)/(sqrt(2)/pi*mean(S_MTD_resu lt(1,NFFT-16:NFFT-1)));figure,plot((0:ts:NFFT*ts-ts),cfar_result); xlabel('t(单位:S)'),title('采用恒虚警处理结果');。
【雷达通信】合成孔径雷达(SAR)的点目标仿真matlab源码
【雷达通信】合成孔径雷达(SAR)的点目标仿真matlab源码•*SAR原理简介*用一个小天线作为单个辐射单元,将此单元沿一直线不断移动,在不同位置上接收同一地物的回波信号并进行相关解调压缩处理。
一个小天线通过“运动”方式就合成一个等效“大天线”,这样可以得到较高的方位向分辨率,同时方位向分辨率与距离无关,这样SAR就可以安装在卫星平台上而可以获取较高分辨率的SAR图像。
图1 SAR成像原理示意图1、几个参重要参数为了更好的理解SAR和SAR图像,需要知道几个重要的参数。
•分辨率SAR图像分辨率包括距离向分辨率(Range Resolution)和方位向分辨率(Azimuth Resolution)。
图2 距离向和方位向示意图•距离向分辨率(Range Resolution)垂直飞行方向上的分辨率,也就是侧视方向上的分辨率。
距离向分辨率与雷达系统发射的脉冲信号相关,与脉冲持续时间成正比:Res( r) = c*τ/2其中c为光速,τ为脉冲持续时间。
•方位向分辨率(Azimuth Resolution)沿飞行方向上的分辨率,也称沿迹分辨率。
如下为推算过程:·真实波束宽度:β= λ/ D·真实分辨率:ΔL = β*R = Ls (合成孔径长度)·合成波束宽度βs = λ /(2* Ls) = D / (2* R)·合成分辨率ΔLs = βs* R = D / 2其中λ为波长,D为雷达孔径,R为天线与物体的距离。
从这个公式中可以看到,SAR系统使用小尺寸的天线也能得到高方位向分辨率,而且与斜距离无关(就是与遥感平台高度无关)。
图3 方位向分辨率示意图•极化方式雷达发射的能量脉冲的电场矢量,可以在垂直或水平面内被偏振。
无论哪个波长,雷达信号可以传送水平(H)或者垂直(V)电场矢量。
接收水平(H)或者垂直(V)或者两者的返回信号。
雷达遥感系统常用四种极化方式———HH、VV、HV、VH。
ddma mimo 雷达信号处理 matlab代码
标题:ddma mimo 雷达信号处理 matlab代码一、概述雷达技术是一种用于检测、跟踪和识别目标的重要技术手段。
而MIMO(multiple-input multiple-output)雷达系统则是一种利用多个发射天线和接收天线的雷达系统,能够有效提高雷达系统的性能。
在MIMO雷达系统中,DDMA(digital beamforming and diversitybining)技术被广泛应用,以提高雷达信号处理的效率和精度。
本文将介绍DDMA MIMO雷达信号处理的Matlab代码实现。
二、DDMA MIMO雷达信号处理原理DDMA技术通过数字波束形成和多样性组合,能够有效地抑制干扰、提高信噪比、增强目标探测和跟踪性能。
MIMO雷达系统中,可以通过多个发射天线和接收天线实现精确的波束形成和多样性组合,从而实现高分辨率的目标成像和跟踪。
DDMA MIMO雷达信号处理算法主要包括以下几个步骤:1. 信号接收:接收多通道雷达回波信号,并进行数字化处理;2. 数字波束形成:利用接收天线阵列的数据,通过波束形成算法得到波束指向;3. 多样性组合:利用多个接收通道的信息,进行多样性组合,提高信号质量;4. 目标探测和跟踪:利用波束形成和多样性组合后的信号,进行目标探测和跟踪。
三、Matlab代码实现在Matlab评台上,可以使用信号处理工具箱和多通道雷达信号处理工具箱实现DDMA MIMO雷达信号处理。
以下是一个简单的Matlab 代码实现示例:```matlab接收信号处理rxSignal = randn(4, 1000); 模拟4个接收通道的雷达信号数字波束形成steeringVector = exp(1i * pi * (0:3).' * sind(30)); 设置波束指向为30度beamformedSignal = steeringVector' * rxSignal;多样性组合diversityCombinedSignal = sum(beamformedSignal, 1);目标探测和跟踪略显示结果figure;subplot(2,1,1);plot(1:1000, real(rxSignal));title('Received Signal');xlabel('Sample Index');ylabel('Amplitude');subplot(2,1,2);plot(1:1000, real(diversityCombinedSignal));title('Diversity Combined Signal');xlabel('Sample Index');ylabel('Amplitude');```以上代码示例中,首先模拟了4个接收通道的雷达信号,然后利用波束指向和多样性组合得到了合成的信号,并进行了显示。
雷达系统仿真matlab代码
雷达系统仿真m a t l a b代码(总5页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除%======================================================================== ===================%% 该程序完成16个脉冲信号的【脉压、动目标显示/动目标检测(MTI/MTD)】%======================================================================== ===================%% 程序中根据每个学生学号的末尾三位(依次为XYZ)来决定仿真参数,034% 目标距离为[3000 8025 9000+(Y*10+Z)*200 8025],4个目标% 目标速度为[50 0 (Y*10+X+Z)*6 100]%======================================================================== ===================%close all; %关闭所有图形clear all; %清除所有变量clc;%======================================================================== ===========%% 雷达参数 %%======================================================================== ===========%C=3.0e8; %光速(m/s)RF=3.140e9/2; %雷达射频 1.57GHzLambda=C/RF;%雷达工作波长PulseNumber=16; %回波脉冲数BandWidth=2.0e6; %发射信号带宽带宽B=1/τ,τ是脉冲宽度TimeWidth=42.0e-6; %发射信号时宽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)=[1 1 1 0.25];%目标功率,无量纲TargetDistance(1:TargetNumber)=[3000 8025 15800 8025];%目标距离,单位m 距离参数为[3000 8025 9000+(Y*10+Z)*200 8025]DelayNumber(1:TargetNumber)=fix(Fs*2*TargetDistance(1:TargetNumber)/C); % 把目标距离换算成采样点(距离门) fix函数向0靠拢取整TargetVelocity(1:TargetNumber)=[50 0 204 100];%目标径向速度单位m/s 速度参数为[50 0 (Y*10+X+Z)*6 100]TargetFd(1:TargetNumber)=2*TargetVelocity(1:TargetNumber)/Lambda; %计算目标多卜勒频移2v/λ%======================================================================= =============%% 产生线性调频信号 %%======================================================================= =============%number=fix(Fs*TimeWidth);%回波的采样点数=脉压系数长度=暂态点数目+1if rem(number,2)~=0 %rem求余number=number+1;end%把number变为偶数for i=-fix(number/2):fix(number/2)-1Chirp(i+fix(number/2)+1)=exp(j*(pi*(BandWidth/TimeWidth)*(i/Fs)^2));%exp (j*fi)*,产生复数矩阵Chirpendcoeff=conj(fliplr(Chirp));%把Chirp矩阵翻转并把复数共轭,产生脉压系数figure(1);%脉压系数的实部plot(real(Chirp));axis([0 90 -1.5 1.5]);title('脉压系数实部');%-------------------------产生目标回波串-----------------------------------------------------------------------------------------%%-------------------------产生前3个目标的回波串-------%SignalAll=zeros(1,TotalNumber);%所有脉冲的信号,先填0for k=1:TargetNumber-1 % 依次产生各个目标SignalTemp=zeros(1,SampleNumber);% 一个PRTSignalTemp(DelayNumber(k)+1:DelayNumber(k)+number)=sqrt(SigPower(k))*Chi rp;%一个脉冲的1个目标(未加多普勒速度)(DelayNumber(k)+1):(DelayNumber(k)+number)Signal=zeros(1,TotalNumber);for i=1:PulseNumber % 16个回波脉冲Signal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp; %每个目标把16个SignalTemp排在一起endFreqMove=exp(j*2*pi*TargetFd(k)*(0:TotalNumber-1)/Fs);%目标的多普勒速度*时间=目标的多普勒相移Signal=Signal.*FreqMove;%加上多普勒速度后的16个脉冲1个目标SignalAll=SignalAll+Signal;%加上多普勒速度后的16个脉冲4个目标end% %-------------------------产生第4个目标的回波串-------%fi=pi/3;SignalTemp=zeros(1,SampleNumber);% 一个脉冲SignalTemp(DelayNumber(4)+1:DelayNumber(4)+number)=sqrt(SigPower(4))*exp (j*fi)*Chirp;%一个脉冲的1个目标(未加多普勒速度)Signal=zeros(1,TotalNumber);for i=1:PulseNumberSignal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp;endFreqMove=exp(j*2*pi*TargetFd(4)*(0:TotalNumber-1)/Fs);%目标的多普勒速度*时间=目标的多普勒相移Signal=Signal.*FreqMove;SignalAll=SignalAll+Signal;figure(2);subplot(2,1,1);plot(real(SignalAll),'r-');title('目标信号的实部');grid on;zoom on;subplot(2,1,2);plot(imag(SignalAll));title('目标信号的虚部');gridon;zoom on;%======================================================================= =============%% 产生系统噪声信号 %%====================================================================================%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,加噪声之后的回波for i=1:PulseNumber %在接收机闭锁期,接收的回波为0Echo((i-1)*SampleNumber+1:(i-1)*SampleNumber+number)=0; %发射时接收为0endfigure(3);%加噪声之后的总回波信号subplot(2,1,1);plot(real(Echo),'r-');title('总回波信号的实部,闭锁期为0'); subplot(2,1,2);plot(imag(Echo));title('总回波信号的虚部,闭锁期为0');%================================时域脉压=================================%pc_time0=conv(Echo,coeff);%pc_time0为Echo和coeff的卷积pc_time1=pc_time0(number:TotalNumber+number-1);%去掉暂态点 number-1个figure(4);%时域脉压结果的幅度subplot(2,1,1);plot(abs(pc_time0),'r-');title('时域脉压结果的幅度,有暂态点');%pc_time0的模的曲线subplot(2,1,2);plot(abs(pc_time1));title('时域脉压结果的幅度,无暂态点');%pc_time1的模的曲线% ================================频域脉压=================================%Echo_fft=fft(Echo,8192);%理应进行TotalNumber+number-1点FFT,但为了提高运算速度,进行了8192点的FFTcoeff_fft=fft(coeff,8192);pc_fft=Echo_fft.*coeff_fft;pc_freq0=ifft(pc_fft);figure(5);subplot(2,1,1);plot(abs(pc_freq0(1:TotalNumber+number-1)));title('频域脉压结果的幅度,有前暂态点');subplot(2,1,2);plot(abs(pc_time0(1:TotalNumber+number-1)-pc_freq0(1:TotalNumber+number-1)),'r');title('时域和频域脉压的差别');pc_freq1=pc_freq0(number:TotalNumber+number-1);%去掉暂态点 number-1个,后填充点若干(8192-number+1-TotalNumber)% ================按照脉冲号、距离门号重排数据=================================%for i=1:PulseNumberpc(i,1:SampleNumber)=pc_freq1((i-1)*SampleNumber+1:i*SampleNumber);%每个PRT为一行,每行480个采样点的数据endfigure(6);plot(abs(pc(1,:)));title('频域脉压结果的幅度,没有暂态点');% ================MTI(动目标显示),对消静止目标和低速目标---可抑制杂波=================================%for i=1:PulseNumber-1 %滑动对消,少了一个脉冲mti(i,:)=pc(i+1,:)-pc(i,:);endfigure(7);mesh(abs(mti));title('MTI result');% ================MTD(动目标检测),区分不同速度的目标,有测速作用=================================%mtd=zeros(PulseNumber,SampleNumber);for i=1:SampleNumberbuff(1:PulseNumber)=pc(1:PulseNumber,i);buff_fft=fft(buff);mtd(1:PulseNumber,i)=buff_fft(1:PulseNumber);endfigure(8);mesh(abs(mtd));title('MTD result');%=======================================虚实矩阵转换========================================%coeff_fft_c=zeros(1,2*8192);for i=1:8192coeff_fft_c(2*i-1)=real(coeff_fft(i));coeff_fft_c(2*i)=imag(coeff_fft(i));endecho_c=zeros(1,2*TotalNumber);for i=1:TotalNumberecho_c(2*i-1)=real(Echo(i));echo_c(2*i)=imag(Echo(i));end%===========================以下是为DSP程序提供回波数据、脉压系数===============================%% fo=fopen('F:\my study\Visual_DSP_test\test_1\coeff_fft_c.dat','wt');%频域脉压系数% for i=1:2*8192% fprintf(fo,'%f,\r\n',coeff_fft_c(i));% end% fclose(fo);%% fo=fopen('F:\my study\Visual_DSP_test\test_1\echo_c.dat','wt');%16次回波的% for i=1:2*TotalNumber% fprintf(fo,'%f,\r\n',echo_c(i));% end% fclose(fo);。
应用于雷达系统匹配滤波器的matlab仿真.
应用于雷达系统匹配滤波器的matlab 仿真一.匹配滤波器原理在输入为确知加白噪声的情况下,所得输出信噪比最大的线性滤波器就是匹配滤波器,设一线性滤波器的输入信号为)(t x :)()()(t n t s t x += (1.1)其中:)(t s 为确知信号,)(t n 为均值为零的平稳白噪声,其功率谱密度为2/No 。
设线性滤波器系统的冲击响应为)(t h ,其频率响应为)(ωH ,其输出响应:)()()(t n t s t y o o += (1.2)输入信号能量: ∞<=⎰∞∞-dt t s s E )()(2(1.3)输入、输出信号频谱函数:dt e t s S t j ⎰∞∞--=ωω)()()()()(ωωωS H S o =ωωωπωωd eS H t s tj o ⎰∞-=)()(21)( (1.4)输出噪声的平均功率:ωωωπωωπd P H d P t n E n n o o ⎰⎰∞∞-∞∞-==)()(21)(21)]([22 (1.5))()()(21)()(2122ωωωπωωπωωd P H d eS H S N R n t j oo⎰⎰∞∞-∞∞-= (1.6)利用Schwarz 不等式得:ωωωπd P S S N R n o⎰∞∞-≤)()(212(1.7)上式取等号时,滤波器输出功率信噪比o SNR 最大取等号条件:otj n eP S H ωωωαω-=)()()(* (1.8) 当滤波器输入功率谱密度是2/)(o n N P =ω的白噪声时,MF 的系统函数为:,)()(*o t j e kS H ωωω-=oN k α2=(1.9) k 为常数1,)(*ωS 为输入函数频谱的复共轭,)()(*ωω-=S S ,也是滤波器的传输函数)(ωH 。
oso N E S N R 2=(1.10) Es 为输入信号)(t s 的能量,白噪声)(t n 的功率谱为2/o No SNR 只输入信号)(t s 的能量Es 和白噪声功率谱密度有关。
(完整版)合成孔径雷达点目标仿真MATLAB程序
合成孔径雷达成像系统点目标仿真源程序:clcclose allC=3e8; %光速Fc=1e9; %载波频率lambda=C/Fc; %波长%成像区域Xmin=0;Xmax=50;Yc=10000;Y0=500;%SAR基本参数V=100; %雷达平台速度H=0; %雷达平台高度R0=sqrt(Yc^2+H^2);D=4; %天线孔径长度Lsar=lambda*R0/D; %合成孔径长度Tsar=Lsar/V; %合成孔径时间Ka=-2*V^2/lambda/R0;%线性调频率Ba=abs(Ka*Tsar);PRF=2*Ba; %脉冲重复频率PRT=1/PRF;ds=PRT; %脉冲重复周期Nslow=ceil((Xmax-Xmin+Lsar)/V/ds);%脉冲数Nslow=2^nextpow2(Nslow); %量化为2的指数sn=linspace((Xmin-Lsar/2)/V,(Xmax+Lsar/2)/V,Nslow); %创建时间向量PRT=(Xmax-Xmin+Lsar)/V/Nslow; %更新PRF=1/PRT; % 更新脉冲重复频率fa=linspace(-0.5*PRF,0.5*PRF,Nslow);Tr=5e-6; %脉冲宽度Br=30e6; %调频信号带宽Kr=Br/Tr; %调频率Fsr=2*Br; %快时间域取样频率dt=1/Fsr; %快时间域取样间隔Rmin=sqrt((Yc-Y0)^2+H^2);Rmax=sqrt((Yc+Y0)^2+H^2+(Lsar/2)^2);Nfast=ceil(2*(Rmax-Rmin)/C/dt+Tr/dt);Nfast=2^nextpow2(Nfast);tm=linspace(2*Rmin/C,2*Rmax/C+Tr,Nfast);dt=(2*Rmax/C+Tr-2*Rmin/C)/Nfast; %更新Fsr=1/dt;fr=linspace(-0.5*Fsr,0.5*Fsr,Nfast);DY=C/2/Br; %距离分辨率DX=D/2; %方位分辨率Ntarget=3; %目标数目Ptarget=[Xmin,Yc,1 %目标位置Xmin,Yc+10*DY,1Xmin+20*DX,Yc+50*DY,1];K=Ntarget; %目标数目N=Nslow; %慢时间采样数M=Nfast; %快时间采样数T=Ptarget; %目标位置%合成孔径回波仿真Srnm=zeros(N,M);for k=1:1:Ksigma=T(k,3);Dslow=sn*V-T(k,1);R=sqrt(Dslow.^2+T(k,2)^2+H^2);tau=2*R/C;Dfast=ones(N,1)*tm-tau'*ones(1,M);phase=pi*Kr*Dfast.^2-(4*pi/lambda)*(R'*ones(1,M));Srnm=Srnm+sigma*exp(j*phase).*(0<Dfast&Dfast<Tr).*((abs(Dslow)<Lsar/2)'*ones(1,M));end%距离压缩tr=tm-2*Rmin/C;Refr=exp(j*pi*Kr*tr.^2).*(0<tr&tr<Tr);%距离压缩参考函数F_Refr=fft((Refr));Sr=zeros(N,M);for k2=1:1:Mtemp1=fft(Srnm(k2,:));FSrnm=temp1.*conj(F_Refr);Sr(k2,:)=ifft(FSrnm);end%方位压缩ta=sn-(Xmin+Xmax)/2/V;Refa=exp(j*pi*Ka*ta.^2).*(abs(ta)<Tsar/2); %方位压缩参考函数F_Refa=fft(Refa);Sa=zeros(N,M);for k3=1:1:Mtemp2=fft(Sr(:,k3));F_Sa=temp2.*conj(F_Refa.');Sa(:,k3)=fftshift(ifft(F_Sa));endrow=tm*C/2;col=sn*V;%绘图%回波雷达数据figure(1)subplot(211)imagesc(abs(Srnm));title('SAR data')subplot(212)imagesc(angle(Srnm))%灰度图figure(2)colormap(gray)imagesc(row,col,255-abs(Sr));title('距离压缩'),xlabel('距离向'),ylabel('方位向');figure(3)colormap(gray)imagesc(row,col,255-abs(Sa));title('方位压缩'),xlabel('距离向'),ylabel('方位向');%轮廓图figure(4)Ga=abs(Sa);a=max(max(Ga));contour(row,col,Ga,[0.707*a,a],'b');grid onx1=sqrt(H^2+min(abs(Ptarget(:,2))).^2)-5*DY;x2=sqrt(H^2+max(abs(Ptarget(:,2))).^2)+5*DY;y1=min(Ptarget(:,1))-5*DX;y2=max(Ptarget(:,1))+5*DX;axis([x1,x2,y1,y2])%三维成像图figure(5)mesh(Ga((400:600),(200:500)));axis tightxlabel('Range'),ylabel('Azimuth');仿真结果图:图4. 1 点目标原始回波数据图4. 2 距离压缩后成像图图4. 3 方位压缩后成像图(点阵目标成像灰度图)图4. 4 点阵目标成像轮廓图。
(完整word版)雷达信号处理的MATLAB仿真
摘要现代雷达系统日益变的复杂,难以简单直观的进行分析,必须借助计算机来完成对系统的各项功能和性能的仿真。
针对现代雷达信号处理的主要方式,运用数字信号处理理论和Matlab 软件研究雷达信号处理的仿真问题,提出了一个仿真模型。
该模型可以完成雷达信号的仿真、热噪声与杂波的产生和雷达系统中信号的动态处理过程。
用Matlab 对某脉冲压缩雷达信号处理系统进行了仿真,得到了雷达系统中各个处理点上的具体信号形式,既包含幅度信息,又包含相位信息,该模型能较好地满足对雷达信号处理的仿真要求,显示了用Matlab仿真雷达信号处理系统的方便、快捷的优雷达点。
本文讨论的是雷达信号处理部分,并结合雷达处理系统实例来说明MATLAB在雷达信号处理机系统仿真中的应用。
关键词:雷达信号处理;正交解调;脉冲压缩;回波积累;恒虚警处理AbstractModern radar systems become increasingly complex and difficult to simple intuitive analysis, we must rely on computer systems to complete the functionality and performance of the simulationThe simulation of radar signal processing is an important part of the simulation of radar system. This paper introduces a method of the simulation of radar signal processing based on Matlab, including the simulation ofradar echo and clutter, and researches the simulation method of important technologies in the radar signal processing, including quadrature sampling, pulse compression, echo accumulation and CFAR detector. The work inthis paper can overcome the disadvantages such as difficulty and lengthiness and show the convenience and simplicity of the simulation of radar signal processing based on MATLAB.In this paper, is part of the radar signal processing and radar processing systems with examples to illustrate the radar signal processor MATLAB simulation of。
适合雷达初学者:线性调频脉冲雷达仿真实验教程(含MATLAB代码和教程)
适合雷达初学者:线性调频脉冲雷达仿真实验教程(含MATLAB代码和教程)今天给大家分享的是一个脉冲雷达MATLAB仿真小实验,这个实验是调皮哥刚进研究生时学习的入门教程,比较简单,特别适合于初学者。
同时这个也是研究生一年级里面的实验课程,不过现在这个课程已经更新了,更新之后的内容就是调皮哥之前说的采用TI毫米波雷达那个,是由调皮哥亲自帮助导师设计的,现在那个课程已经上了两年多了,今年又更新了一些内容。
虽然这个脉冲雷达MATLAB仿真小实验经过了十多年的时间现在已经退出了历史的舞台,但是其内容依旧适合大家学习。
就在之前,有读者向我咨询有没有相关的内容,于是我就准备今天给大家分享,,希望早一些帮助到大家,文末提供了下载方式。
这个小实验内容不多,两个程序,一份报告,报告是调皮哥自己的课程作业。
MATLAB程序主要完成16个调频脉冲信号的产生、脉冲压缩、MTI、MTD、CFAR等信号处理算法,共计200多行。
报告的内容就是对实验内容的解析和分析,大家可以参照理解和学习,因此我就不再对代码进行一一解释了,代码中也有一些注释,相信大家花点功夫应该能够看得懂的。
具体内容大家可以详细见教程,这里就不再进行过多的论述。
后续还有几个小问题,可以分享给大家:(1)线性调频信号的特点。
为什么选用线性调频信号?答:线性调频信号的频率随时间呈线性变化,选用线性调频信号可以增大发射信号的带宽,提高平均发射功率,同时又有较高的距离分辨率。
(2)为什么要做脉冲压缩答:为了获得大的作用距离和具有很高的距离分辨率。
(3)时域脉压和频域脉压分别怎么做?答:通过对发射信号进行序列反转、取共轭操作即可得到脉冲压缩系数。
时域脉冲压缩处理是对回波信号与脉冲压缩系数进行卷积。
频域是先对回波信号和脉压系数做FFT,点乘之后在做IFFT(逆快速傅里叶变换)。
(4)PC(脉冲压缩)结束后三个目标高度为什么不一样,呈什么变化,为什么?答:第一个脉冲有部分处于闭锁期,因此幅度较小。
ddma mimo 雷达信号处理 matlab代码
ddma mimo 雷达信号处理 matlab代码DDMA(Distributed Detection Multiple Access)是一种利用多输入多输出(MIMO)雷达系统进行信号处理的方法,借助Matlab代码可以实现DDMA MIMO雷达信号处理。
本文将介绍DDMA MIMO雷达信号处理的原理以及如何利用Matlab代码实现。
一、DDMA MIMO雷达信号处理原理1. MIMO雷达系统简介:MIMO雷达是利用多个发射天线和接收天线来改善雷达系统的性能的一种技术。
与传统的单输入单输出(SISO)雷达系统相比,MIMO雷达具有更好的分辨率、抗干扰性能和目标定位精度。
2. DDMA(Distributed Detection Multiple Access)算法:DDMA是一种分布式检测多址访问算法,旨在提高多目标雷达系统的性能。
DDMA通过将接收到的雷达信号分成多个子信号并分配给不同的接收天线进行处理,从而实现对多目标的检测和定位。
DDMA算法在提高雷达系统性能的同时,还具备良好的抗干扰性能。
3. DDMA MIMO雷达信号处理步骤:(1) 发送阶段:将多个信号通过多个发射天线发送。
(2) 接收阶段:多个接收天线接收到混叠信号,并通过混叠消除算法将其恢复为原始信号。
(3) 分组阶段:将接收到的信号分组成多个子信号,并分配给不同的接收天线进行处理。
(4) 检测阶段:每个接收天线对分配到的子信号进行处理,并提取目标信息。
(5) 融合阶段:将各个接收天线提取的目标信息进行融合,得到最终的目标检测结果。
二、利用Matlab代码实现DDMA MIMO雷达信号处理在Matlab中,可以使用以下步骤实现DDMA MIMO雷达信号处理:1. 配置雷达系统参数:首先,需要设置雷达系统的参数,包括天线数目、发射功率、噪声功率等。
通过以下代码片段可以设置雷达系统的参数:antennaNum = 4; % 天线数目transmitPower = 10; % 发射功率noisePower = 0.1; % 噪声功率2. 生成发送信号:利用Matlab生成并发送雷达信号。
雷达系统仿真设计报告一
雷达系统建模与仿真设计报告一、设计题仿真产生十种概率分布的随机序列,并进行参数检验,概率分布检验和独立性检验。
二、设计过程1.选择运用MATLAB软件实现设计要求。
2.选择以下十种概率分布,实现其随机序列的数据仿真。
3.具体实现方法 (1)[0,1]区间均匀分布运用乘同余法产生[0,1]区间均匀分布随机数序列的递推公式)(mod 1M x x n n λ≡+式中:λ、M 为两个参数,0x 为初始值。
此处取352=M ,10=x ,155=λ,产生100000个随机数组成的序列,并设置显著水平为5%进行频率(均匀性)检验,参数(一阶矩、二阶矩、方差)检验,相关系数(独立性)检验。
通过检验后,方可认为产生的[0,1]区间均匀分布随机数序列符合设计要求。
通过编写MATLAB 语言代码,产生的序列做直方图如下:检验结果:从表中可以看出,该[0,1]区间均匀分布的随机数序列通过了各项检验。
以下的十种概率分布的随机数序列均以[0,1]区间上的均匀分布随机总体为基础。
根据相关理论,只要给定的均匀分布随机数序列满足均匀且独立的要求,在对其经过严格的数学变换或者严格的数学方法后,所产生的任何分布的简单子样都会满足相同的总体分布和相互独立性的要求。
据此,以下产生的十种概率分布的随机数序列均不再进行检验,仅画出概率分布直方图作为参考。
(2)高斯(标准正态)分布在雷达系统仿真中,正态分布有着非常重要的地位。
因为雷达接收机的内部噪声、雷达的各种测量误差等均服从正态分布,并且还可由正态分布获得指数分布、瑞利分布、韦布尔分布和对数—正态分布等许多非高斯分布表达式。
当随机变量i u 为[0,1]区间上的均匀分布随机变量,所要求的高斯分布的均值为1)(m y E i =,方差21)(σ=i y D 。
运用近似抽样法,则所求的高斯分布随机变量的表达式为111)2(12m Nu N y Ni i j +-=∑=σ。
当均匀分布随机变量的数目N=12时,简化式为6121-=∑=i i j u y ,本设计中采用了该简化式。
雷达距离方程 matlab仿真
雷达距离方程 matlab仿真雷达距离方程是用来计算目标物体与雷达之间的距离的方程。
在雷达系统中,通常使用雷达方程来描述雷达系统的性能。
雷达距离方程可以表示为:\[ R = \frac{c \cdot \tau}{2} \]其中,\( R \) 是目标物体与雷达之间的距离,\( c \) 是光速,\( \tau \) 是雷达回波的时间延迟。
在MATLAB中,你可以进行雷达距离方程的仿真。
首先,你需要确定雷达回波的时间延迟\( \tau \)。
然后,你可以使用MATLAB来计算雷达距离。
以下是一个简单的MATLAB代码示例来计算雷达距离:matlab.% 定义光速。
c = 3e8; % 光速,单位,米/秒。
% 输入雷达回波的时间延迟。
tau = input('请输入雷达回波的时间延迟(秒),');% 计算雷达距离。
R = (c tau) / 2;% 显示结果。
disp(['目标物体与雷达之间的距离为,', num2str(R), ' 米']);在这个示例中,我们首先定义了光速\( c \),然后输入了雷达回波的时间延迟\( \tau \),最后利用雷达距离方程计算了目标物体与雷达之间的距离\( R \)。
当然,实际的雷达仿真可能会更加复杂,涉及到信号处理、波形设计等方面的内容。
除了简单的雷达距离方程,实际的雷达仿真可能还涉及到波束形成、目标回波模拟、杂波抑制等内容。
在MATLAB中,你可以利用信号处理工具箱和雷达工具箱来进行更为复杂的雷达仿真和分析。
总之,MATLAB提供了丰富的工具和函数来进行雷达系统的仿真和分析,可以帮助工程师和研究人员更好地理解和设计雷达系统。
希望这个回答能够帮助你更好地理解雷达距离方程在MATLAB中的仿真应用。
基于matlab的fmcw雷达仿真代码
基于matlab的fmcw雷达仿真代码【原创实用版】目录一、引言二、FMCW 雷达原理及仿真代码概述1.FMCW 雷达简介2.MATLAB 仿真代码的基本结构和功能三、FMCW 雷达仿真代码的实现1.雷达系统参数设计与预测性能指标2.雷达信号处理建模与仿真3.雷达高度计仿真4.FMCW 雷达系统信号处理建模仿真四、使用 MATLAB 工具箱进行 FMCW 雷达仿真1.MATLAB 工具箱的优势2.如何使用 MATLAB 工具箱进行雷达仿真五、总结与展望正文一、引言近年来,随着汽车自动驾驶技术的发展,雷达技术在汽车领域的应用越来越广泛。
其中,FMCW 雷达由于其测量精度高、抗干扰能力强等优点,成为自动驾驶汽车中常用的传感器之一。
为了提高 FMCW 雷达的性能,需要对其进行仿真研究。
本文将介绍基于 MATLAB 的 FMCW 雷达仿真代码,帮助读者了解 FMCW 雷达的原理及应用。
二、FMCW 雷达原理及仿真代码概述1.FMCW 雷达简介FMCW 雷达(Frequency Modulated Continuous Wave Radar)是一种连续波雷达,其工作原理是通过频率调制连续波信号来实现距离和速度的测量。
FMCW 雷达具有较高的测量精度和抗干扰能力,适用于各种恶劣环境。
2.MATLAB 仿真代码的基本结构和功能MATLAB 是一种广泛应用于科学计算和工程设计的软件,其具有丰富的工具箱和强大的仿真功能。
基于 MATLAB 的 FMCW 雷达仿真代码主要包括以下几个部分:(1)雷达系统参数设计:根据雷达的需求,设计雷达的发射波束形成、频率调制等参数;(2)信号处理建模:构建 FMCW 雷达信号处理模型,包括信号的产生、混频、距离和速度维 FFT 等;(3)仿真结果分析:对仿真结果进行分析,计算雷达的性能指标,如距离分辨率、速度分辨率等。
三、FMCW 雷达仿真代码的实现1.雷达系统参数设计与预测性能指标使用雷达设计器应用程序,根据需求设计 FMCW 雷达的发射波束形成、频率调制等参数。
基于matlab的fmcw雷达仿真代码
基于matlab的fmcw雷达仿真代码摘要:I.引言- 介绍FMCW雷达的基本原理- 阐述基于MATLAB的FMCW雷达仿真代码的意义和目的II.FMCW雷达原理简介- 调频连续波雷达的基本工作原理- FMCW雷达在测量距离和速度方面的优势III.基于MATLAB的FMCW雷达仿真代码- 代码的编写环境和工具- 代码的基本思路和主要函数IV.代码实现过程- 初始化参数和变量- 生成调频连续波信号- 对信号进行调制和解调- 计算接收信号的频谱- 提取距离和速度信息V.代码仿真结果及分析- 仿真结果的展示- 结果的分析和解释VI.结论- 总结代码的主要功能和优点- 展望基于MATLAB的FMCW雷达仿真代码在实际应用中的前景正文:I.引言FMCW雷达(调频连续波雷达)是一种在频域上进行调制的连续波雷达,通过发送连续波形的雷达信号,并接收其反射信号来实现对目标的探测、跟踪和识别。
与传统的脉冲雷达相比,FMCW雷达具有测量距离和速度精度高、抗干扰能力强等优点,因此在军事、民用等领域得到了广泛的应用。
基于MATLAB的FMCW雷达仿真代码可以帮助我们更好地理解FMCW 雷达的工作原理,为雷达系统的设计和优化提供有力的支持。
II.FMCW雷达原理简介FMCW雷达通过发送连续波形的雷达信号,并接收其反射信号来实现对目标的探测、跟踪和识别。
其基本工作原理如下:1.发射端:发射连续波信号,通常采用线性调频信号,其频率随时间线性变化。
2.接收端:接收目标反射回来的信号,通过混频和滤波等处理,提取出频率差值信号,从而获得目标与雷达之间的距离和速度信息。
FMCW雷达在测量距离和速度方面具有较高的精度和稳定性,是现代雷达技术的重要发展方向之一。
III.基于MATLAB的FMCW雷达仿真代码本节将介绍基于MATLAB的FMCW雷达仿真代码的编写环境和工具,以及代码的基本思路和主要函数。
1.编写环境和工具:MATLAB R2016a及以上版本,信号处理工具箱。
基于matlab的fmcw雷达仿真代码
一、引言在雷达技术领域,FMCW(Frequency Modulated Continuous Wave)雷达是一种常见的雷达模式。
它通过改变发射信号的频率来实现测量目标距离和速度。
而使用Matlab进行FMCW雷达仿真可以帮助工程师更好地理解和分析这一雷达模式的工作原理。
二、FMCW雷达原理1. 发射信号频率的改变FMCW雷达通过不断改变发射信号的频率,将其连续地调制为一个频率随时间变化的信号。
这样的信号被发射出去后,它会与目标反射回来的信号进行叠加,形成一个混频信号。
2. 接收信号的处理接收到的混频信号会经过一系列的信号处理,其中包括信号的分析和解调。
最终可以得到目标的距离和速度信息。
三、Matlab在FMCW雷达仿真中的应用1. 生成FMCW信号我们需要在Matlab中生成FMCW雷达所需的调频信号。
可以通过Matlab的信号处理工具箱来实现这一部分功能。
这部分代码需要能够按照要求改变信号的频率,生成出符合FMCW雷达工作要求的信号。
2. 目标回波信号的模拟在FMCW雷达仿真中,我们也需要模拟目标反射回来的信号。
这一部分的代码需要考虑到目标的距离和速度对信号的影响,然后生成出符合实际情况的目标回波信号。
3. 信号处理和解调接收到混频信号后,需要进行信号处理和解调来获取目标的距离和速度信息。
在Matlab中,可以通过滤波、FFT等工具来完成这一部分工作。
四、FMCW雷达仿真代码示例以下是一个简单的FMCW雷达仿真代码示例,仅供参考:```matlab生成FMCW信号t = 0:0.001:1; 时间范围f_start = 24e9; 起始频率f_stop = 24.5e9; 终止频率T = 1; 调频周期s = f_start + (f_stop - f_start) * t/T; 生成调频信号目标回波信号模拟target_distance = 100; 目标距离target_velocity = 10; 目标速度target_delay = 2*target_distance/(3e8); 目标回波信号延迟target_doppler = 2*target_velocity*f_stop/3e8; 目标回波信号多普勒频率target_signal = exp(1j*2*pi*(f_start*t + 0.5*target_doppler*t.^2)); 目标回波信号信号处理和解调mixed_signal = s.*target_signal; 混频信号receive_signal = fliplr(mixed_signal); 接收信号f = fft(receive_signal); 执行FFT得到频谱```五、结语通过Matlab进行FMCW雷达仿真,可以帮助工程师更好地理解这一雷达模式的工作原理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%======================================================================= ====================%% 该程序完成16个脉冲信号的【脉压、动目标显示/动目标检测(MTI/MTD)】%======================================================================= ====================%% 程序中根据每个学生学号的末尾三位(依次为XYZ)来决定仿真参数,034% 目标距离为[3000 8025 9000+(Y*10+Z)*200 8025],4个目标% 目标速度为[50 0 (Y*10+X+Z)*6 100]%======================================================================= ====================%close all; %关闭所有图形clear all; %清除所有变量clc;%======================================================================= ============%% 雷达参数 % %======================================================================= ============%C=3.0e8; %光速(m/s)RF=3.140e9/2; %雷达射频 1.57GHzLambda=C/RF;%雷达工作波长PulseNumber=16; %回波脉冲数BandWidth=2.0e6; %发射信号带宽带宽B=1/τ,τ是脉冲宽度TimeWidth=42.0e-6; %发射信号时宽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)=[1 1 1 0.25];%目标功率,无量纲TargetDistance(1:TargetNumber)=[3000 8025 15800 8025];%目标距离,单位m 距离参数为[3000 8025 9000+(Y*10+Z)*200 8025]DelayNumber(1:TargetNumber)=fix(Fs*2*TargetDistance(1:TargetNumber)/C); % 把目标距离换算成采样点(距离门) fix函数向0靠拢取整TargetVelocity(1:TargetNumber)=[50 0 204 100];%目标径向速度单位m/s 速度参数为[50 0 (Y*10+X+Z)*6 100]TargetFd(1:TargetNumber)=2*TargetVelocity(1:TargetNumber)/Lambda; %计算目标多卜勒频移2v/λ%====================================================================== ==============%% 产生线性调频信号 %%====================================================================== ==============%number=fix(Fs*TimeWidth);%回波的采样点数=脉压系数长度=暂态点数目+1if rem(number,2)~=0 %rem求余number=number+1;end%把number变为偶数for i=-fix(number/2):fix(number/2)-1Chirp(i+fix(number/2)+1)=exp(j*(pi*(BandWidth/TimeWidth)*(i/Fs)^2));%ex p(j*fi)*,产生复数矩阵Chirpendcoeff=conj(fliplr(Chirp));%把Chirp矩阵翻转并把复数共轭,产生脉压系数figure(1);%脉压系数的实部plot(real(Chirp));axis([0 90 -1.5 1.5]);title('脉压系数实部');%-------------------------产生目标回波串-----------------------------------------------------------------------------------------%%-------------------------产生前3个目标的回波串-------%SignalAll=zeros(1,TotalNumber);%所有脉冲的信号,先填0for k=1:TargetNumber-1 % 依次产生各个目标SignalTemp=zeros(1,SampleNumber);% 一个PRTSignalTemp(DelayNumber(k)+1:DelayNumber(k)+number)=sqrt(SigPower(k))*Ch irp;%一个脉冲的1个目标(未加多普勒速度)(DelayNumber(k)+1):(DelayNumber(k)+number)Signal=zeros(1,TotalNumber);for i=1:PulseNumber % 16个回波脉冲Signal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp; %每个目标把16个SignalTemp排在一起endFreqMove=exp(j*2*pi*TargetFd(k)*(0:TotalNumber-1)/Fs);%目标的多普勒速度*时间=目标的多普勒相移Signal=Signal.*FreqMove;%加上多普勒速度后的16个脉冲1个目标SignalAll=SignalAll+Signal;%加上多普勒速度后的16个脉冲4个目标end% %-------------------------产生第4个目标的回波串-------%fi=pi/3;SignalTemp=zeros(1,SampleNumber);% 一个脉冲SignalTemp(DelayNumber(4)+1:DelayNumber(4)+number)=sqrt(SigPower(4))*ex p(j*fi)*Chirp;%一个脉冲的1个目标(未加多普勒速度)Signal=zeros(1,TotalNumber);for i=1:PulseNumberSignal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp;endFreqMove=exp(j*2*pi*TargetFd(4)*(0:TotalNumber-1)/Fs);%目标的多普勒速度*时间=目标的多普勒相移Signal=Signal.*FreqMove;SignalAll=SignalAll+Signal;figure(2);subplot(2,1,1);plot(real(SignalAll),'r-');title('目标信号的实部');grid on;zoom on;subplot(2,1,2);plot(imag(SignalAll));title('目标信号的虚部');grid on;zoom on;%====================================================================== ==============%% 产生系统噪声信号 %%====================================================================== ==============%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,加噪声之后的回波for i=1:PulseNumber %在接收机闭锁期,接收的回波为0Echo((i-1)*SampleNumber+1:(i-1)*SampleNumber+number)=0; %发射时接收为0endfigure(3);%加噪声之后的总回波信号subplot(2,1,1);plot(real(Echo),'r-');title('总回波信号的实部,闭锁期为0'); subplot(2,1,2);plot(imag(Echo));title('总回波信号的虚部,闭锁期为0');%================================时域脉压=================================%pc_time0=conv(Echo,coeff);%pc_time0为Echo和coeff的卷积pc_time1=pc_time0(number:TotalNumber+number-1);%去掉暂态点 number-1个figure(4);%时域脉压结果的幅度subplot(2,1,1);plot(abs(pc_time0),'r-');title('时域脉压结果的幅度,有暂态点');%pc_time0的模的曲线subplot(2,1,2);plot(abs(pc_time1));title('时域脉压结果的幅度,无暂态点');%pc_time1的模的曲线% ================================频域脉压=================================%Echo_fft=fft(Echo,8192);%理应进行TotalNumber+number-1点FFT,但为了提高运算速度,进行了8192点的FFTcoeff_fft=fft(coeff,8192);pc_fft=Echo_fft.*coeff_fft;pc_freq0=ifft(pc_fft);figure(5);subplot(2,1,1);plot(abs(pc_freq0(1:TotalNumber+number-1)));title('频域脉压结果的幅度,有前暂态点');subplot(2,1,2);plot(abs(pc_time0(1:TotalNumber+number-1)-pc_freq0(1:TotalNumber+number-1)),'r');title('时域和频域脉压的差别');pc_freq1=pc_freq0(number:TotalNumber+number-1);%去掉暂态点 number-1个,后填充点若干(8192-number+1-TotalNumber)% ================按照脉冲号、距离门号重排数据=================================%for i=1:PulseNumberpc(i,1:SampleNumber)=pc_freq1((i-1)*SampleNumber+1:i*SampleNumber);%每个PRT为一行,每行480个采样点的数据endfigure(6);plot(abs(pc(1,:)));title('频域脉压结果的幅度,没有暂态点');% ================MTI(动目标显示),对消静止目标和低速目标---可抑制杂波=================================%for i=1:PulseNumber-1 %滑动对消,少了一个脉冲mti(i,:)=pc(i+1,:)-pc(i,:);endfigure(7);mesh(abs(mti));title('MTI result');% ================MTD(动目标检测),区分不同速度的目标,有测速作用=================================%mtd=zeros(PulseNumber,SampleNumber);for i=1:SampleNumberbuff(1:PulseNumber)=pc(1:PulseNumber,i);buff_fft=fft(buff);mtd(1:PulseNumber,i)=buff_fft(1:PulseNumber);endfigure(8);mesh(abs(mtd));title('MTD result');%=======================================虚实矩阵转换========================================%coeff_fft_c=zeros(1,2*8192);for i=1:8192coeff_fft_c(2*i-1)=real(coeff_fft(i));coeff_fft_c(2*i)=imag(coeff_fft(i));endecho_c=zeros(1,2*TotalNumber);for i=1:TotalNumberecho_c(2*i-1)=real(Echo(i));echo_c(2*i)=imag(Echo(i));end%===========================以下是为DSP程序提供回波数据、脉压系数===============================%% fo=fopen('F:\my study\Visual_DSP_test\test_1\coeff_fft_c.dat','wt');%频域脉压系数% for i=1:2*8192% fprintf(fo,'%f,\r\n',coeff_fft_c(i));% end% fclose(fo);%% fo=fopen('F:\my study\Visual_DSP_test\test_1\echo_c.dat','wt');%16次回波的% for i=1:2*TotalNumber% fprintf(fo,'%f,\r\n',echo_c(i)); % end% fclose(fo);。