雷达信号处理的MATLAB仿真
Matlab在雷达信号处理和雷达成像中的应用

Matlab在雷达信号处理和雷达成像中的应用随着科技的不断发展,雷达技术在军事、航空、天文等领域扮演着非常重要的角色。
而在雷达的研究和应用中,数据的处理和成像是至关重要的环节。
Matlab作为一款强大的数学软件,被广泛应用于雷达信号处理和雷达成像的领域。
本文将探讨Matlab在雷达信号处理和雷达成像中的具体应用。
一、雷达信号处理1. 信号预处理雷达接收到的信号常常受到多种干扰,例如噪声、杂波等。
Matlab提供了丰富的信号预处理函数和工具箱,可以对雷达信号进行滤波、降噪、去除杂波等操作。
其中,滤波操作可以通过FIR、IIR滤波器实现,而降噪操作可以通过小波分析等方法实现。
Matlab的强大计算能力和可视化功能使得信号预处理更加高效准确。
2. 目标检测雷达信号中的目标通常表现为一些特征突出的信号,例如脉冲幅度、脉冲宽度等。
通过对这些特征进行分析和处理,可以实现雷达信号中目标的检测和定位。
Matlab提供了一系列的目标检测算法和函数,如常用的卡尔曼滤波、最小二乘法等。
通过对雷达信号进行预处理和目标检测,可以提高雷达系统的性能和准确度。
3. 距离测量雷达系统通过测量目标与雷达之间的回波时间来实现距离的测量。
Matlab提供了丰富的信号处理函数和工具,可以实现对回波信号的采样、分析和测量。
通过对回波信号进行FFT、相关分析等处理,可以精确地测量目标与雷达之间的距离。
二、雷达成像1. 合成孔径雷达成像合成孔径雷达(SAR)是一种基于合成孔径技术的雷达成像方法,可以利用雷达的运动和信号处理来实现高分辨率的雷达图像。
Matlab提供了完善的SAR成像算法和工具箱,可以实现SAR数据的处理、成像和评估。
通过对SAR数据进行范围压缩、方位压缩和图像重建,可以获得高质量的SAR图像。
2. 多普勒处理雷达在接收回波信号时,目标的运动会引起回波频率的改变,这被称为多普勒效应。
多普勒处理是雷达成像的重要环节之一。
Matlab提供了多普勒处理的算法和函数,例如多普勒频谱分析和多普勒滤波等。
雷达信号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中进行雷达信号处理和目标跟踪

在Matlab中进行雷达信号处理和目标跟踪雷达信号处理和目标跟踪是现代雷达技术的重要组成部分,在军事、航空、航天、气象等领域中具有广泛的应用。
Matlab作为一种功能强大的数学软件工具,为雷达信号处理和目标跟踪提供了便利的开发环境。
本文将介绍如何利用Matlab 进行雷达信号处理和目标跟踪,并探讨一些常用的算法和技术。
首先,我们需要了解雷达信号处理的基本概念和流程。
雷达信号处理包括信号预处理、目标检测、目标定位和跟踪等步骤。
在Matlab中,我们可以利用其丰富的工具箱和函数实现这些步骤。
例如,通过使用信号处理工具箱中的函数,我们可以对雷达信号进行滤波、解调、去噪等预处理操作;而通过使用图像处理工具箱中的函数,我们可以实现雷达信号的目标检测和定位。
此外,Matlab还提供了强大的图形界面和数据可视化工具,使我们能够直观地显示和分析雷达信号。
接下来,让我们具体介绍一些常用的雷达信号处理算法和技术。
其中之一是自适应抗干扰处理技术。
雷达系统在实际应用中可能会受到各种干扰,如天线旁瓶、气象杂波等。
自适应抗干扰技术能够根据实时环境自动调整各种参数,提高雷达系统的抗干扰性能。
在Matlab中,我们可以使用自适应滤波器函数对雷达信号进行抗干扰处理。
另一个常用的算法是脉冲压缩处理。
脉冲压缩是一种通过延长脉冲宽度来提高雷达目标分辨率的方法。
在Matlab中,我们可以利用FFT(快速傅里叶变换)等函数对雷达信号进行压缩处理,从而减小脉冲宽度,提高目标分辨率。
除了雷达信号处理,目标跟踪也是雷达应用中的重要环节。
目标跟踪旨在实时追踪目标的位置和运动状态。
在Matlab中,我们可以使用一些常见的目标跟踪算法,如卡尔曼滤波器和粒子滤波器。
这些算法能够根据目标的先验信息和测量值,精确估计目标的位置和动态特性,并实现目标的实时跟踪。
除了以上提到的算法和技术,Matlab还提供了许多其他功能强大的工具和函数,如多普勒失真校正、雷达图像生成、目标特征提取等。
基于Matlab_Simulink的雷达系统仿真

