一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于FPGA的毫米波雷达室内人员统计计数方法与流程

2021-10-24 08:00:00 来源:中国专利 TAG:毫米波 人员 室内 计数 统计

基于fpga的毫米波雷达室内人员统计计数方法
技术领域
1.本发明涉及毫米波雷达信号处理技术领域,具体涉及一种基于fpga的毫米波雷达室内人员统计计数方法,是一种小型、低成本、准确的室内人员统计计数方法,可以实现对室内进出人员进行检测与判断,并实时记录房间内的人员个数。


背景技术:

2.线性调频连续波雷达是现代雷达中最重要的体制。它的天线一般由单发单收天线或者多发多收天线组成,线性调频连续波信号由线性调频连续波雷达收发芯片进行发送,发射周期一般都分为上扫频段和下扫频段,时宽通常远远大于作用距离相应的回波延迟。由于具有这样的特性,线性调频连续波在距离探测上具有高分辨率和高准确度。对雷达的每一段扫频周期的回波信号进行处理之后就可以得到差拍信号,谱分析之后就可以得到很小的带宽,这对于adc芯片的要求比较低。相比于其他体制的雷达,线性调频连续波雷达理论上不存在盲区。
3.利用线性调频连续波雷达的以上特性对室内房间人员进行统计计数,可以实现对房间内的人员全天时、全天候的检测,不受光照、烟雾、湿度等环境因素的影响,且具有极高的隐私保护功能。毫米波雷达具有很高的分辨率。传统的房间内的人员检测一般是利用光学摄像头,直接对房间内部的人员进行识别和统计。但是这样的方法在夜晚、烟雾环境的情况下明显效果不足,而且具有隐私泄漏的风险,不能够满足现代智慧办公的要求。
4.采用毫米波雷达实现房间内人员统计与计数是现代民用雷达技术领域的新探索,具有重要意义。


技术实现要素:

5.针对现有技术存在的问题,本发明的目的在于提供一种基于fpga的毫米波雷达室内人员统计计数方法,能够通过线性调频连续波雷达探测房间内人员信息,通过fpga对探测信息进行实时处理,实现房间内人员的检测、统计计数,具有准确、快速和实时的特点。可应用于智慧办公室或者会议室,实现人走电断、人来灯亮等功能。
6.为了达到上述目的,本发明采用以下技术方案予以实现。
7.基于fpga的毫米波雷达室内人员统计计数方法,包括以下步骤:
8.步骤1,毫米波雷达向待测室内发射线性调频连续波并接收回波,回波信号经adc采样后得到采样数字信号,fpga的pl端对采样数字信号进行fft处理,得到fft处理后的数据;
9.步骤2,将fft处理后的数据通过dma传递给fpga的ps端,ps端将该数据暂存在ddr3中;
10.步骤3,从ddr3中取出fft处理后的数据,在fpga的ps端进行恒虚警率检测,并滤除静态杂波干扰,输出检测结果;
11.步骤4,在fpga的ps端对检测结果进行点迹分类和点迹凝聚;
12.步骤5,在fpga的ps端用点迹分类和凝聚的结果进行目标判别处理,输出判别结果。
13.进一步地,所述毫米波雷达安装在待测室内与门正对的墙壁上,高度为2.2

2.6米,天线阵面向下俯50

60度,雷达探测范围10米;检测区域分为近距离区和远距离区;近距离用来判断目标进入,远距离位置用来判断目标离开。
14.进一步地,所述fpga的pl端对采样数字信号进行fft处理,具体为:
15.1.1,在fpga的pl端配置adc的采样率,对每周期的采样数字信号进行截取,使用截取的数据进行组帧;
16.1.2,输入当前组帧数据,分别对当前组帧数据的每列做m点fft运算,得到复矩阵a
m
×
n
;再对复矩阵a
m
×
n
的前n行做n点fft运算,得到复矩阵b
n
×
n

17.1.3,对复矩阵b
n
×
n
的每个元素求模,得到实数矩阵c
n
×
n

18.更进一步地,所述使用截取的数据进行组帧,具体为:每周期的截取数据按纵向排列形成距离维度,横向上按时间先后排列n个不同周期形成多普勒维度,得到一帧待处理的数据块;前后帧之间按1/4比例重叠。
19.进一步地,所述在fpga的ps端进行恒虚警率检测,具体实现过程为:
20.3.1,从fpga的ps端外挂的ddr3中获取fft处理后的数据,即实数矩阵c
n
×
n

