雷达信号处理地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的机载雷达的地杂波仿真实现及抑制技术机载雷达的地杂波仿真实现及抑制技术摘要机载雷达由于架设在运动的高空平台上,具有探测距离远、覆盖范围大、机动灵活等特点,应用范围相当广泛,可以执行战场侦察、预警等任务。
在海湾战争、伊拉克战争中起到关键作用,在现代战争中越来越不可缺少,因此近年来受到广泛重视。
但由于机载雷达的应用面临非常复杂的杂波环境,杂波功率很强,载机的平台运动效应使杂波谱展宽。
此外,飞机运动时,杂波背景的特性会随时间变化。
因此,有效地抑制这种时间非平稳和空间非平均的杂波干扰时雷达系统有效完成地面目标和低空飞行目标检测必须解决的首要问题。
杂波研究经过几十年的发展,仍然是雷达技术的热点。
机载PD雷达地杂波强度大、杂波谱分布广,特别在下视状态下在所有的距离上都成为目标检测的背景。
本文从机载下视雷达地杂波散射机理出发,结合机载下视雷达杂波的特殊性,首先概括了机载雷达常用的杂波信号的特性即空间相关性和时间相干性,讨论了几种常用的相关杂波的模拟方法,做出了有效地模拟结果,并在Matlab平台上仿真实现,仿真结果与理论分析正好吻合,提高了杂波模拟的逼真度。
并对机载雷达波抑制技术进行研究,分析总结了地物杂波频谱的组成特性,系统的阐述了机载雷达杂波抑制的基本理论及其发展动态。
重点讨论了AMTI杂波抑制技术并给出仿真结果。
关键词:机载雷达;地杂波;杂波抑制;AMTI目录第一章绪论 (1)1.1课题背景与研究意义 (1)1.2杂波仿真技术的发展和研究现状 (1)1.3主要研究内容 (2)第二章机载雷达地杂波的特性分析及仿真原理 (5)2.1机载雷达地杂波回波谱分析 (5)2.1.1 主瓣杂波频谱 (5)2.1.2主瓣杂波频谱分析 (8)2.2机载雷达地杂波仿真原理 (8)2.2.1基本雷达方程 (9)2.2.2杂波信号的特性 (10)第三章机载雷达地杂波仿真实现 (12)3.1高斯分布统计模型 (12)3.2非高斯分布统计模型 (15)3.2.1对数正态(Lognormal)分布 (15)3.2.2韦布尔(Weibull)分布 (17)3.2.3 K分布和gamma分布 (19)3.3 机载雷达杂波特性 (22)3.4机载雷达不确定场地地面杂波仿真 (24)3.4.1模型假设及输入参数 (24)3.4.2散射单元的划分 (25)3.4.3 杂波散射单元回波信号 (27)3.4.5 回波叠加 (30)3.4.6 机载雷达杂波仿真结果 (31)第四章机载雷达地杂波抑制技术 (32)4.1 动目标显示(MTI) (32)4.2 单延迟线对消器 (34)4.3 双延迟线对消器 (36)4.4 反馈延迟线对消器(递归滤波器) (38)第五章结论与展望 (41)参考文献 (43)附录A (45)致谢 (51)第一章绪论1.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进行信号处理和仿真

学习使用MATLAB进行信号处理和仿真信号处理是一门重要的学科,它在许多领域中发挥关键作用,包括通信、图像处理、生物医学工程等。
而MATLAB作为一个功能强大的编程软件,具备丰富的信号处理和仿真工具,因此被广泛应用于信号处理领域。
本文将重点介绍如何学习使用MATLAB进行信号处理和仿真。
一、MATLAB入门要使用MATLAB进行信号处理和仿真,首先需要对MATLAB有一定的了解。
MATLAB是一种高级计算机语言,可用于数值计算、可视化和编程。
首先,我们需要学习MATLAB的基本语法和特点,包括变量的定义和操作、矩阵运算、函数的定义和调用等。
其次,熟悉MATLAB的常用工具箱,如信号处理工具箱和控制系统工具箱,它们提供了丰富的函数和算法,方便进行信号处理和仿真。
二、信号的表示与分析在信号处理中,首先需要了解信号的表示与分析方法。
MATLAB提供了多种表示信号的方法,包括时域分析和频域分析。
时域分析是通过观察信号在时间上的变化来研究信号的性质,常用的时域分析方法有时域图形显示、自相关函数和互相关函数等。
频域分析则是将信号转换到频域进行分析,常用的频域分析方法有傅里叶变换和功率谱密度估计等。
学习使用MATLAB进行信号的时域和频域分析,可以更好地理解和处理信号。
三、滤波器设计与应用滤波器是信号处理中非常常见和重要的工具。
它可以通过选择性地通过或抑制特定频率的信号,对信号进行处理。
MATLAB提供了丰富的滤波器设计和应用函数,包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
我们可以利用MATLAB进行滤波器的设计、参数的调整和滤波器效果的评估等工作。
熟练掌握MATLAB中滤波器设计与应用的方法,对信号处理和仿真工作具有重要意义。
四、信号处理应用实例学习信号处理和仿真离不开实际应用实例的学习。
在这一章节中,将以几个具体的信号处理应用实例来展示MATLAB的具体使用。
比如,在通信领域中,我们可以利用MATLAB进行信号调制、解调和信道编码等工作。
雷达信号的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软件对雷达信号处理系统进行了仿真,得到了雷达系统中各个处理点上的具体信号形式,并用图形用户界面(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雷达信号处理仿真

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 )均匀分布的信号了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 =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-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_clutte r)/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_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 进行雷达信号处理系统仿真,能迅速建立起系统模型,设计理念可以在任何细节上得到体现,建模时间短,模型简单、清晰,计算精度高,同时在系统设计的任何阶段都能够很方便地修改模型、评估结果和验证系统行为。