图 " 雷达系统设计仿真类库结构
图 ! 某多普勒雷达仿真系统
下 ,地 杂 波 很 强 ,目 标 回 波 低 于 杂 波 ,这 种 情 况 下 ,仅 仅 依 靠 幅度是不能检测出目标的。多普勒处理就是对同一个距离 单元内接收到的信号进行 FFT 变换,在频域上把目标和杂 波信号分开。从而提高目标在杂波环境下的检测性能。
# 某脉冲多普勒雷达信号处理系统的仿真
脉冲多普勒雷达中的多普勒处理是对接收到的信号进 行滤波或者谱分析。这些信号是在对应于一帧时间内从同 一个 固 定 的 距 离 单 元 接 收 到 的 信 号 。 一 般 来 说 ,雷 达 回 波 包 括 噪 声 、杂 波 和 一 个 或 多 个 目 标 信 号 。 在 雷 达 下 视 情 况
图 2 的上半部分对雷达接收到的回波进行建模,该雷达 回波信号包括目标信号与杂波,还有通道接收机噪声。如图 2 所示,仿真时先产生线性调频信号(Chirp 信号),然后在线 性调频信号中加入目标信息。目标回波信息包括目标速度、 距离和目标的起伏特性。然后通过载频模块将信号从视频 调到射频。目标 回 波 信 号 经 过 双 程 大 气 吸 收 及 双 程 距 离 衰 减,到达雷达接收机,然后经过衰减模块(仿真接收机的系统
3 仿真结果及分析
与 SPW 的基于数据流的仿真不同,Simuliik 是基于时间 流的仿真。在本仿真实验中采用变步长的 4 - 5 阶 Ruige kutta 法仿真[1],最大步长自动调节,相对误差允许范围为 1 X 10 - 3。仿真 实 验 中 采 样 频 率 较 高,故 仿 真 时 间 较 短,约 为 10 - 4数量级。设置好各模块仿真参数,即可开始仿真。下面 给出系统中几个关键点波形并加以说明。
使用Matlab进行实时雷达信号处理与目标识别的实践指南

使用Matlab进行实时雷达信号处理与目标识别的实践指南引言雷达技术在军事、航空航天、气象等领域中有着广泛的应用。
实时雷达信号处理与目标识别是其中重要的研究方向之一。
Matlab作为一种功能强大的工具,可以帮助我们实现实时雷达信号处理和目标识别的算法。
本文将介绍如何使用Matlab进行实时雷达信号处理与目标识别,并提供实践指南。
一、雷达信号处理的基础知识1.1 雷达系统基本原理雷达系统由发射机、天线、接收机和信号处理模块组成。
发射机将电磁波发送至目标物体并接收反射回来的信号。
天线用于发射和接收信号。
接收机接收和放大返回的信号。
信号处理模块用于提取目标信息。
1.2 雷达信号处理流程雷达信号处理包括信号质量评估、信号预处理、目标检测与跟踪等步骤。
信号质量评估用于分析信号的特点,判断信号质量。
信号预处理包括去噪、增强等操作,以提高信号的质量。
目标检测与跟踪则是通过信号处理算法来识别目标。
二、Matlab在实时雷达信号处理中的应用2.1 信号质量评估Matlab提供了丰富的工具箱和函数,方便我们对信号进行特征提取和质量评估。
例如,我们可以使用MATLAB中的fft函数对信号进行频谱分析,通过观察频谱来评估信号的质量。
2.2 信号预处理信号预处理是提高信号质量的一个重要步骤。
Matlab提供了各种去噪和增强算法,例如小波去噪算法和自适应滤波算法。
我们可以根据具体需求选择适合的算法,并结合实时数据对算法进行调参和优化。
2.3 目标检测与跟踪目标检测与跟踪是雷达信号处理的核心任务之一。
在Matlab中,我们可以使用各种目标检测和跟踪算法来实现目标识别。
例如,常用的算法包括卡尔曼滤波、粒子滤波、模板匹配等。
Matlab提供了相关工具箱和函数,方便我们进行算法的实现和调试。
三、Matlab实时雷达信号处理与目标识别的实践指南3.1 数据获取与处理实时雷达信号处理需要依赖实时采集的雷达信号数据。
我们可以通过硬件设备或仿真数据生成器来获取数据。
雷达系统仿真matlab代码

%======================================================================= ====================%% 该程序完成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);。
雷达信号的MATlab仿真