21.3.2,检测c
n
×
n
的第1列,输出列矩阵u1
128
×1;
22.检测c
n
×
n
的第2列,输出u2
n
×1,组成矩阵[u1
n
×1u2
n
×1];
[0023]
检测c
n
×
n
的第3列,输出u3
n
×1,组成矩阵[u1
n
×1u2
n
×1u3
n
×1];
[0024]
以此类推,分别检测c
n
×
n
的其余各列,组成矩阵ur
n
×
n
=[u1
n
×1u2
n
×1u3
n
×1......un
n
×1];
[0025]
3.3,按步骤3.2检测当前帧的每行,组成矩阵ud
n
×
n

[0026]
遍历ur和ud,当两矩阵的相同位置均为非0值时,记录该值及其行号和列号,以行向量逐行存储,得原始点迹矩阵m。
[0027]
进一步地,所述点迹分类的具体过程为:
[0028]
4.1,提取原始点迹矩阵m中的距离信息和速度信息,即提取m的前两列数据,得到矩阵n
l
×2,矩阵n
l
×2的每一行为一个坐标点(x,y),共有l个点;
[0029]
4.2,设置邻域半径eps、最小邻域点数minpts,初始化类标号c为0,类标号矩阵clusterlabel
l
×1为零矩阵,n
l
×2中各点是否被处理的标志矩阵visited
l
×1为零矩阵;
[0030]
4.3,计算n
l
×2内各点到其自身及其他各点的欧氏距离,得矩阵distance
l
×
l

[0031]
4.4,设置变量s=1;
[0032]
4.5,若visited
s1
=0,则令visited
s1
=1,执行步骤4.7;否则s自增1;
[0033]
4.6,若s>l,则算法结束;否则执行步骤4.5;
[0034]
4.7,找到distance
l
×
l
第s行中所有小于或等于eps的值的列号,形成列号矩阵neighbor11×
x
,其中x为列号个数;
[0035]
4.8,若x≥minpts,则c自增1,执行步骤4.10;否则s自增1;
[0036]
4.9,若s>l,则算法结束,否则执行步骤4.5;
[0037]
4.10,令clusterlabel
sl
=c;
[0038]
4.11,设置变量v=1;
[0039]
4.12,设置变量w=neighbor1
1v
;,
[0040]
4.13,若visited
w1
=0,则令visited
w1
=1,执行步骤4.14;否则执行步骤4.16;
[0041]
4.14,找到矩阵distance第w行中所有小于或等于eps的值的列号,形成列号矩阵neighbor21×
y
,其中y为列号个数;,
[0042]
4.15,若y≥minpts,令neighbor1=[neighbor1 neighbor2],但新neighbor1中的元素为原neighbor1与neighbor2元素的并集;否则执行步骤4.16;
[0043]
4.16,若clusterlabel
w1
=0,则令clusterlabel
w1
=c;否则执行步骤4.17;,
[0044]
4.17,v自增1;
[0045]
4.18,若v≤neighbor1中元素个数,则执行步骤4.12;否则k自增1;
[0046]
4.19,若s>l,则算法结束,否则执行步骤4.5,输出类标号矩阵clusterlabel
l
×1,l为点迹个数。
[0047]
进一步地,所述点迹凝聚的具体过程为:
[0048]
4.20,找到clusterlabel
l
×1中元素的最大值max;
[0049]
4.21,若max=0;令变量object=0,算法结束;否则令object=1,执行步骤4.22;
[0050]
4.22,设置变量k1=1;
[0051]
4.23,遍历clusterlabel
l
×1,找到当clusterlabel
l1
=k1(1≤l≤l)时的所有行号l,组成行号矩阵w1×
x1

