基于TI毫米波雷达生命体征例程学习(0)

1 前言

        生命体征就是用来判断病人的病情轻重和危急程度的指征。主要有心率、脉搏、血压、呼吸、疼痛、血氧、瞳孔和角膜反射的改变等等。正常人在安静状态下,脉搏为60—100次/分(一般为70—80次/分)。当心功能不全、休克、高热、严重的贫血和疼痛、甲状腺危象、心肌炎,以及阿托品等药物中毒时,心率和脉搏显著加快。当颅内压增高、完全性房室传导阻滞时,脉搏减慢。在一般情况下心率与脉搏是一致的,但在心房颤动、频发性早搏等心律失常时,脉搏会少于心率,称为短绌脉。生命体征是一组指示人的健康状况和身体机能的医学参数,它们提供可能的疾病线索以及恢复或恶化的趋势。生命体征主要有四种:体温(BT)、血压(BP)、呼吸频率(BR)和心率(HR)。这些参数因年龄、性别、体重和健康水平而异。在特定条件下,这些参数也可能因人的身体或心理活动而有所不同。例如,正在从事体育活动的人可能会具有较高的体温、呼吸频率和心率。

         毫米波雷达,是工作在毫米波波段(millimeter wave )探测的雷达。通常毫米波是指30~300GHz频域(波长为1~10mm)的。毫米波的波长介于微波和厘米波之间,因此毫米波雷达兼有微波雷达和光电雷达的一些优点。同厘米波导引头相比,毫米波导引头具有体积小、质量轻和空间分辨率高的特点。与红外、激光、电视等光学导引头相比,毫米波导引头穿透雾、烟、灰尘的能力强,具有全天候(大雨天除外)全天时的特点。另外,毫米波导引头的抗干扰、反隐身能力也优于其他微波导引头 。毫米波雷达能分辨识别很小的目标,而且能同时识别多个目标;具有成像能力,体积小、机动性和隐蔽性好,在战场上生存能力强。毫米波(mmWave)雷达会发射电磁波,其路径中的任何物体都会将信号反射回去。通过捕获和处理反射信号,雷达系统可以确定物体的距离、速度和角度。毫米波雷达在物体距离检测中可以提供毫米级别的精度,因而成为人类生物信号的理想传感技术。此外,毫米波技术还可以对患者进行非接触式的连续监控,因此无论医生还是患者都比较方便。

2 几个常见专业名词汇总

(1)进程与线程

        进程:进程之间的地址空间和资源是相互独立的,一个进程崩溃后,在保护模式下不会对其他进程产生影响。
        多进程:操作系统中同时运行的多个程序。
        线程:同一进程的线程共享本进程的地址空间和资源,一个线程崩溃整个进程都死掉。
        多线程:在同一个进程中同时运行的多个任务。

(2)IPC

进程间的5种IPC介绍:
        1.管道(pipe):管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。
特点:
        它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。
        它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。
        它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。

        2.FIFO:FIFO,也称为命名管道,它是一种文件类型。
特点:
        FIFO可以在无关的进程之间交换数据,与无名管道不同。
        FIFO有路径名与之相关联,它以一种特殊设备文件形式存在于文件系统中。

        3.消息队列:消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。
特点:
        消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级。
        消息队列独立于发送与接收进程。进程终止时,消息队列及其内容并不会被删除。
        消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取。

        4.信号量:信号量(semaphore)与已经介绍过的 IPC 结构不同,它是一个计数器。信号量用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。
特点:
        信号量用于进程间同步,若要在进程间传递数据需要结合共享内存。
        信号量基于操作系统的 PV 操作,程序对信号量的操作都是原子操作。
        每次对信号量的 PV 操作不仅限于对信号量值加 1 或减 1,而且可以加减任意正整数,并且支持信号量组。

        5.共享内存:共享内存(Shared Memory),指两个或多个进程共享一个给定的存储区。