关键词: MIMO ;模糊图;脉冲压缩
Matlab simulation of radar signals
Niu Hui , College of physics and electronic information
Abstract:The use of digital signal processing theory and Matlab software research
雷达信号 Matlab 仿真
XXX,物理与电子信息学院
摘 要: 运用数字信号处理理论和Matlab 软件研究的脉冲压缩多普勒雷达的
信号处理仿真问题,提出了一个仿真模型,该模型能够仿真雷达信号、 系统噪声与 杂波的产生和脉冲压缩多普勒雷达系统中信号的动态处理过程,最后结合MIMO雷 达信号特点 ,显示了使用Matlab 仿真雷达信号处理系统方便快捷的特点。 简单说明仿真达到了什么要求,说明了什么问题
1.2 雷达的用途
雷达的用途广泛,种类繁多,分类的方法也非常复杂。通常可以按照雷达的 用途分类,如预警雷达、搜索警戒雷达、无线电测高雷达、气象雷达、航管雷达、 引导雷达、炮瞄雷达、雷达引信、战场监视雷达、机载截击雷达、导航雷达以及 防撞和敌我识别雷达等。除了按用途分,还可以从工作体制对雷达进行区分。 1.3 论文的基本内容
标相对雷达的距离: Ri i 2.2.2 线性调频(LFM)信号 脉冲压缩雷达能同时提高雷达的作用距离和距离分辨率。 这种体制采用宽脉 冲发射以提高发射的平均功率, 保证足够大的作用距离;而接受时采用相应的脉 冲压缩算法获得窄脉冲,以提高距离分辨率,较好的解决雷达作用距离与距离分 辨率之间的矛盾。 脉 冲 压 缩 雷 达 最 常 见 的 调 制 信 号 是 线 性 调 频 ( Linear Frequency Modulation)信号,接收时采用匹配滤波器(Matched Filter)压缩脉冲。 LFM 信号(也称 Chirp 信号)的数学表达式为: (1.9)
雷达线性调频脉冲压缩的原理及其MATLAB仿真