[0052]
4.24,计算
[0053]
4.25,k1自增1;
[0054]
4.26,若k1>max,则算法结束,输出变量object或当前帧的目标点迹矩阵p
max
×2;否则执行步骤4.23;
[0055]
其中,p
l1
=r
l
,p
l2
=d
l
,1≤l≤max。
[0056]
进一步地,所述目标判别处理具体为:设定距离门限和速度门限值,对当前目标的凝聚点迹结果进行判断:如果该距离和速度值在设定的区域内,则将其视为目标,计数器进行计数,否则不进行计数。
[0057]
进一步地,还包括步骤:在fpga的ps端利用以太网通过udp协议,将输出的判别结果上报给上位机。
[0058]
与现有技术相比,本发明的有益效果为:
[0059]
本发明在35ghz毫米波雷达上实现房间内人员统计与计数的信号处理,通过fft、恒虚警率检测(cfar)、点迹分类和凝聚,以及目标判别等算法实现了房间的人员统计与计数功能;硬件上采用一个fpga处理,pl端处理雷达信号的接收、ad的配置、雷达收发芯片的配置,ps端实现cfar、点迹分类和凝聚,以及目标判别算法,具有准确、快速和实时的效果。同时具备完整的人员计数显示功能,可应用于智慧办公室或者会议室,实现人走电断、人来灯亮等功能。
附图说明
[0060]
下面结合附图和具体实施例对本发明做进一步详细说明。
[0061]
图1是本发明的检测原理示意图;
[0062]
图2是本发明的处理流程图;
[0063]
图3是本发明的adc采样后数据组帧格式图;
[0064]
图4是本发明的恒虚警率检测算法(cfar)的处理流程图;
[0065]
图5是本发明的上位机显示界面图。
具体实施方式
[0066]
下面将结合实施例对本发明的实施方案进行详细描述,但是本领域的技术人员将会理解,下列实施例仅用于说明本发明,而不应视为限制本发明的范围。
[0067]
参考图2,本发明提供的一种基于fpga的毫米波雷达室内人员统计计数方法,包括以下步骤:
[0068]
步骤1,毫米波雷达向待测室内发射线性调频连续波并接收回波,回波信号经adc采样后得到采样数字信号,fpga的pl端对采样数字信号进行fft处理,得到fft处理后的数据;
[0069]
本发明中,首先确定线性调频连续波雷达的收发天线数目,采用一个fpga进行数据转发和处理;在fpga采用zynq7020处理器,在fpga的pl端进行fft处理;检测原理图如图1所示。
[0070]
具体地,为了实现较高距离分辨率的人员检测效果,本发明采用单发单收体制,发射波形为线性调频连续锯齿波。射频带宽为1.8ghz,扫频周期为1ms,每发射周期结束后都有1us的空闲时间。
[0071]
1.1,adc的采样率设置为40mhz,每扫频周期可得40040个采样点,其中后40个点来自空闲时间,作为区分不同周期的标志,不参与信号处理。每周期的40000点包括iq两路,对每路的20000点分别做每20点取1点的抽取操作(抽取位置为该20点的中间部分),则可得到1000点i路及1000点q路,即每周期1000个i j
×
q形式的复数据,此时对应的实际采样率为1mhz。
[0072]
1.2,对每个周期的1000点复数据进行截取,只保留其第50

900点参与后续的信号处理。如图3所示是本发明的adc采样后数据截取组帧格式图,每周期的851个点按纵向排列形成距离维度,横向上按时间先后排列128个不同周期形成多普勒维度,可得一帧待处理的数据块。前后帧之间按1/4比例重叠,即第一帧包括第1~128周期,第二帧包括第97~224周期,第3帧包括第193~320周期,以此类推。
[0073]
1.3,输入当前组帧的数据,分别对帧数据的每列做1024点fft运算,得复矩阵a
1024
×
128
;然后分别对a
1024
×
128
的前128行中的每行作128点fft,得复矩阵b
128
×
128
;再对b
128
×
128
的每个元素求模,得实矩阵c
128
×
128

[0074]
步骤2,将fft处理后的数据通过dma传递给fpga的ps端,ps端将该数据暂存在ddr3中;
[0075]
具体地,实数矩阵c
128
×
128
的数据通过dma中断,分批次逐步传递给fpga的ps端外挂的ddr3中暂时缓存,以供后续算法随时调用。
[0076]
步骤3,从ddr3中取出fft处理后的数据,在fpga的ps端进行恒虚警率检测,并滤除静态杂波干扰,输出检测结果;
[0077]
3.1,从fpga的ps端外挂的ddr3中获取fft处理后的数据,即实数矩阵c
n
×
n

