雷达信号处理的MATLAB仿真
- 格式:docx
- 大小:35.75 KB
- 文档页数:12
matlab仿真脉冲多卜勒雷达的信号处理目录目录-------------------------------------------------------- 1 第一章绪论-------------------------------------------------- 31.1 雷达起源 ---------------------------------------------- 31.2 雷达的发展历程 --------------------------------------- 4 第二章原理分析----------------------------------------------- 62.1 匹配滤波器原理 --------------------------------------- 62.2 线性调频信号(LFM) ---------------------------------- 82.3 LFM信号的脉冲压缩----------------------------------- 10 第三章多目标线性调频信号的脉冲压缩------------------------- 14 第四章仿真结果分析------------------------------------------ 164.1 时域图分析 ------------------------------------------ 164.2 回波信号频域图分析 ---------------------------------- 174.3 压缩信号图分析 -------------------------------------- 194.4 多目标压缩信号图分析 -------------------------------- 21 第五章问题回答--------------------------------------------- 23 第六章致谢与总结------------------------------------------- 24 附录(Matlab程序)------------------------------------------ 25第一章绪论1.1 雷达起源雷达的出现,是由于二战期间当时英国和德国交战时,英国急需一种能探测空中金属物体的雷达(技术)能在反空袭战中帮助搜寻德国飞机。
在Matlab中进行雷达信号处理和目标跟踪雷达信号处理和目标跟踪是现代雷达技术的重要组成部分,在军事、航空、航天、气象等领域中具有广泛的应用。
Matlab作为一种功能强大的数学软件工具,为雷达信号处理和目标跟踪提供了便利的开发环境。
本文将介绍如何利用Matlab 进行雷达信号处理和目标跟踪,并探讨一些常用的算法和技术。
首先,我们需要了解雷达信号处理的基本概念和流程。
雷达信号处理包括信号预处理、目标检测、目标定位和跟踪等步骤。
在Matlab中,我们可以利用其丰富的工具箱和函数实现这些步骤。
例如,通过使用信号处理工具箱中的函数,我们可以对雷达信号进行滤波、解调、去噪等预处理操作;而通过使用图像处理工具箱中的函数,我们可以实现雷达信号的目标检测和定位。
此外,Matlab还提供了强大的图形界面和数据可视化工具,使我们能够直观地显示和分析雷达信号。
接下来,让我们具体介绍一些常用的雷达信号处理算法和技术。
其中之一是自适应抗干扰处理技术。
雷达系统在实际应用中可能会受到各种干扰,如天线旁瓶、气象杂波等。
自适应抗干扰技术能够根据实时环境自动调整各种参数,提高雷达系统的抗干扰性能。
在Matlab中,我们可以使用自适应滤波器函数对雷达信号进行抗干扰处理。
另一个常用的算法是脉冲压缩处理。
脉冲压缩是一种通过延长脉冲宽度来提高雷达目标分辨率的方法。
在Matlab中,我们可以利用FFT(快速傅里叶变换)等函数对雷达信号进行压缩处理,从而减小脉冲宽度,提高目标分辨率。
除了雷达信号处理,目标跟踪也是雷达应用中的重要环节。
目标跟踪旨在实时追踪目标的位置和运动状态。
在Matlab中,我们可以使用一些常见的目标跟踪算法,如卡尔曼滤波器和粒子滤波器。
这些算法能够根据目标的先验信息和测量值,精确估计目标的位置和动态特性,并实现目标的实时跟踪。
除了以上提到的算法和技术,Matlab还提供了许多其他功能强大的工具和函数,如多普勒失真校正、雷达图像生成、目标特征提取等。
使用Matlab进行实时雷达信号处理与目标识别的实践指南引言雷达技术在军事、航空航天、气象等领域中有着广泛的应用。
实时雷达信号处理与目标识别是其中重要的研究方向之一。
Matlab作为一种功能强大的工具,可以帮助我们实现实时雷达信号处理和目标识别的算法。
本文将介绍如何使用Matlab进行实时雷达信号处理与目标识别,并提供实践指南。
一、雷达信号处理的基础知识1.1 雷达系统基本原理雷达系统由发射机、天线、接收机和信号处理模块组成。
发射机将电磁波发送至目标物体并接收反射回来的信号。
天线用于发射和接收信号。
接收机接收和放大返回的信号。
信号处理模块用于提取目标信息。
1.2 雷达信号处理流程雷达信号处理包括信号质量评估、信号预处理、目标检测与跟踪等步骤。
信号质量评估用于分析信号的特点,判断信号质量。
信号预处理包括去噪、增强等操作,以提高信号的质量。
目标检测与跟踪则是通过信号处理算法来识别目标。
二、Matlab在实时雷达信号处理中的应用2.1 信号质量评估Matlab提供了丰富的工具箱和函数,方便我们对信号进行特征提取和质量评估。
例如,我们可以使用MATLAB中的fft函数对信号进行频谱分析,通过观察频谱来评估信号的质量。
2.2 信号预处理信号预处理是提高信号质量的一个重要步骤。
Matlab提供了各种去噪和增强算法,例如小波去噪算法和自适应滤波算法。
我们可以根据具体需求选择适合的算法,并结合实时数据对算法进行调参和优化。
2.3 目标检测与跟踪目标检测与跟踪是雷达信号处理的核心任务之一。
在Matlab中,我们可以使用各种目标检测和跟踪算法来实现目标识别。
例如,常用的算法包括卡尔曼滤波、粒子滤波、模板匹配等。
Matlab提供了相关工具箱和函数,方便我们进行算法的实现和调试。
三、Matlab实时雷达信号处理与目标识别的实践指南3.1 数据获取与处理实时雷达信号处理需要依赖实时采集的雷达信号数据。
我们可以通过硬件设备或仿真数据生成器来获取数据。
雷达系统分析大作1. 最大不模糊距离: ,max 1252u rC R km f == 距离分辨率: 1502mcR m B ∆== 2. 天线有效面积: 220.07164e GA 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.由雷达方程22134(4)tPG TeSNRKT LFRλσπ=计算可得1196.5540logSNR 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软件对雷达信号处理系统进行了仿真,得到了雷达系统中各个处理点上的具体信号形式,并用图形用户界面(GUI)来动态显示雷达信号处理过程,使仿真结果表现得更直观。
【关键词】雷达信号处理;正交双通道处理;动目标显示;动目标检测;恒虚警检测1引言的目的是消除所有不需要的信号及干扰,提取或加强由目雷达信号处理[12]标所产生的回波信号,在处理过程中要用到一些信号处理的关键技术,如数字正交双通道处理、脉冲压缩技术、固定目标对消技术、动目标显示技术、动目标检测技术[3]、恒虚警处理[4]和脉冲积累等。
由于现代雷达信号处理过程日益变得复杂,难以用简单直观的分析法进行处理,往往需要借助计算机来完成对系统的各项功能和性能的仿真。
利用计算机来进行雷达系统的仿真[5]具有方便、灵活以及经济的特点。
而MATLAB提供了强大的仿真平台,可以为大多数雷达系统的仿真提供方便快捷的运算。
2雷达信号处理基础2.1数字正交双通道处理在全相参雷达中,可以用正交双通道处理来获得中频信号的基带信号(零中频信号)()x t,有时也称()x t为中频信号的复包络。
正交双通道处理的框图如图s t为中频回波信号。
1所示,其中()r图1正交双通道处理框图其中中频回波信号为:0()()cos[2()]r d s t a t f f t π=+(1)上式中,0f 为中频频率,d f 表示多普勒频率,其值可能是正值或负值,也可能为零。
0000()()cos(2)()cos[2()]cos(2)11()cos(2)()cos[2(2)]22I r d d d s t s t f t a t f f t f t a t f t a t f f t πππππ==+ =++ (2)0000()()cos(2)()cos[2()]sin(2)211()sin(2)()sin[2(2)]22Q r d d d s t s t f t a t f f t f t a t f t a t f f t ππππππ=+=-+ =-+(3)图1中的低通滤波器将滤去02f 的分量,这样就可以得到正交双通道信号。
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中常用的雷达信号处理方法。
1. 数据预处理雷达接收到的信号常常受到多种因素的干扰,如杂波、多径等,这些干扰会对信号质量造成影响。
因此,在进行信号处理之前,首先需要对接收到的信号进行预处理。
在Matlab中,我们可以使用数字滤波器来去除杂波,并采用信号增强技术来改善信号质量。
2. 脉冲压缩脉冲压缩是一种常用的雷达信号处理方法,它可以帮助我们提高雷达系统的分辨率和探测能力。
脉冲压缩的基本原理是通过改变脉冲信号的频谱特性,使得目标反射信号的时间延迟可以在距离域中得到良好的分辨。
在Matlab中,我们可以使用一些常见的脉冲压缩算法,如Matched Filter和Stretch Processing等。
3. 目标检测雷达系统的一个重要任务是检测目标的存在,并对目标进行跟踪。
在Matlab中,我们可以使用多种方法来实现目标检测,如CFAR(Constant False Alarm Rate)和Pulse Integration等。
CFAR方法是一种常用的自适应检测算法,它可以根据环境背景来自动调整检测门限,从而实现对目标的可靠检测。
4. 目标跟踪目标跟踪是在雷达系统中实现目标随时间变化的位置和速度的估计。
在Matlab 中,我们可以使用Kalman滤波器或粒子滤波器等方法来实现目标跟踪。
这些方法可以根据目标的动态模型和观测数据来估计目标的状态,并提供与目标相关的参数,如位置、速度和加速度等。
5. 雷达成像雷达成像是一种将雷达回波信号转换为图像形式的方法。
它可以提供目标的空间分布信息,并帮助我们对目标进行更详细的分析和判断。
标题: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仿真雷达原理匹配滤波器是一种常用的信号处理技术,广泛应用于雷达系统中。
它的原理基于信号与滤波器的互相关运算,可以用于雷达目标检测、测距和速度估计等。
首先,我们来了解一下雷达原理。
雷达系统是一种利用电磁波进行目标探测的技术,通过发射射频电磁波并接收被目标反射回来的电磁波来实现目标探测。
雷达发射出的电磁波经过空气传播到达目标,一部分电磁波会被目标反射回来,称为回波信号。
回波信号经过接收天线接收并传输到雷达系统中进行信号处理。
信号处理是雷达系统中非常重要的环节,对于目标的检测和信息提取起着至关重要的作用。
而匹配滤波器作为一种高效的信号处理方式,可以提高雷达系统的目标检测性能。
匹配滤波器的原理是通过与目标信号进行互相关运算来实现目标检测。
互相关运算是一种计算两个信号相似度的方法,它通过对两个信号进行卷积运算,得到一个新的信号作为输出。
匹配滤波器的输入信号是雷达系统接收到的回波信号,而目标信号是事先已知的模板信号。
为了更好地理解匹配滤波器的原理,我们可以考虑一个简化的问题,即单目标检测。
假设我们已经知道了目标信号的波形形状,并将其作为匹配滤波器的模板信号。
在雷达系统中接收到的回波信号经过与模板信号的互相关运算后,输出的信号中会包含目标信号的相关成分。
为了实现匹配滤波器的原理,我们可以使用MATLAB进行仿真。
首先,需要生成一个目标信号的模板。
我们可以通过设定目标信号的波形和参数来生成这个模板,例如使用正弦函数生成一个具有特定频率和振幅的信号。
f = 1000; % 目标信号的频率T = 1/f; % 目标信号的周期t = 0:T/1000:T; % 目标信号的时间序列A = 1; % 目标信号的振幅target_signal = A*sin(2*pi*f*t); % 生成目标信号的模板接下来,我们需要生成接收到的回波信号。
假设我们知道回波信号的波形和参数,我们可以使用类似的方法生成它。
雷达系统仿真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的雷达信号处理仿真作者:殷俊丽丁康利郝鹏飞来源:《电子技术与软件工程》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所示。
可以看出,多普勒补偿消除了多普勒带来的信号调制。
11目录1. 设计的基本骤 (1)1.1 雷达信号的产生 (1)1.2 噪声和杂波的产生 (1)2. 信号处理系统的仿真 (1)2.1 正交解调模块 (2)2.2 脉冲压缩模块 (3)2.3 回波积累模块 (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 =e xp(−j ω 0rT ) (3.5)则数字化后的中频信号和复本振信号相乘解调后,通过低通滤波器后得到的基带信号f BB (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 的低通滤波器的脉冲响应。
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生成并发送雷达信号。
基于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技术在雷达信号处理中的应用案例一、引言雷达作为一种广泛应用于军事、航空、气象等领域的传感器,其信号处理是决定雷达性能的关键因素之一。
随着计算机技术的发展,Matlab作为一种强大的处理工具在雷达信号处理中发挥着重要作用。
本文将通过介绍几个具体的案例,来展示Matlab技术在雷达信号处理中的应用。
二、雷达信号分析雷达信号分析是雷达信号处理的核心环节之一。
通过对雷达接收到的信号进行分析,可以获取目标的距离、速度和方位等信息。
在这个过程中,Matlab提供了许多强大的函数和工具,可以实现雷达信号的滤波、辐射图的绘制、自相关和互相关分析等功能。
以雷达接收到的脉冲信号为例,假设输入信号为s(t),包络为A(t)。
可以通过调用Matlab中的函数进行加窗滤波,以提高信噪比。
常用的窗函数有矩形窗、汉宁窗、高斯窗等。
通过Matlab的fft函数可以对滤波后的信号进行傅里叶变换,得到信号的频谱,并进一步绘制幅度谱和相位谱。
此外,Matlab还提供了许多用于雷达信号处理的工具箱,如Signal Processing Toolbox和Wavelet Toolbox等。
这些工具箱提供了丰富的信号处理函数和算法,可以帮助工程师更高效地进行雷达信号分析。
三、雷达图像重建雷达图像重建是利用雷达信号来形成目标的图像。
通过对接收到的雷达信号进行处理,可以实现高分辨率成像和目标检测。
Matlab中的雷达图像重建技术主要包括合成孔径雷达(SAR)图像重建和极化雷达图像重建。
在SAR图像重建中,Matlab提供了一系列用于处理SAR数据的函数和工具箱。
可以通过调用这些函数,对接收到的雷达信号进行脉冲压缩,并利用合成孔径处理算法进行图像重建。
此外,Matlab还提供了图像增强和去噪的函数,可以进一步优化图像的质量和清晰度。
极化雷达图像重建主要是利用雷达反射信号的极化特性,对目标进行分类和识别。
在Matlab中,可以通过调用极化数据处理函数,对接收到的极化雷达信号进行处理,并绘制出极化散射矩阵。
一、引言在雷达技术领域,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雷达仿真,可以帮助工程师更好地理解这一雷达模式的工作原理。
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 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 的低通滤波器的脉冲响应。
根据实际的应用,仅仅采用以奈奎斯特采样率进行采样的话,得不到较好混频信号和滤波结果,采样频率f s 一般需要中心频率的4 倍以上才能获得较好的信号的实部和虚部。
当采样频率为f s = 4 f 0时,ω0 T = π/2,则基带信号可以简化为110(){()cos()}(){()sin()}()22N N BB IF IF n nf 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 ac 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点FFTD=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(signal))) ,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-lengt h(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-lengt h(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_fra me-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_r esult_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_result_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 进行雷达信号处理系统仿真,能迅速建立起系统模型,设计理念可以在任何细节上得到体现,建模时间短,模型简单、清晰,计算精度高,同时在系统设计的任何阶段都能够很方便地修改模型、评估结果和验证系统行为。