线性调频(LFM )脉冲压缩雷达仿真一. 雷达工作原理雷达是Radar (RAdio Detection And Ranging )的音译词,意为“无线电检测和测距”,即利用无线电波来检测目标并测定目标的位置,这也是雷达设备在最初阶段的功能。
典型的雷达系统如图1.1,它主要由发射机,天线,接收机,数据处理,定时控制,显示等设备组成。
利用雷达可以获知目标的有无,目标斜距,目标角位置,目标相对速度等。
现代高分辨雷达扩展了原始雷达概念,使它具有对运动目标(飞机,导弹等)和区域目标(地面等)成像和识别的能力。
雷达的应用越来越广泛。
图1.1:简单脉冲雷达系统框图雷达发射机的任务是产生符合要求的雷达波形(Radar Waveform ),然后经馈线和收发开关由发射天线辐射出去,遇到目标后,电磁波一部分反射,经接收天线和收发开关由接收机接收,对雷达回波信号做适当的处理就可以获知目标的相关信息。
假设理想点目标与雷达的相对距离为R ,为了探测这个目标,雷达发射信号()s t ,电磁波以光速C 向四周传播,经过时间R C 后电磁波到达目标,照射到目标上的电磁波可写成:()Rs t C -。
电磁波与目标相互作用,一部分电磁波被目标散射,被反射的电磁波为()Rs t Cσ⋅-,其中σ为目标的雷达散射截面(Radar Cross Section ,简称RCS ),反映目标对电磁波的散射能力。
再经过时间R C 后,被雷达接收天线接收的信号为(2)Rs t C σ⋅-。
如果将雷达天线和目标看作一个系统,便得到如图1.2的等效,而且这是一个LTI (线性时不变)系统。
图1.2:雷达等效于LTI 系统等效LTI 系统的冲击响应可写成: 1()()Miii h t t σδτ==-∑ (1.1)M 表示目标的个数,i σ是目标散射特性,i τ是光速在雷达与目标之间往返一次的时间,2ii R cτ=(1.2) 式中,i R 为第i 个目标与雷达的相对距离。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11目录1. 设计的基本骤 (1)1.1 雷达信号的产生 (1)1.2 噪声和杂波的产生 (1)2. 信号处理系统的仿真 (1)2.1 正交解调模块 (2)2.2 脉冲压缩模块 ...............................................2.3 回波积累模块 ...............................................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)则数字化后的中频信号和复本振信号相乘解调后,通过低通滤波器后得到的基带信号f BB (r ) 为:11000{()cos()}(){()sin()}()N N BB IF IF n n f f r n r n T h n j f r n r n T h n ωω--==-----∑∑ (3.6)式(3.6)中, h (n ) 是积累长度为N 的低通滤波器的脉冲响应。
根据实际的应用,仅仅采用以奈奎斯特采样率进行采样的话,得不到较好混频信号和滤波结果,采样频率f s 一般需要中心频率的4 倍以上才能获得较好的信号的实部和虚部。
当采样频率为f s = 4 f 0时,ω0 T = π/2,则基带信号可以简化为110(){()cos()}(){()sin()}()22N N BB IF IF n n f r f r n r n h n j f r n r n h n ππ--==-----∑∑ (3.7) 使用Matlab 仿真正交解调的步骤:(1) 产生理想线性调频信号y 。
(2) 产生I 、Q 两路本振信号。
设f 0为本振信号的中心频率,f s 为采样频率,n 为线性调频信号时间序列的长度,则I 路本振信号为cos(n2πf 0/f s ),同样,Q 路本振信号sin(n2πf 0/f s )。
当f s = 4 f 0 时,I 、Q 两路本信号分别为cos(πn/2)和sin( n π/2)。
(3) 线性调频信号y 和复本振信号相乘,得到I 、Q 两路信号。
(4)I、Q 两路信号通过低通滤波器,滤除高频分量,以获得最终的检波结果。
Matlab 提供了方便的滤波函数filter(b,a,x)。
其中x 为输入信号,b,a 为滤波器传递函数的分子和分母的系数向量。
2.2 脉冲压缩模块在进行脉冲压缩处理之前,首先要获得相应的雷达发射信号的匹配滤波器。
在实际工程中,对脉冲压缩的处理往往是在频域实现的,因为这样可以利用FFT算法提高计算速度,然后将雷达回波与匹配滤波器的频域响应(脉冲压缩系数)相乘,再经过IFFT变换,从而得到脉冲压缩处理的结果,而不用进行卷积处理,大大降低了运算量。
因此,在进行脉冲压缩处理仿真的时候,首先应当获取脉冲压缩处理的匹配滤波器或脉冲压缩系数。
求线性调频信号的脉冲压缩系数比较简单,只需要将理想线性调频信号取共轭和翻转即可。
使用Matlab仿真线性调频信号脉冲压缩的步骤:(1)产生理想线性调频信号y ;(2)对信号正交解调,得到解调后的信号fbb = fbb _ i + j * fbb _ q ;(3)产生理想线性调频脉冲压缩系数。
这一步要首先求出正交解调后的信号fbb 的匹配滤波器,然后利用离散傅里叶变换求出脉冲压缩系数;(4)产生理想回波信号( signal ),对信号进行正交解调。
理想回波信号是一个脉冲重复周期内雷达收到的回波信号,并假设目标为静止点目标;(5)脉冲压缩处理。
首先对回波信号做离散傅里叶变换,得到signal_fft,然后将signal_fft与匹配滤波器的频域响应(脉冲压缩系数)相乘,再经过离散傅里叶反变换,从而得到脉冲压缩结果。
设雷达发射信号为线性调频信号,具体参数如下:脉宽10μs、中心频率10MHz、调频带宽2MHz。
对雷达回波信号的采样频率为40MHz,中频进行正交下变频。
2.3 回波积累模块现在的雷达都是在多脉冲观测的基础上进行检测的,多个脉冲积累后可以有效地提高信噪比,从而改善雷达的检测能力。
积累处理可以在包络检波前完成,称为检波前积累或者中频积累。
信号在中频积累时要求信号间有严格的相位关系,也就是说信号是相参的,所以也称为相参积累。
此外,积累过程可以在包络检波后完成,称为检波后积累或者视频积累。
由于信号在包络检波后失去了相位信息而只保留了幅度信息,所以检波后积累处理就不需要信号间有严格的相位关系,因此这种积累又称为非相参积累。
实现非相参积累的方法有很多,例如抽头延迟线积累(FIR 积累)器和反馈积累器。
下面介绍抽头延迟线积累(FIR 积累)模型。
(1) 积累脉冲数 积累脉冲数N 应该等于天线波束扫过一个点目标时的目标回波个数,即:束扫过一个点目标时的目标回波个数,即:(360/)*a a c BW BW N T PRIθ==∆ (3.8) 式(3.8)中: BWa 为天线方位波束宽度; Δθ为天线在一个脉冲重复周期扫过的角度; Tc 为天线扫描一周所需的时间; PRI 为脉冲重复周期。
(2) 回波幅度调制 雷达接收机内部的噪声一般都认为是高斯白噪声,且是平稳随机过程,而回波脉冲的幅度调制还受天线双程场强波瓣图调制。
如果天线场强波瓣图(单程)是sinx/x 的形式,则天线主瓣内的脉冲将以如下的权函数加4sin ()()na h n N n N na θθ∆=-≤≤∆ (3.9)Δθ 为天线在一个脉冲重复周期扫过的角度2.4 恒虚警处理(CFAR )模块恒虚警处理有多种方法,从大的分类来看,有所谓的均值类CFAR 、有序统计量类CFAR 和杂波图CFAR 等等。
均值类CFAR 包括多种实现方式,如单元平均方式、两侧单元平均选大方式、两侧单元平均选小方式等等,其基本理论是相同的。
使用Matlab 仿真恒虚警处理的步骤:(1) 产生叠加了瑞利杂波、热噪声的点目标回波。
这一步首先按照上述的方法分别产生高斯热噪声和瑞利杂波,然后与点目标回波进行叠加,叠加时需要对瑞利杂波和热噪声的幅度加权。
(2) 对叠加了瑞利杂波、热噪声的点目标回波进行恒虚警处理。
这一步首先要确定参考单元数。
如果参考单元数为16,那么第1点恒虚警处理时噪声均值由其后面的16点噪声决定,第2点到第16点的恒虚警的噪声均值由其前面和后面的16点噪声共同决定,而正常数据点的恒虚警处理的噪声均值由其前后各16点的噪声决定,最后16点的恒虚警处理与前16点相同。
最后输出的信号为每个检测单元与杂波均值估计值的比值。
程序close all;clear all;clc;%%%%%%%产生雷达发射信号%%%%%%%%%%%%%%%%code=[1,1,1,1,1,-1,-1,1,1,-1,1,-1,1];%13位巴克码tao=10e-6;%脉冲宽度10μsfc=28e6;%调频信号起始频率f0=30e6;fs=100e6;%采样频率100MHzts=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:n;if 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:13*tao-1/fs;figure(1),subplot(2,1,1),plot(t,s),xlabel('t(单位:s)'),title('混合调制信号(13位巴克码+线性调频)');s_fft_rsult=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(n*f0/fs*2*pi);%i路本振信号local_oscillator_q=sin(n*f0/fs*2*pi);%q路本振信号fbb_i=local_oscillator_i.*s1;%i路解调fbb_q=local_oscillator_q.*s1;%q路解调window=chebwin(51,40);[b,a]=fir1(50,2*B/fs,window);fbb_i=[fbb_i,zeros(1,25)];fbb_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;%______产生理想线性调频脉冲压缩匹配系数___________%M=131072;%因为回波信号数据长度位3600点,所以利用FFT做4096点FFT D=B*tao;match_filter_1=ts*fliplr(conj(fbb))*sqrt(D)*2/tao;match_filter_1_fft=fft(match_filter_1,M);%第一次脉冲压缩处理匹配系数figure(2),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(n*f0/fs*2*pi);%i路本振信号local_oscillator_q=cos(n*f0/fs*2*pi);%q路本振信号fbb_i=local_oscillator_i.*s;%i路解调fbb_q=local_oscillator_q.*s;%q路解调window=chebwin(51,40);%这是采用50阶cheby窗的FIR低通滤波器[b,a]=fir1(50,0.5,window);fbb_i=[fbb_i,zeros(1,25)];fbb_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;signal_fft=fft(signal,M)*2;pc_result_fft=signal_fft.*match_filter_1_fft;pc_result=ifft(pc_result_fft,M);figure(3),plot((0:ts:length(signal)*ts-ts),pc_result(1:length(sig nal))),xlabel('时间,单位:s'),title('回波脉冲压缩处理结果');clear local_oscillator_i;clear local_oscillator_q;t=tao*length(code);match_filter_2=2*ts*fliplr(conj(pc_result))*2/t;match_filter_2_fft=fft(match_filter_2,M);%第二次脉冲压缩处理匹配系数figure,subplot(2,1,1),plot(real(match_filter_2_fft)),title('脉冲压缩系数(实部)');subplot(2,1,1),plot(imag(match_filter_2_fft)),title('脉冲压缩系数(虚部)');clear fbb;clear match_filter_1;clear match_filter_2;clear signal;clear signal_fft;clear pc_result;clear pc_result_fft;%%%%%%%%%%%%%%%%%%%%%产生雷达回波%%%%%%%%%%%%%%%%%%f_frame=1e3;%雷达发射信号重频,单位HzT_frame=1/f_frame;N_echo_frame=18;f_doppler=3.5e3;%动目标的多普勒领串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))];s_echo_fobj=repmat(echo_fobj_pulse,1,N_echo_frame);t_clutter=700e-6;%杂波位置t_clutter_pulse=39e-6;sigma=2;%瑞利分布canshu数sigmat1=0:ts:t_clutter_pulse-ts;rand('state',0);%把均匀分布伪随机发生器置为0状态u=rand(1,length(t1));echo_clutter=0.08*sqrt(2*log(1./u))*sigma;%,*ss_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_nosie=0.1*rand(1,N_echo_frame*T_frame/ts);s_echo=s_echo_mobj+s_echo_fobj+s_echo_clutter+s_nosie;clear s_echo_mobj;clear s_echo_fobj;clear s_echo_clutter;clear s_echo_clutter_pulse;clear s_nosie;clear echo_mobj_pulse;clear echo_mobj;clear echo_fobj_pluse;clear echo_clutter;clear s_doppler;clear t_doppler;%________正交解调_____________%N=N_echo_frame*T_frame/ts;n=0:N-1;local_oscillator_i=cos(n*f0/fs*pi);%I路本振信号local_oscillator_q=cos(n*f0/fs*pi);%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)];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;clear s_echo_iclear local_oscillator_i;clear local_oscillator_q;clear s_echo_i;clear s_echo_q;clear n;%%%%%%%%%%%%%%%脉冲压缩处理%%%%%%%%%%%%%%%%%%%%%%%%for i=1:N_echo_frames_echo_fft_result=fft(s_echo_mf(1,(i-1)*T_frame/ts+1:i*T_frame/ts),M) ;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,M);endclear s_echo_mf;s_pc_result_1=s_pc_result';s_pc_result_1=reshape(s_pc_result_1,1,N_echo_frame*M);figure,subplot(2,1,1),plot(0:ts:length(s_pc_result_1)*ts-ts,real( s_pc_result_1)),%N_echo_frame*T_frame-tsxlabel('t(单位:s)'),title('脉冲压缩处理后结果(实部)');subplot(2,1,2),plot(0:ts:length(s_pc_result_1)*ts-ts,imag(s_pc_re sult_1)),xlabel('t(单位:s)'),title('脉冲压缩处理后结果(虚部)');%%%%%%%%%%%%%%%%%%%%%固定杂波对消处理%%%%%%%%%%%%%%%%for i=1:16s_MTI_result(i,:)=s_pc_result(i,:)+s_pc_result(i+2,:)-2*s_pc_result(i +1,:);endclear s_pc_result;clear s_pc_result_1;s_MTI_result_1=s_MTI_result';s_MTI_result_1=reshape(s_MTI_result_1,1,(N_echo_frame-2)*M);figure,subplot(2,1,1),plot(0:ts:length(s_MTI_result_1)*ts-ts,real (s_MTI_result_1)),xlabel('t(单位:s)'),title('固定杂波对消后结果(实部)');subplot(2,1,2),plot(0:ts:length(s_MTI_result_1)*ts-ts,imag(s_MTI_ result_1)),xlabel('t(单位:s)'),title('固定杂波对消后结果(虚部)');clear s_MTI_result_1;结论使用Matlab 进行雷达信号处理系统仿真,能迅速建立起系统模型,设计理念可以在任何细节上得到体现,建模时间短,模型简单、清晰,计算精度高,同时在系统设计的任何阶段都能够很方便地修改模型、评估结果和验证系统行为。