雷达信号的MATlab仿真
- 格式:pdf
- 大小:1.33 MB
- 文档页数:33
雷达发射线性调频信号,载频10GHz,线性调频信号带宽10MHz,脉宽5us,采样率自设,两目标距离雷达5000米和5020米之巴公井开创作(1)(2)模拟两个目标的回波,并进行脉冲压缩(匹配滤波),验证脉冲压缩对改善雷达距离分辨力的作用(3)调整两个目标的间距从1米到20米,观察结果得出结论.①源代码:clear all;close all;fc=10e9;%载频B=10e6;%带宽fs=2*fc;%采样率T=5*10^-6;%雷达脉宽t=0:1/fs:10*T;s1=5000;%目标1距离s2=5020;%目标2距离c=3e8;%光速t1=2*s1/c;%雷达波从目标1回波的延时t2=2*s2/c;%雷达波从目标2回波的延时u=B/T;st=rectpuls(t,T).*exp(j*2*pi*(fc*t+u*t.^2));%发射信号sr1=rectpuls((t-t1),T).*exp(j*2*pi*(fc*(t-t1)+u*(t-t1).^2));%目标1的回波sr2=rectpuls((t-t2),T).*exp(j*2*pi*(fc*(t-t2)+u*(t-t2).^2));%目标2的回波sr=sr1+sr2;%两目标总的回波figure(1);plot(real(sr));%未压缩回波title('未压缩回波');axis([6*10^5,7.4*10^5,-2,2]);F=fftshift(fft(sr));%进行脉冲压缩Ft=F.*conj(F);f=ifft(Ft);figure(2);plot(fftshift(abs(f)));%压缩回波title('压缩回波');axis([4.9*10^5,5.1*10^5,0,2*10^5]);②运行结果:改变相对距离为1米,运行结果如下:两目标不成份辨,直到两目标相对距离为13米时,目标可清晰分辨,如下:结论:当目标的相对距离较近时,目标的未压缩回波已不能分辨出两目标的位置,这时使用脉冲压缩可以增加雷达的分辨力,但其能力也是有限的,当两目标的相对距离太近时,即使脉冲压缩也不能分辨,即脉冲压缩不能使脉宽无限小.。
%====================================================== =====================================%% 该程序完成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程序)雷达发射波形的选择和设计直接影响雷达的性能以及抗干扰能力。
本次课程重点从模糊函数出发,仿真分析多种典型雷达信号:线性调频脉冲信号、三角波调频连续波信号、二相编码信号(Barker码/m序列)、多相编码信号(Frank码)。
课程将给出上述典型雷达信号的产生以及模糊图的Matlab仿真程序。
雷达模糊函数模糊函数是进行雷达波形设计和分析信号处理系统性能的重要工具,根据雷达信号的模糊函数,可以确定雷达发射波形的分辨能力、测量精度、模糊情况以及抑制干扰的能力。
雷达模糊函数表示匹配滤波器的输出,描述目标的距离和多普勒频移对回波信号的影响,信号的雷达模糊函数通常被定义为二维互相关函数的模的平方。
具体表达式为:模糊函数关于多普勒频率和延迟时间的三维图形称为雷达的模糊图。
对于一种给定的波形,其模糊图可以确定该波形的一些特征,同时也可以用某个时间或者频率门限值来切割三维模糊图得到模糊等高图。
模糊图的原点处模糊函数的值等于与感兴趣目标反射的信号理想匹配时的匹配滤波器的输出。
非零时的模糊函数值表示与感兴趣目标有一定距离和多普勒的目标回波。
在二维坐标平面内,若模糊函数的绝对值逼近于冲击函数呈理想图钉型时,就可以得到理想的二维分辨率,相当于把所有能量都集中在了坐标原点附近。
这是一次精品课程(图文课程),主要包含以下几个部分:一、模糊函数的概述二、线性调频脉冲信号及其模糊函数三、三角波调频连续波信号及其模糊函数四、二相码信号(Barker码/m序列)及其模糊函数五、多相码信号(Frank码)及其模糊函数具体内容见下面截图,订阅后可查看WORD可编辑版本以及下载相关Matlab仿真程序。
具体参数设置以及仿真结果见WORD文档和Matlab源程序。
TECHNOLOGY AND INFORMATION22 科学与信息化2023年2月下气象雷达信号处理的matlab仿真研究及DSP 实现李彦昭中国民用航空西北地区空中交通管理局甘肃分局 甘肃 兰州 730030摘 要 现如今,图像信息频繁地被应用于军事、医学、民航等领域,尤其是在民航气象方面,气象雷达信号处理是雷达生产研究过程中的关键一环,也是一个难点。
在实际中,通过雷达成像系统获得的雷达回波可能会造成一些关键信息的丢失,因此需要通过一些信号增强及复原技术来改善雷达信号的强度和准确度。
本文介绍了数字滤波器的特点,如何通过MATLAB及其图像信号处理工具箱进行雷达数字图像处理,最终设计实现利用数字滤波器增强雷达图像信号。
关键词 雷达信号处理;数字滤波器;MATLAB仿真MATLABSimulation Research and DSP Implementation of Meteorological Radar Signal Processing Li Yan-zhaoCAAC Northwest Regional AdministrationGansu Branch, Lanzhou 730030, Gansu Province, ChinaAbstract At present, image information is frequently used in military, medical, civil aviation and other fields, especially in civil aviation meteorology, meteorological radar signal processing is a key part but also a difficult point of the radar production research process. In practice, the radar echoes obtained by the radar imaging system may cause the loss of some key information, so some signal enhancement and restoration techniques are needed to improve the strength and accuracy of the radar signal. This paper introduces the characteristics of digital filters, how to perform radar digital image processing through MATLAB and its image signal processing toolbox, and finally design and implement the use of digital filters to enhance radar image signals.Keyword radar signal processing; digital filters; MATLAB simulation引言现代社会已经是一个高度信息化的时代,在日常生产生活中,人们所能接触到的信息,视觉信息能占到90%以上,视觉信息就是通过人眼观测到的信息,也就是图像信号,因此图像信号处理的重要性不言而喻。
MATLAB雷达信号处理仿真5.2 噪声和杂波的产⽣在实际的雷达回波信号中,不仅仅有⽬标的反射信号,同时还有接收机的热噪声、地物杂波、⽓象杂波等各种噪声和杂波的叠加。
由于噪声和杂波都不是确知信号,只能通过统计特性来分析。
本节将讨论⼀些常见的噪声和杂波的产⽣⽅法。
5.2.1 随机热噪声随机热噪声有多种,常见有概率密度函数服从⾼斯分布、均匀分布、指数分布以及τ分布的热噪声。
1. 服从⾼斯(Guass )分布的热噪声(随机序列)标准⾼斯分布的概率密度为:)2exp(1)(22σσπx x p -= (5.2.1)均值为0x 的⾼斯分布的概率密度函数为:)2)(exp(1)(220σσπx x x p --= (5.2.2) Matlab7.0本⾝⾃带了标准⾼斯分布的内部函数randn ,调⽤格式如下:Y = randn(n)Y = randn(m,n) Y = randn([m n]) Y = randn(size(A)) s = randn('state')randn 函数产⽣的随机序列服从均值为m=0,⽅差σ2=1的⾼斯分布。
Y = randn(n)产⽣的是⼀个n ×n 的随机序列矩阵,⽽Y = randn(m,n) 和Y = randn([m n])产⽣的m ×n 的随机序列矩阵,Y = randn(size(A))产⽣的是⼤⼩与矩阵A 同样⼤⼩的随机序列矩阵。
s = randn('state') 返回的是⼀个具有两个元素的向量,该向量显⽰的是当前正态随机数产⽣器的状态。
randn('state',s) 指令可以将产⽣器的状态设置到s ,⽽randn('state',0) 则可以将正态随机数产⽣器的状态恢复到初始状态。
因此,利⽤randn 函数可以⾮常简单快捷地产⽣出服从⾼斯分布的随机序列,如图5.7。
图5.7服从⾼斯分布的随机序列及其直⽅图2. 服从均匀分布的热噪声(随机序列) (a-b)均匀分布的概率密度函数为:ab x p -=1)( (5.2.3) 根据(a-b )均匀分布的概率密度函数和(0-1)均匀分布的概率密度函数可以推导出它们之间的关系为:a u ab ba au +?-=--=)(ζζ或 (5.2.4)其中u 服从(0-1)单位均匀分布,ζ服从(a-b )分布所以根据上式,可以先产⽣⼀个服从(0-1)单位均匀分布的信号,然后再将其经过上式的变换,就可以得到⼀个服从(a-b )均匀分布的信号了。
雷达仿真matlab课设
好的,下面为你提供雷达仿真matlab课设的相关内容:
随着社会和科技的不断发展,现代雷达系统更加复杂且精准,故需要借助计算机来完成对系统各项功能和性质的仿真,以完成对系统性能的评估。
在雷达仿真matlab课设中,你可以根据雷达信号处理的主要方式,运用信号处理理论与MATLAB软件相结合的思想,提出一个雷达系统的仿真模型。
该模型具有包含杂波的信号进入雷达信号处理机的动态处理过程。
在实际的课程设计中,你可以选择使用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);。
11目录1. 设计的基本骤 (1)1.1 雷达信号的产生 (1)1.2 噪声和杂波的产生 (1)2. 信号处理系统的仿真 (1)2.1 正交解调模块 (2)2.2 脉冲压缩模块 (2)2.3 回波积累模块 (2)2.4 恒虚警处理(CFAR)模块 (4)结论 (11)1 设计的基本骤雷达是通过发射电磁信号,再从接收信号中检测目标回波来探测目标的。
再接收信号中,不但有目标回波,也会有噪声(天地噪声,接收机噪声);地面、海面和气象环境(如云雨)等散射产生的杂波信号;以及各种干扰信号(如工业干扰,广播电磁干扰和人为干扰)等。
所以,雷达探测目标是在十分复杂的信号背景下进行的,雷达需要通过信号处理来检测目标,并提取目标的各种信息,如距离、角度、运动速度、目标形状和性质等。
图3-6 设计原理图2 信号处理系统的仿真雷达信号处理的目的是消除不需要的信号(如杂波)及干扰,提取或加强由目标所产生的回波信号。
雷达信号处理的功能有很多,不同的雷达采用的功能也有所不同,本文是对某脉冲压缩雷达的信号处理部分进行仿真。
一个典型的脉冲压缩雷达的信号处理部分主要由A/D 采样、正交解调、脉冲压缩、视频积累、恒虚警处理等功能组成。
因此,脉冲压缩雷达信号处理的仿真模型.2.1 正交解调模块雷达中频信号在进行脉冲压缩之前,需要先转换成零中频的I、Q 两路正交信号。
中频信号可表示为:0()()cos(2())IF f t A t f t t πϕ=+ (3.2)式(3.2)中, f 0 为载波频率。
令:00()()cos 2()sin 2IF f t I t f t Q t f t ππ=- (3.3)则00()()cos 2()sin 2IF f t I t f t Q t f t ππ=- (3.4)在仿真中,所有信号都是用离散时间序列表示的,设采样周期为T ,则中频信号为f IF (rT ) ,同样,复本振信号采样后的信号为f local =exp(−j ω 0rT ) (3.5)则数字化后的中频信号和复本振信号相乘解调后,通过低通滤波器后得到的基带信号fBB (r ) 为:11000{()cos()}(){()sin()}()N N BB IF IF n nf f r n r n T h n j f r n r n T h n ωω--==-----∑∑ (3.6)式(3.6)中, h (n ) 是积累长度为N 的低通滤波器的脉冲响应。
基于MATLAB的雷达信号处理仿真作者:殷俊丽丁康利郝鹏飞来源:《电子技术与软件工程》2017年第18期摘要在现代脉冲雷达系统中,相位编码信号以其较好的抗干扰性能,越来越被重视和使用。
MATLAB作为一种仿真工具,经常被用于雷达信号处理方案设计中。
本文用MATLAB对相位编码信号的信号处理过程进行仿真,对信号处理过程中各节点信号进行分析,为雷达系统的总体设计提供了参考依据。
【关键词】MATLAB 相位编码雷达信号处理仿真1前言相位编码信号因其灵活的编码方式、低截获概率的特点,在具有抗干扰性能的雷达系统中经常被使用。
在其信号处理过程中,因其对多普勒的敏感性,在脉冲压缩之前,要先用预测的多普勒值对回波信号进行补偿,计算量庞大,在前期设计中,一般借助于MATLAB强大的仿真平台对其进行直观的分析。
2仿真信号产生MATLAB提供了idinput函数,可根据需要设置参数产生不同相位编码序列,调用格式如下为:u=idinput(N,type,band,levels),其中N为码长,type为编码类型,band为频率成分,levels信号水平。
基于此函数,我们产生码长为255的二值伪随机信号(M序列码),对其进行fs=20MHz抽样,加入fd=20Hz的多普勒频率,并模拟加入具有高斯分布特性的空间热噪声,得到仿真回波信号如图1所示。
3多普勒补偿及脉冲压缩相位编码信号对多普勒敏感,降低了脉冲压缩(匹配滤波)的性能,对运动目标回波信号的检测常常由于这一缺点造成困难。
在信号处理中,通常的做法是根据预先推测的多普值对其进行补偿,消除多普勒频率对脉冲压缩的影响,再对压缩后的信号进行检测。
多普勒补偿的公式为:A=exp(-j27c*fdl*m/fs),其中,fdl为预测的多普勒频率,fs为抽样率,m=0,l,2……N-1为索引值,N为处理点数。
利用多普勒补偿公式对上述回波信号进行补偿的结果如图2所示。
可以看出,多普勒补偿消除了多普勒带来的信号调制。