精华内容
下载资源
问答
  • 一个用于雷达动目标检测和动目标显示的MATLAB代码程序,可以仿真实现动目标检测和动目标显示并进行效果对比。
  • dsp实验,动目标检测,动目标显示,mti,mtd的程序代码
  • 动目标显示与脉冲多普勒雷达:MATLAB程式设计 作者:施莱赫 (D.Curtis Schleher)
  • 摘要:简述了雷达数字信号处理系统中自适应动目标显示的实现原理,详细讨论了采用新一代高性能DSP芯片ADSP-TS101S设计自适应动目标显示系统的方法,并给出了相应的硬件框图和软件流程图。该系统具有通用化、模块化的...
  • MTI雷达,是动目标检测雷达。该类型雷达能够抑制杂波保留目标信号。对MTI雷达进行了仿真,并利用参差重频消除盲速影响,讨论了MTI雷达参差比取不同的值对盲速的影响。
  • 雷达手册(第三版)中文_第2章 动目标显示(MTI)雷达
  • 这篇文章主要讨论为什么不同脉冲的同一距离门里包含目标的多普勒信息,从原理上进行理解,细节缺乏推敲。 雷达接收信号数据块为: 图片源自wuli huag的博客雷达回波仿真 每一列代表对同一脉冲的采样(快时间),...

    这篇文章主要讨论为什么不同脉冲的同一距离门里包含目标的多普勒信息,从原理上进行理解,细节缺乏推敲。
    雷达接收信号数据块为:

    图片源自wuli huag的博客雷达回波仿真

    每一列代表对同一脉冲的采样(快时间),每一行代表对同一距离门的采样(慢时间)。
    对每一列做匹配滤波可以得到目标的距离信息,对每一行做FFT可以得到目标的多普勒信息,也即MTD。
    设雷达发射线性调频连续波信号:
    st(t)=A0ej2πf0tm=0M1u(tmT)u(t)={ejπKt2,0t<T0, else{{s}_{t}}(t)=A_0{{e}^{j2\pi {{f}_{0}}t}}\sum\limits_{m=0}^{M-1}{u(t-mT)} \\ u(t)=\left\{ \begin{matrix} {{e}^{j\pi K{{t}^{2}}}},0\le t<T \\ 0,\text{ }else \end{matrix} \right.
    其中A0A_0为发射信号的幅度,f0f_0为雷达载频,KK为调频斜率,TT为脉冲重复周期,MM为连续发射的线性调频脉冲数。
    设某目标的射线距离为RR,径向速度为vrv_r,那么该目标的第m+1m+1个脉冲回波为:
    sr(t)=st(ttd)td=2(R+vrt)c=2Rc+fdf0t{{s}_{r}}\left( t \right)={{s}_{t}}\left( t-{{t}_{d}} \right) \\ {{t}_{d}}=\frac{2\left( R+{{v}_{r}}t \right)}{c}=\frac{2R}{c}+\frac{{{f}_{d}}}{{{f}_{0}}}t
    于是接收信号可以写成:
    sr(t)=A0exp(j2πf0(ttd))m=0M1u(tmTtd){{s}_{r}}\left( t \right)=A_0\exp \left( j2\pi {{f}_{0}}\left( t-{{t}_{d}} \right) \right)\sum\limits_{m=0}^{M-1}{u\left( t-mT-{{t}_{d}} \right)}
    tdt_d为时延,fdf_d为多普勒频移。
    先对目标进行距离处理,参考信号取:
    s0(t)=A0exp(j2πf0(tτ0))u(tmTτ0){{s}_{0}}\left( t \right)=A_0\exp \left( j2\pi {{f}_{0}}\left( t-{{\tau }_{0}} \right) \right)u\left( t-mT-{{\tau }_{0}} \right)
    τ0=2Rc{{\tau }_{0}}=\frac{2R}{c}为距离RR上的时延。
    仅关注接收信号的exp(j2πf0(ttd))\exp \left( j2\pi {{f}_{0}}\left( t-{{t}_{d}} \right) \right)项,与参考信号混频后剩下exp(j2πfdt)\exp \left( -j2\pi {{f}_{d}}t \right),可知不同脉冲的同一距离维频率相差fdTf_dT。也即对慢时间维做FFT可得到目标的多普勒信息。
    下面给出海杂波的仿真实例进行验证。首先是将回波信号匹配滤波后排成行,每一列代表同一距离门,此时的距离-多普勒结果如下图所示,可以看出每一行都是在目标处产生峰值。
    在这里插入图片描述
    对上图的每一列进行FFT,结果如下图所示。虽然看起来只在某一个地方有峰值,我最初有些疑惑,不应该每一列都应该在多普勒频率处有一个峰值吗,其实是这样的,只是由于其他列的峰值与目标所在距离那一列的峰值相比较而言很小,最终呈现的结果只有一个峰值,这样也可以直接读出目标的距离和速度。
    在这里插入图片描述
    目标距离所在列做FFT的结果如下图:
    在这里插入图片描述
    为了证明任选一列也可以,这里选择第10列的数据做FFT,结果如下图:
    在这里插入图片描述
    从上两幅图的结果可以看出,任选同一距离门数据做FFT即可得到目标速度信息,距离-多普勒图像只有一个峰值的原因在于其他列相对目标距离所在列的峰值小太多,这两幅图分别是10710^710410^4

    参考文献:

    1. 郭欣. 天波超视距雷达信号处理技术研究[D].南京理工大学,2004.
    2. 戴文娟. 天波超视距雷达海杂波仿真与目标检测算法[D].电子科技大学,2013.
    展开全文
  • 雷达领域最经典专著《雷达手册》第三版(中文),第二章,值得收藏,雷达专业必备
  • 根据雷达动目标显示、动目标检测原理,通过双脉冲对消,三脉冲对消和盲速处理的方法,用Labview对其进行仿真。仿真结果表明:在动目标显示(MTI)和动目标检测(MTD)中使用滤波器组,能够得到更好的改善因子,降低...
  • 生命探测仪:1. 扫描雷达状态显示:正在扫描 or 扫描停止;2. 显示扫描雷达的灵敏度;3. 探测过程中的数据文件保存(用于跟踪和后期回放)4....7. 探测目标二维成图显示界面,包括生命体、静止目标、动态目标;8....

    若该文为原创文章,转载请注明原文出处
    本文章博客地址:https://blog.csdn.net/qq21497936/article/details/110994486
    长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808
    红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

    合作案例专栏:案例分享(体验Demo可下载,只定制)


    需求

      生命探测仪
      1. 扫描雷达状态显示:正在扫描 or 扫描停止;
      2. 显示扫描雷达的灵敏度;
      3. 探测过程中的数据文件保存(用于跟踪和后期回放)
      4. 探测仪连接app的终端的状态显示;
      5. 电池电量显示;
      6. 多语言切换,中文/英文;
      7. 探测目标二维成图显示界面,包括生命体、静止目标、动态目标;
      8. 显示or隐藏动态目标的移动轨迹;
      9. 雷达探测过程中实时现实探测的前方障碍物物体等,同时转换为一维火山图显示;
      10. 前方探测距离的、方位范围‘、灵敏度设置;
      11. 探测文件实时保存;
      12. 探测文件的探测过程回放;


    Demo

      在这里插入图片描述
      在这里插入图片描述


    硬件

      在这里插入图片描述

      在这里插入图片描述
      在这里插入图片描述


    Demo头文件代码

    RadarScanWidget.h

    #ifndef RADARSCANWIDGET_H
    #define RADARSCANWIDGET_H
    
    #include <QWidget>
    #include <QElapsedTimer>
    #include <QPixmap>
    #include <QTimer>
    
    namespace Ui {
    class RadarScanWidget;
    }
    
    class RadarScanWidget : public QWidget
    {
        Q_OBJECT
    public:
        enum COORDINATE_HORIZAL{
            COORDINATE_HORIZAL_4 = 0x00,
            COORDINATE_HORIZAL_6 = 0x01,
            COORDINATE_HORIZAL_8 = 0x02,
        };
        enum COORDINATE_VERTICAL{
            COORDINATE_VERTICAL_10 = 0x00,
            COORDINATE_VERTICAL_20 = 0x01,
            COORDINATE_VERTICAL_30 = 0x02,
        };
    
    public:
        explicit RadarScanWidget(QWidget *parent = 0);
        ~RadarScanWidget();
    
    public:
        inline bool hasMoveTarget() { return _listListPointFForMove.size() > 15; }
        void setShowMoveLineMoreThanLimitPoints(int showMoveLineMoreThanLimitPoints);
    
    signals:
        void signalStaticTargetNumber(int number);
    
    public slots:
        void startScanning();
        void stopScanning();
        void setHorizalCoordinate(COORDINATE_HORIZAL c);
        void setVerticalCoordinate(COORDINATE_VERTICAL c);
        void setShowPath(bool showPath);
        void recvTargetPointF(QList<QPointF> listPointF, bool isStatic);
        void recvMatrixUChar(int frameIndex, QList<uchar> listUChar);
        void clearAllData();
    
    
    protected slots:
        void timeout();
    
    protected:
        void paintEvent(QPaintEvent *event);
        void timerEvent(QTimerEvent *event);
    
    protected:
        void drawBackground(QPainter &painter);
        void drawChartBackground(QPainter &painter);
        void drawChart(QPainter &painter);
        void drawArc(QPainter &painter);
        void drawPointData(QPainter &painter);
        void drawWallData(QPainter &painter);
    
    protected:
        QPointF judgetStaticDistanceLessThanDistance(QPointF p1, QPointF p2, qreal distance, bool *ok = 0);
        bool judgetMoveDistanceLessThanDistance(QPointF p1, QPointF p2, qreal distance);
    
    private:
        Ui::RadarScanWidget *ui;
        int _offsetX;
        int _offsetY;
        int _stepsX;
        int _stepsY;
        int _rangleXMin;
        int _rangleXMax;
        int _rangleYMin;
        int _rangleYMax;
        int _width;
        int _height;
        QColor _backgroundColor;
        QColor _backgroundChartColor;
        QColor _lineColor;
        QColor _color;
        QColor _pointColor;
        QStringList _strListVericalLocaltion;
        QStringList _strListHorizalLocaltion;
        int _offsetHorizalTextX;
        int _offsetHorizalTextY;
        int _offsetVerticalTextX;
        int _offsetVerticalTextY;
        int _originX;
        int _originY;
        bool _isScanning;
        COORDINATE_HORIZAL _cooradinateHorizal;
        COORDINATE_VERTICAL _cooradinateVertical;
        int _indexOfArc;
        int _timerId;
        int _interval;
        QList<QList<QPointF> > _listListPointFForMove;
        QList<QList<QPointF> > _listListPointFForMoveLine;
        QList<QList<QPointF> > _listListPointFForStatic;
        QList<QList<uchar> > _listListUCharForMaxtric;
        QList<QPointF> _listPointFForStatic;
        bool _showPath;
        QElapsedTimer _elapsedTimerForMove;
        QElapsedTimer _elapsedTimerForStatic;
        int _intervalTime;
        QPixmap _pixmap;
        QList<QPixmap> _listPixmapForMove;
        QList<QPixmap> _listPixmapForStatic;
        QList<int> _listCount;
        QTimer *_pTimer;
        int _staticCircleR;
        QList<int> _listStaticTime;
        int _staticsStaticTargetTime;
        int _showMoveLineMoreThanLimitPoints;
    };
    #endif // RADARSCANWIDGET_H
    

    若该文为原创文章,转载请注明原文出处
    本文章博客地址:https://blog.csdn.net/qq21497936/article/details/110994486

    展开全文
  • 基于线性调频(LFM)脉冲压缩雷达原理及雷达动目标显示(MTI)的数学模型,通过与传统二脉冲对消和三脉冲对消的方法相对比,采用四脉冲对消和参差脉冲重复频率处理盲速的方法进行动目标检测。仿真实验证明,在动目标...
  • 针对MIMO 雷达的动目标显示( MTI) 特性, 给出了MTI 滤波器的三种设计及其结构, 并导出了其相应的改善因子表达式。 最后给出了仿真结果, 即递归滤波器具有较好的灵活性和改善因子, 同时合理进行收发布阵, 能够提高...
  • 其次,在上一步的基础上,针对场景中的动态目标,建立几何变换与光效应的数学模型,通过计算动态目标伪距离和动态目标在虚拟场景中的位置坐标确定最终的显示效果,以解决动态目标在实时运动中走样和像素丢失的问题。...
  • 这是着陆页项目,请读给我 目录 第1节第2节第3节第4节第5节 指示 该项目具有HTML,CSS和... -突出显示活动部分和链接,以便更轻松地识别用户在哪里。 -使网站具有响应性,并可在现代台式机,平板电脑和手机上使用。
  • 对车辆目标而言,预先对目标图像的运动方位角估计,能提高整个车辆目标识别和分类系统的效率。...实验结果显示,所提方法能较准确地估计运动目标的姿态,对目标方位角估计的误差明显低于上述多种主轴分析方法。
  •  (2) 动态变化则通过使用定时器任务来完成,动态显示要确保变化足够的时长,因此,步长需要根据变化量来进行计算,本文默认变化频率为 50 毫秒一次,动态过程 2 秒(即 2000 毫秒),则变化次数为 4
  • 想要用matlab实现对动态目标的追踪,结果图应该是有两个点显示,一个点在追踪另外一个一个,并且会留下追踪的轨迹,而且这两个点都是在运动的状态中,我目前得到的结果是只有一条曲线...
  • 实现目标显示8.8.8.8.8.8.8.8.,即点亮显示器所有段,持续500ms,然后显示“HELLO-21”,并保持 Proteus仿真图 C51代码 #include <intrins.h> #include <REGX52.H> #define TRUE 1 #define ...

    实现目标

    先显示8.8.8.8.8.8.8.8.,即点亮显示器所有段,持续500ms,然后显示“HELLO-21”,并保持

    Proteus仿真图

    在这里插入图片描述

    C51代码

    #include <intrins.h>
    #include <REGX52.H>
    
    #define TRUE 1
    #define dataPort   P0 /*定义P0为段输出口*/
    #define ledConPort P2 /*定义P2为位输出口*/
    
    unsigned char code ch[8]={0x76,0x79,0x38,0x38,0x3f,0x40,0x5b,0x06}; /*定义‘HELLO-93’对应的数值*
    
    void time(unsigned int ucMs);//延时单位:ms
    
    void main(void)
    {
    	unsigned char i,counter=0; /*各LED灯状态值数组的索引*/
    
    	for(i=0;i<30;i++){//1、显示"8.8.8.8.8.8.8.8.",即点亮显示器所有段,持续约500ms;	
    		for(counter=0; counter<8; counter++)
    		{
    			ledConPort=counter;
    			dataPort= 0xff; /*点亮选中的LED灯*/
    			time(5); /*延时5毫秒*/
    		}
    	}
    
    	ledConPort=0xff;time(2000); //2、灭显示器,持续约2秒
    
    	while(TRUE)	//3、显示"HELLO-93",保持。
    	{
    		for(counter=0; counter<8; counter++)
    		{
    			ledConPort=counter;
    			dataPort= ch[counter]; /*点亮选中的LED灯*/
    			//time(300); /*延时300毫秒,时间较长,可观察动态扫描变化情况*/
    			time(5); /*延时5毫秒,感觉不出扫描显示*/
    		}
    	}
    }
    /*********** 延时单位:ms *******************/
    void time(unsigned int ucMs)//延时单位:ms
    {
    	unsigned char j;	
    	while(ucMs>0){
    		for(j=0;j<10;j++) delay_100us();
    		ucMs--;
    	}
    }
    
    

    笔记

    • dataPort对应的是P0,观察仿真图可以看出,P0接的是位驱动,啥意思呢?就是该显示器有8个LED显示器,位驱动就是控制其中哪一个显示器显示的内容。比如我们需要使得第二个显示器显示字母H,那么首先控制位驱动=1(1是第二个,从0开始计数),然后在段驱动输入H对应的十六进制数 0x76
    • ledConPort 对应的是P2,观察仿真图可以发现,连接的是段驱动,也就是控制一个LED显示器具体的显示内容

    思路:其实就是利用人眼睛的视觉停留效果,为了显示“HELLO-21”,本质上就是先显示“H”,再显示"E"… 只是其中的间隔时间非常短,眼睛察觉不出来,视觉上就好像几个字母同时显示。所有代码中利用for循环,首先选择哪一个led显示器,再输出其具体的显示内容,依次循环即可

    		for(counter=0; counter<8; counter++)
    		{
    			ledConPort=counter;
    			dataPort= ch[counter]; /*点亮选中的LED灯*/
    			//time(300); /*延时300毫秒,时间较长,可观察动态扫描变化情况*/
    			time(5); /*延时5毫秒,感觉不出扫描显示*/
    		}
    

    上述代码简单理解就是:

    首先
    ledConPort=0;表示选中第一个LED显示器
    dataPort= ch[0] ,表示第一个显示器显示字符“H”

    然后
    ledConPort=1;表示选中第二个LED显示器
    dataPort= ch[1] ,表示第二个显示器显示字符“E”
    .
    .
    .
    .
    综上:首先选择哪一个显示器,再定义其输出的内容,再延时即可

    本文Proteus仿真图及源程序获取见:
    在这里插入图片描述

    运行结果

    在这里插入图片描述
    在这里插入图片描述

    说明

    参考课本:单片机原理与嵌入式系统设计

    展开全文
  • 目的:在silverlight中显示两点之间的连线,要求动画显示连线效果。 如果需实现动画效果不得不了解,Storyborad对象: Storyboard Silverlight 通过时间线控制动画,并为其子动画提供对象和属性目标...
  • 自己利用VC++编写的基于卡尔曼滤波的目标运动与滤波程序,利用了矩阵运算,界面可对目标运动参数进行设置并显示滤波曲线和误差曲线。
  • 雷达PPI显示屏的动态扫描,实时显示目标方位和角度。有详细的注释。
  • 1.目标 以液晶电子表样式,动态变化的在指定元素内显示数字。 目标关键词:动态变化(定时器),指定元素(DOM元素ID),数字(number) 效果:多个页面元素中,均以动态效果显示不同的数字,可正可负。并动态改变...
  • 针对现有煤矿动目标视频监控采用人工监控方式存在误报和漏报等问题,提出了一种基于DM642的多目标运动状态感知系统的设计方案。该系统以DM642为控制核心,以监控视频为输入,使用多阈值分割法、帧间差分法、边缘检测法...
  • 一、基本目标 实现一个随同客户端(浏览者机器上的)时间的网页文本时间,使用最短的代码。 二、制作过程 代码如下:<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “htt
  • 摘要:er();};4.使用方式如接口所定义,使用者只需要关心DOM元素ID与数值即可。这里,我们再用一个定时器,每5秒钟改变一个数值来看看值变化时的动态效果。...目标以液晶电子表样式,动态变化的在指定元素内显示数...
  • 针对传统动态规划检测前跟踪算法仅适用于匀速直线运动目标或慢机动目标的局限性,提出了一种将交互式多...仿真结果显示,相比于传统动态规划检测算法,该算法能够更加有效地实现对机动目标的检测和跟踪,适于工程应用。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,993
精华内容 1,197
关键字:

动目标显示