A signal state segmentation method based on distribution difference

By using a signal state segmentation method based on distribution differences, the problem of high computational complexity in existing people counting systems is solved, achieving efficient segmentation and accurate extraction of WiFi signal data and reducing system overhead.

CN115731245BActive Publication Date: 2026-02-10CHONGQING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211579055.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-08
Publication Date
2026-02-10
Estimated Expiration
2042-12-08

AI Technical Summary

Technical Problem

Existing technologies fail to effectively segment data related to the number of people in people-counting based on WiFi channel status information, resulting in high computational complexity and large system overhead.

Method used

A signal state segmentation method based on distribution differences is adopted. By detecting the change points of data distribution differences between online and offline stages, non-fading state data is eliminated. The optimal segmentation threshold is determined by kernel density estimation. The start and end time points of motion segments are corrected by weighted parameters to further segment reflection and shadow state segments.

Benefits of technology

It achieves accurate extraction of data fragments related to the number of people with low computational complexity, reduces the amount of system computation, and improves the accuracy and efficiency of data segmentation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115731245B_ABST
    Figure CN115731245B_ABST
Patent Text Reader

Abstract

The application discloses a signal state segmentation method based on distribution difference. When a human body is at different distances from a transceiving link, the signal distribution of CSI data has obvious difference, and the segmentation of the signal state can be realized by using the distribution difference. Firstly, the number of human body motion segments is acquired, that is, the data of non-fading states is removed, and the number of motion segments including reflection state segments and shadow state segments is obtained; then, the starting time point and the ending time point of each motion segment are found, so that the segmentation of each motion segment is realized; finally, the method based on the distribution difference is used to find the starting time point and the ending time point of the shadow state segment in each motion segment, so that the segmentation of the reflection state segment and the shadow state segment in each motion segment is realized. The application can accurately extract the effective data related to human body motion in the monitoring time, so that the problems of large data volume and large calculation cost in the traditional population counting algorithm are greatly solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of electronic signal processing, and specifically relates to a signal state segmentation method based on distribution differences. Background Technology

[0002] People counting technology based on WiFi channel state information has long been a focus of research both domestically and internationally. However, traditional people counting algorithms suffer from the following problems: they directly extract all motion data from the entire monitoring period to count people without considering data segmentation and analysis. Therefore, invalid data introduces additional overhead to the system. To address these issues, data segmentation can be considered to remove irrelevant data, thereby reducing the system's computational complexity. Therefore, how to segment the data is one of the key problems that urgently needs to be solved.

[0003] Current signal segmentation methods mainly include threshold-based signal segmentation techniques and change-point detection-based signal segmentation techniques. Threshold-based methods compare data collected in the online phase with data thresholds calculated in the offline phase to determine whether different motions exist, and segment the start and end points of each motion according to the threshold. However, it is difficult to choose a suitable threshold when the environment changes. Change-point detection-based methods detect change points in the data by characterizing the feature changes of the data within a continuous window, thereby achieving signal segmentation for different states.

[0004] This invention proposes a signal state segmentation method based on distribution differences, ensuring the segmentation of data related to the number of people with low system overhead. Similar to signal segmentation algorithms based on change point detection, this distribution difference-based algorithm also distinguishes different states in the data by detecting change points. It calculates the difference between the data distribution obtained in the online phase and the data distribution template obtained in the offline phase, and uses the point of change in the difference as the state abrupt change point, thereby achieving signal state segmentation. Summary of the Invention

[0005] The purpose of this invention is to segment signals by utilizing the differences in signal distribution under different states. Addressing the problems of large data volume and complex calculations in existing signal processing technologies, this invention can accurately extract the required segments and greatly reduce the amount of computation.

[0006] The signal state segmentation method based on distribution differences described in this invention includes the following steps:

[0007] Step 1: Use two minicomputers equipped with Intel 5300 network cards as transmitters and receivers. Filter the CSI signal received by the receiver to eliminate noise in the higher frequency bands, and then reduce the dimensionality of the data. The processed CSI signal is denoted as H1(k).