[0078]
3.2,检测c
n
×
n
的第1列,输出列矩阵u1
128
×1;
[0079]
检测c
n
×
n
的第2列,输出u2
n
×1,组成矩阵[u1
n
×1u2
n
×1];
[0080]
检测c
n
×
n
的第3列,输出u3
n
×1,组成矩阵[u1
n
×1u2
n
×1u3
n
×1];
[0081]
以此类推,分别检测c
n
×
n
的其余各列,组成矩阵ur
n
×
n
=[u1
n
×1u2
n
×1u3
n
×1......un
n
×1];
[0082]
3.3,按步骤3.2检测当前帧的每行,组成矩阵ud
n
×
n

[0083]
遍历ur和ud,当两矩阵的相同位置均为非0值时,记录该值及其行号和列号,以行向量逐行存储,得原始点迹矩阵m。
[0084]
进一步地,所述c
n
×
n
的每列v
l
×1或每行v1×
l
的检测过程,如图4所示:
[0085]
(a)设置保护单元个数p=8,参考单元个数r=16,参数z=10,列序号k=1;
[0086]
(b)若k≤p r,则令a1=0;a2=(v
1,k p 1
v
1,k=p 2
... v
1,k p r
)/r;
[0087]
若p r<k≤l

p

r,则令a1=(v
1,k

p

r
v
1,k

p

r 1
... v
1,k

p
‑1)/r,
[0088]
a2=(v
1,k p 1
v
1,k p 2
... v
1,k p r
)/r;
[0089]
若k>l

p

r,则令a1=(v
1,k

p

r
v
1,k

p

r
1 ... v
1,k

p
‑1)/r,a2=0,
[0090]
其中,v
1k
表示矩阵v的第1行第k列元素;
[0091]
(c)选择a1和a2中的较大者作为v
1k
的干扰估计值g,即g=max(a1,a2);
[0092]
(d)计算v
1k
的检测门限t,即t=g
×
z;
[0093]
(e)若v
1k
>t则记录k和v
1k

[0094]
(f)k自增1;
[0095]
(g)若k>l,则算法结束;否则执行步骤(b)。
[0096]
步骤4,在fpga的ps端对检测结果进行点迹分类和点迹凝聚;
[0097]
4.1,提取原始点迹矩阵m中的距离信息和速度信息,即提取m的前两列数据,得到矩阵n
l
×2,矩阵n
l
×2的每一行为一个坐标点(x,y),共有l个点;
[0098]
4.2,设置邻域半径eps、最小邻域点数minpts,初始化类标号c为0,类标号矩阵clusterlabel
l
×1为零矩阵,n
l
×2中各点是否被处理的标志矩阵visited
l
×1为零矩阵;
[0099]
4.3,计算n
l
×2内各点到其自身及其他各点的欧氏距离,得矩阵distance
l
×
l

[0100]
4.4,设置变量s=1;
[0101]
4.5,若visited
s1
=0,则令visited
s1
=1,执行步骤4.7;否则s自增1;
[0102]
4.6,若s>l,则算法结束;否则执行步骤4.5;
[0103]
4.7,找到distance
l
×
l
第s行中所有小于或等于eps的值的列号,形成列号矩阵neighbor1
l
×
x
其中x为列号个数;
[0104]
4.8,若x≤minpts,则c自增1,执行步骤4.10;否则s自增1;
[0105]
4.9,若s>l,则算法结束,否则执行步骤4.5;
[0106]
4.10,令clusterlabel
s1
=c;
[0107]
4.11,设置变量v=1;
[0108]
4.12,设置变量w=neighbor1
1v
;,
[0109]
4.13,若visited
w1
=0,则令visited
w1
=1,执行步骤4.14;否则执行步骤4.16;
[0110]
4.14,找到矩阵distance第w行中所有小于或等于eps的值的列号,形成列号矩阵neighbor21×
y
,其中y为列号个数;,
[0111]
4.15,若y≥minpts,令neighbor1=[neighbor1 neighbor2],但新neighbor1中的元素为原neighbor1与neighbor2元素的并集;否则执行步骤4.16;
[0112]
4.16,若clusterlabel
w1
=0,则令clusterlabel
w1
=c;否则执行步骤4.17;,
[0113]
4.17,v自增1;
[0114]
4.18,若v≤neighbor1中元素个数,则执行步骤4.12;否则k自增1;
[0115]
4.19,若s>l,则算法结束,否则执行步骤4.5,输出类标号矩阵clusterlabel
l
×1,l为点迹个数。
[0116]
进一步地,所述点迹凝聚的具体过程为:
[0117]
4.20,找到clusterlabel
l
×1中元素的最大值max;
[0118]
4.21,若max=0;令变量object=0,算法结束;否则令object=1,执行步骤4.22;
[0119]
4.22,设置变量k1=1;
[0120]
4.23,遍历clusterlabel
l
×1,找到当clusterlabel
l1
=k1(1≤l≤l)时的所有行号l,组成行号矩阵w1×
x1