特点:
        共享内存是最快的一种 IPC,因为进程是直接对内存进行存取。
        因为多个进程可以同时操作,所以需要进行同步。
        信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问。

(3)信号量

头文件:
#include
#include
#include
创建信号量:int semget(key_t key,int nsems,int flags) //返回:成功返回信号集ID,出错返回-1。
通常情况下,该id值通过ftok函数得到。第三个参数flag是一组标志,当想要当信号量不存在时创建一个新的信号量,可以将flag设置为IPC_CREAT与文件权限做按位或操作。
设置了IPC_CREAT标志后,即使给出的key是一个已有信号量的key,也不会产生错误。而IPC_CREAT | IPC_EXCL则可以创建一个新的,唯一的信号量,如果信号量已存在,返回一个错误。一般我们会还或上一个文件权限。
删除和初始化信号量:int semctl(int semid, int semnum, int cmd, ...);
改变信号量的值:int semop(int semid, struct sembuf *sops, size_t nops);

(4)Mailbox通信

Mailbox作为多处理器系统中处理器间进程同步和数据交换的硬件机制,其优点是应用相对的广,速度快。采用Mailbox的方式,主要是通过传输控制信息的方式进行多处理器通信。根据系统要求,可以定义不同的Mail来实现系统行为。例如:可以定义固定流量的数据传输,也可以定义固定区块的数据传输。通信双方的数据传输,属于片内并行数据传输,因此实时性好,速度快。同时还可以兼容中断和查询模式,减小控制CP U的处理时间压力。如果单纯用于固定的数据传输则Mail设计简单。但如果Mail定义的类型较多,会增加一定的Mail识别难度及识别时间。
邮箱创建:Mailbox_HandleMailbox_create(SizeT   bufsize,UInt   numBufs,Mailbox_Params   *params,Error_Block   *eb);
Mailbox_config:在XWR16xx / XWR18xx / XWR68xx 上,此字段仅用于MSS <-> DSS之间的通信,需要进行设置。
Mailbox_write():邮箱一次只能将一条消息发送到远程端点。将数据复制到邮箱缓冲区后,驱动程序触发对远程端点的中断。
Mailbox_read():邮箱一次只能从远程端点读取一封邮件。 可以对邮箱中的同一封邮件进行多个Mailbox_read()调用。

(5)回调函数

回调函数其实就是函数指针的一种用法。在回调中,主程序把回调函数像参数一样传入库函数。只要我们改变传进库函数的参数,就可以实现不同的功能。

基于TI毫米波雷达生命体征例程学习(0)_第1张图片

实例如下:

基于TI毫米波雷达生命体征例程学习(0)_第2张图片

(6)chirp信号:

Chirp信号是一个典型的非平稳信号,在通信、声纳、雷达等领域具有广泛的应用,也叫线性调频信号。

Chirp译名:啁啾(读音:“周纠”),是通信技术有关编码脉冲技术中的一种术语,是指对脉冲进行编码时,其载频在脉冲持续时间内线性地增加,当将脉冲变到音频地,会发出一种声音,听起来像鸟叫的啁啾声,故名“啁啾”。

后来就将脉冲传输时中心波长发生偏移的现象叫做“啁啾”。例如在光纤通信中由于激光二极管本身不稳定而使传输单个脉冲时中心波长瞬时偏移的现象,也叫“啁啾”。

Chirp信号的表达式如下:

  • 式中f0称作起始频率。
  • u0为调频率
  • 对相位进行求导,得到角频率以及频率随时间的线性变化关系 f = f0+u0*t

 3 小结

        由于我才刚刚开始接触到毫米波雷达的领域,对于该方向并不是很熟悉。在阅读TI相关例程中对于一些很简单的名词概念并不是很清楚,请大家见谅!在接下来的时间里,我会每隔一段时间记录下我的学习情况,并分享出来,希望各位大佬能指导一下还没入门的我!

 

你可能感兴趣的:(毫米波雷达生命体征,算法,dsp开发,射频工程,硬件架构,硬件工程)