[0008] Step 2: Based on the distance between the person and the transceiver link, the CSI signal H1(k) is defined into three states. When the distance between the person and the transceiver is far, the disturbance of the WiFi signal by the person is extremely weak, and this state is defined as the non-fading state. When the person gradually approaches the transceiver link, the WiFi signal is reflected by the person, and this state is defined as the reflection state. When the person is on the transceiver link, the person will severely block the signal propagation, and this state is defined as the shadow state. The signal distribution under the shadow state is used as the distribution template w. y .

[0009] Step 3: Remove non-fading state data from the dataset to obtain the count of motion segments, including reflection and shadow state segments. The specific steps are as follows:

[0010] 3.1 Divide the CSI data H1(k) of length len into multiple jump windows w of length win and step size win. t Calculate the difference between the corresponding CSI signals in adjacent jump windows, and calculate the variance V of all differences. i ;

[0011] 3.2 All variances V i Standardization yields the standardized variance V′ i and the standardized variance V′ i All maxima in the range are denoted as V′. max (i), i = 1, 2, ..., g;

[0012] 3.3 Following the methods described in 3.1 and 3.2 above, obtain the variable V′ of the silent data and motion data during the offline phase. max (i) The optimal segmentation threshold P for the two states can be obtained based on the kernel density estimation;

[0013] 3.4 Determining the maximum value of standardized variance V′ max (i), i=1,2,...,g and the value of a pre-set threshold P, when V′ max (i) When the value is greater than the threshold P, the number of motion segments count is incremented by 1, and the maximum value V′ is also incremented. max (i) The corresponding axle label is m ii ,1≤ii≤g; then continue comparing the next maximum value V′ according to the above operation. max (i) After comparing the value with the threshold P, the count value obtained is the total number of motion segments.

[0014] Step 4: After obtaining the total number of motion segments, find the start time point S1 and end time point E1 of each motion segment to achieve the segmentation of each motion segment. The specific steps are as follows:

[0015] 4.1 Following the methods in 3.1 and 3.2, obtain the standardized variance V′ of the silent and motion data during the offline phase. i The optimal segmentation threshold ε for the two states is obtained based on the kernel density estimation.

[0016] 4.2 In the online phase, compare the standardized variance V′ i With respect to the magnitude of the threshold ε, when V′ i When the value is greater than or equal to ε, the start time point S1 of the motion segment can be obtained;

[0017] 4.3 After determining the start point of the motion, continue comparing the remaining V′. i With respect to the magnitude of the threshold ε; when V′ i When the value is less than ε, calculate the test node V′. test =η·V′ i +(1-η)·V′ i+1 And determine V′ test and β·V′ i+1 The size of V′, where η and β are weighting parameters; if V′ test <β·V′ i+1 Then, the end time point E1 of the motion segment can be obtained;

[0018] 4.4 To ensure that there is only one motion segment between the start and end points of the motion, the end point needs to be corrected; if E1>m ii If ·win, it indicates that there may be two or more motion segments between the start and end points of the motion. In this case, the end point E1 of the motion needs to be changed.

[0019] 4.5 Following the above method, the start and end times of all motion segments are obtained, thereby achieving the segmentation of each motion segment;

[0020] Step 5: After obtaining all motion segments, a method based on distribution differences is used to find the start time point S2 and end time point E2 of the shadow state segment in each motion segment, thereby achieving the segmentation of the reflection state segment and the shadow state segment in each motion segment. The specific steps are as follows:

[0021] 5.1 Define a cache window w h Used to store pop-up windows t The data in the template and cache window are represented by histograms, with each histogram containing m rectangles. The data in the template and cache window are denoted as w. ym and w hm ;

[0022] 5.2 will pop up a window. tThe data in the buffer is sequentially placed into the cache window w h In the middle, each time a pop-up window is placed... t The data is used to calculate w once. ym and w hm The difference between them is EMD1(w ym ,w hm );

[0023] 5.3 Observation of EMD1(w) ym ,w hm The size of EMD1(w) ym ,w hm When the minimum value is reached, the last data point of the jump window containing the minimum value is recorded as the start time point E2 of the shadow state segment;