[0121]
4.24,计算4.24,计算为矩阵m的第w
1r

行第1列;w
1r

为行号矩阵w的第1行第r

列元素;
[0122]
4.25,k1自增1;
[0123]
4.26,若k1>max,则算法结束,输出变量object或当前帧的目标点迹矩阵p
max
×2;否则执行步骤4.23;
[0124]
其中,p
l1
=r
l
,p
l2
=d
l
,1≤l≤max。p
l1
表示目标点迹矩阵p的第l行第1列元素。
[0125]
本发明中,原始点迹分类算法执行后,输出当前帧的原始点击矩阵m
m
×3和类标号矩阵clusterlabel
l
×1,遍历clusterlabel
l
×1中的所有元素,找到当clusterlabel
n1
=k(1≤n≤m)时的所有行号n,组成行号矩阵w1×
x
;通过加权公式计算质心点,具体的公式如下:
[0126][0127]
最后,输出结果为当前目标的凝聚点迹结果。
[0128]
步骤5,在fpga的ps端用点迹分类和凝聚的结果进行目标判别处理,输出判别结果。
[0129]
5.1,输入上一帧的计数变量cnt1和cnt2,当前帧变量object或目标点迹矩阵p
x2
×2,x2为目标个数。
[0130]
5.2,若object=0;则cnt1和cnt2保持上一帧的值不变,输出cnt=cnt1 cnt2,算法结束;否则执行步骤5.3;
[0131]
5.3,设置变量k’=1;
[0132]
5.4,若23≤p
k
’1≤25且16≤p
k
’2≤53,则cnt1自减1后保持10帧不变;若23≤p
k
’1≤25且76≤p
k
’2≤112,则cnt2自增1后保持10帧不变,k自增1;
[0133]
5.5,若k’>x2,则计算cnt=cnt1 cnt2,算法结束;否则执行步骤5.4。最后输出变量cnt,即截止到当前帧时的总人数。
[0134]
进一步地,所述在ps端利用千兆以太网通过udp协议,将目标判别的输出结果上报给上位机。具体为:
[0135]
6.1,开启上位机,设置ip地址以及网络端口,建立下位机雷达和上位机软件的数据联系;
[0136]
6.2,启动人员统计与计数雷达,等待数据上传;
[0137]
6.3,当有人员通过门口时,上位机会对人员进行记录,并上报数据,显示在上位机界面上;
[0138]
6.4,上位机软件具备的远程程序更新功能,可以根据后期更新程序提供更加方便。
[0139]
进一步地,所述房间人员统计与计数雷达还包括上位机显示与控制模块,通过udp协议进行数据交互。所述控制模块用于雷达的配置命令和程序更新,可以通过上位机下达进行远程操作;所述的上位机显示用于雷达检测后目标判别的结果可以实时在上位机上进行显示并刷新。
[0140]
本发明中矩阵的下角标“m
×
n”表示矩阵的维度,矩阵的下角标“mn”表示矩阵的第m行n列元素。
[0141]
仿真实验
[0142]
本发明的实验效果可以通过以下验证实验进一步说明。
[0143]
如图1所示是具体的雷达安装方式,将雷达安装在正对门的墙壁上,高度为2.5米,天线阵面向下俯55度,雷达探测范围10米。检测区域分为两个部分,分别为近距离区和远距离区,近距离区为125厘米到150厘米;远距离区为275厘米到300厘米;近距离用来判断目标进入,远距离位置用来判断目标离开。当有人员进入房间时,雷达会检测目标的运动速度以及目标所在的位置信息,来进行判断,然后计数器加1。同理,当有人离开房间时,雷达会检测目标的运动速度以及目标所在的位置信息,来进行判断,然后计数器减1。
[0144]
如图5所示,雷达记录的信息通过以太网口传输给上位机进行显示。
[0145]
虽然,本说明书中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