[0024] 5.4 Starting from the end time point E2, retrieve the jump window data backward and place it into the buffer window w in sequence. h Then calculate w ym and w hm EMD1(w) between ym ,w hm );

[0025] 5.5 Observation of EMD1(w ym ,w hm The size of EMD1(w) ym ,w hm When the minimum value is reached, the first data point of the jump window where the minimum value is located is recorded as the start time point S2 of the shadow state segment;

[0026] 5.6 Following the above method, the start and end times of the shadow state segments in all motion segments are obtained, thereby realizing the segmentation of shadow state segments and reflection state segments. Attached Figure Description

[0027] Figure 1 Flowchart for signal state segmentation

[0028] Figure 2 Schematic diagram of three signal states

[0029] Figure 3 Results of motion segment extraction

[0030] Figure 4 Determine the end point of the shadow state

[0031] Figure 5 Determine the starting point of the shadow state.

[0032] Figure 6 Segmentation results for reflection and shadow states Detailed Implementation

[0033] The present invention will now be described in further detail with reference to the accompanying drawings:

[0034] The technical solution adopted in this invention is: a signal state segmentation method based on distribution differences, specifically including the following steps:

[0035] A signal state segmentation method based on distribution differences includes the following steps:

[0036] Step 1: Obtain the number of human motion segments, i.e., remove data from non-fading states to obtain the count of motion segments including reflection state segments and shadow state segments. The specific steps are as follows:

[0037] 1.1 Let the noise-removed CSI signal be H1(k), with length len. Divide H1(k) into multiple jump windows w with length win and step size win. t Calculate the difference between corresponding CSI data in adjacent jump windows, and calculate the variance V of all differences. i ;

[0038]

[0039] Where i represents the jump window number. Indicates rounding down; csi i (m) represents the m-th data in the i-th jump window, and V(.) represents taking the variance of all differences;

[0040] 1.2 All variances V i Standardization yields the standardized variance V′ i and the standardized variance V′ i All maxima in the range are denoted as V′. max (i), i = 1, 2, ..., g, where g represents the number of maxima;

[0041]

[0042] Where max(V) i ) and min(V i V represents variance V i The maximum and minimum values ​​in;

[0043] 1.3 Following the methods described in 1.1 and 1.2 above, obtain the variable V′ for silent data and motion data during the offline phase. max (i) The optimal segmentation threshold P for the two states can be obtained based on the kernel density estimation;

[0044] 1.4 Online phase, compare V′ max (i), i=1,2,...,g and the value of the threshold P, when V′ max(i) When the value is greater than or equal to the threshold P, the motion segment count = count + 1, and the maximum value V′ is set. max (i) The corresponding axle label is m ii ,1≤ii≤g; then continue comparing the next maximum value V′ according to the above operation. max (i) The size of the comparison with the threshold P; after the comparison, the count value obtained is the total number of motion segments;

[0045] Step 2: After obtaining the number of motion segments, find the start time point S1 and end time point E1 of each motion segment to achieve the segmentation of each motion segment. The specific steps are as follows:

[0046] 2.1 Following the methods in 1.1 and 1.2, obtain the standardized variance V′ of the silent and motion data during the offline phase. i The optimal segmentation threshold ε for the two states is obtained based on the kernel density estimation.

[0047] 2.2 In the online phase, compare the standardized variance V′ i With respect to the magnitude of the threshold ε, when V′ i When ε is greater than or equal to ε, the start time point S1 of the motion segment can be obtained:

[0048] S1=(i-1)·win

[0049] Where i is the current standardized variance V′ i The sequence number, where win is the length of the pop-up window;

[0050] 2.3 After determining the start point of the motion, continue comparing the remaining V′. i With respect to the magnitude of the threshold ε; when V′ i When the value is less than ε, calculate the test node V′. test =η·V′ i +(1-η)·V′ i+1 And determine V′ test and β·V′ i+1 The size of V′, where η and β are weighting parameters; if V′ test <β·V′ i+1 Then we can obtain the end time point E1 of the motion segment:

[0051] E1 = j·win

[0052] Where j is the current standardized variance V′ i The serial number;

[0053] 2.4 To ensure that there is only one motion segment between the start and end points of the motion, the end point needs to be corrected; if E1>m iiIf the result is "win", it indicates that there may be two or more motion segments between the start and end points of the motion. In this case, the end point E1 needs to be changed.

[0054] E1=(x'+m ii -1)·win

[0055] Where x' is the standardized variance V′ between the maximum value corresponding to the current motion segment and the maximum value corresponding to the next motion segment. i The x-coordinate corresponding to the minimum value, m ii The x-coordinate of the maximum point corresponding to the current motion segment;

[0056] 2.5 Following the above method, obtain the start and end times of all motion segments;

[0057] Step 3: After obtaining all motion segments, a method based on distribution differences is used to find the start time point S2 and end time point E2 of the shadow state segment in each motion segment, thereby achieving the segmentation of the reflection state segment and the shadow state segment in each motion segment. The specific steps are as follows:

[0058] 3.1 Define a cache window w h Used to store pop-up windows t The data in the template and cache window are represented by histograms, with each histogram containing m rectangles. The data in the template and cache window are denoted as follows: and Where, r i and q j These represent the x-axis coordinates of the i-th and j-th rectangles, respectively. and Represents the y-axis coordinates of the i-th and j-th rectangles;

[0059] 3.2 Window pop-up t The data in the buffer is sequentially placed into the cache window w h In the middle, each time a pop-up window is placed... t The data is used to calculate w once. ym and w hm EMD1(w) between ym ,w hm ):

[0060]

[0061] in, d ij Indicates r i and q j The minimum moving distance;

[0062] 3.3 Observation of EMD1(wym ,w hm The size of the cache window changes when the cache window w h When data of reflection state segments are gradually added to EMD1(w) ym ,w hm The value of ) will fluctuate; when the cache window w h When gradually adding shadow state fragments of data, EMD1(w) ym ,w hm The value of EMD1(w) will gradually decrease; when all the data of the shadow state fragment is added, the value of EMD1(w) will increase. ym ,w hm A minimum value will appear; at this point, the pop-up window containing the minimum value will be opened. t The last data point is denoted as the end time point E2 of the shadow state segment;

[0063] 3.4 Starting from the end time point E2, retrieve the jump window data backward and put it into the buffer window w in sequence. h Then calculate w ym and w hm EMD1(w) between ym ,w hm );

[0064] 3.5 Observation of EMD1(w) ym ,w hm The size of EMD1(w) ym ,w hm When the minimum value is reached, the first data point of the jump window where the minimum value is located is recorded as the start time point S2 of the shadow state segment;

[0065] 3.6 Following the above method, the start and end times of the shadow state segments in all motion segments are obtained, thereby realizing the segmentation of shadow state segments and reflection state segments.

Claims

1. A signal state segmentation method based on distribution differences, comprising the following steps: Step 1: Obtain the number of human motion segments, i.e., remove data from non-fading states to obtain the count of motion segments including reflection state segments and shadow state segments. The specific steps are as follows: 1.1 Let the noise-removed CSI signal be H1(k), with length len. Divide H1(k) into multiple jump windows w with length win and step size win. t Calculate the difference between corresponding CSI data in adjacent jump windows, and calculate the variance V of all differences. i ; Where i represents the jump window number. Indicates rounding down; csi i (m) represents the m-th data in the i-th jump window, and V(.) represents taking the variance of all differences; 1.2 Variance V i Standardization yields the standardized variance V. i ', and the standardized variance V i Let V' be the maximum value of all ' '. max (i), i = 1, 2, ..., g, where g represents the number of maxima; Where max(V) i ) and min(V i V represents variance V i The maximum and minimum values ​​in; 1.3 Following the methods described in 1.1 and 1.2 above, obtain the variable V′ for silent data and motion data during the offline phase. max (i) The optimal segmentation threshold P for the two states can be obtained based on the kernel density estimation; 1.4 Online phase, compare V′ max (i), i=1,2,...,g and the value of the threshold P, when V′ max (i) When the value is greater than or equal to the threshold P, the motion segment count = count + 1, and the maximum value V′ is set. max (i) The corresponding axle label is m ii ,1≤ii≤g; then continue comparing the next maximum value V′ according to the above operation. max (i) The size of the comparison with the threshold P; after the comparison, the count value obtained is the total number of motion segments; Step 2: After obtaining the number of motion segments, find the start time point S1 and end time point E1 of each motion segment to achieve the segmentation of each motion segment. The specific steps are as follows: 2.1 Following the methods in 1.1 and 1.2, the standardized variance V of the silent and motion data in the offline phase was obtained. i The optimal segmentation threshold ε for the two states is obtained based on kernel density estimation. 2.2 In the online phase, compare the standardized variance V. i 'With the magnitude of the threshold ε, when V i When ε is greater than or equal to ε, the start time point S1 of the motion segment can be obtained: S1=(i-1)·win Where i is the current standardized variance V i The sequence number is ', and win is the length of the pop-up window; 2.3 After determining the start point of the motion, continue comparing the remaining V values. i 'and the magnitude of the threshold ε; when V i When 'less than ε, calculate test node V' test =η·V i '+(1-η)·V′ i+1 And determine V′ test and β·V′ i+1 The size of V′, where η and β are weighting parameters; if V′ test <β·V′ i+1 Then we can obtain the end time point E1 of the motion segment: E1 = j·win Where j is the current standardized variance V i 'Serial number; 2.4 To ensure that there is only one motion segment between the start and end points of the motion, the end point needs to be corrected; if E1>m ii If the result is "win", it indicates that there may be two or more motion segments between the start and end points of the motion. In this case, the end point E1 needs to be changed. E1=(x'+m ii -1)·win Where x' is the standardized variance V between the maximum value corresponding to the current motion segment and the maximum value corresponding to the next motion segment. i The x-coordinate corresponding to the minimum value of ', m ii The x-coordinate of the maximum point corresponding to the current motion segment; 2.5 Following the above method, the start and end times of all motion segments are obtained, thereby achieving the segmentation of each motion segment; Step 3: After obtaining all motion segments, the start time point S2 and end time point E2 of the shadow state segment in each motion segment are found using a method based on distribution differences. This achieves the segmentation of reflection state segments and shadow state segments in each motion segment. The specific steps are as follows: 3.1 Define a cache window w h Used to store pop-up windows t The data in the template and cache window are represented by histograms, with each histogram containing m rectangles. The data in the template and cache window are denoted as follows: and in, r i and q j These represent the x-axis coordinates of the i-th and j-th rectangles, respectively. and Represents the y-axis coordinates of the i-th and j-th rectangles; 3.2 Window pop-up t The data in the buffer is sequentially placed into the cache window w h In the middle, each time a pop-up window is placed... t The data is used to calculate w once. ym and w hm EMD1(w) between ym ,w hm ): in, d ij Indicates r i and q j The minimum moving distance; 3.3 Observation of EMD1(w ym ,w hm The size of the cache window changes when the cache window w h When data of reflection state segments are gradually added to EMD1(w) ym ,w hm The value of ) will fluctuate; when the cache window w h When gradually adding shadow state fragments of data, EMD1(w) ym ,w hm The value of EMD1(w) will gradually decrease; when all the data of the shadow state fragment is added, the value of EMD1(w) will increase. ym ,w hm A minimum value will appear; at this point, the pop-up window containing the minimum value will be opened. t The last data point is denoted as the end time point E2 of the shadow state segment; 3.4 Starting from the end time point E2, retrieve the jump window data backward and put it into the buffer window w in sequence. h Then calculate w ym and w hm EMD1(w) between ym ,w hm ); 3.5 Observation of EMD1(w) ym ,w hm The size of EMD1(w) ym ,w hm When the minimum value is reached, the first data point of the jump window where the minimum value is located is recorded as the start time point S2 of the shadow state segment; 3.6 Following the above method, the start and end times of the shadow state segments in all motion segments are obtained, thereby realizing the segmentation of shadow state segments and reflection state segments.