FPGA-based interference elimination for health monitoring in dynamic environments

Since flexible wearable sensing devices are mostly used to acquire the human health information by fitting, the vibration generated by the wearer’s movement, physiological state, environment, and other dynamic factors will interfere the accuracy of collected signals. In order to solve the signal interference problem in dynamic environments, a system is needed to eliminate the strong interfering signals in disturbing scenarios in order to acquire the target signal. In this paper, a FPGA-based system is designed to eliminate the signal interference, where a PFGA chipset is served as the core hardware part, an adaptive notch filter is used to process the sensing signals and the FPGA and the host computer are interacted in real time, thus various vibration noises suffered by the flexible sensing device could be eliminated when it is applied to health monitoring in dynamic environments.


Introduction
In recent years, many flexible wearable devices have appeared in the market for detecting various human health information, and these devices are usually prepared based on the piezoelectric properties of the flexible sensors to obtain the wearer's ECG information, pulse information, respiratory rate, and other health information, among which PVDF sensors are more widely used [1].Taking a smart sports top as an example, the product is equipped with a flexible piezoelectric sensor, which detects the wearer's pulse, respiratory rate, and other signs in a way that is close to the skin [2].However, if the wearer is running, every time he or she runs, a vibration will be generated on the sensor, and the amplitude of this vibration is far larger than the amplitude of the signals that the sensor is trying to collect, making the information collected by this smart top during the wearer's movement inaccurate.In order to solve the problems in such dynamic scenarios, adaptive notch filter can be used to eliminate the vibration interference of a specific frequency during the movement process, coupled with the host computer to perform the real-time analysis of the collected signals.The frequency of the most serious interference within a certain period is obtained, and the frequency parameters are fed back to the adaptive algorithms, which can then eliminate of the interference of the health monitoring in dynamic environments.

Processing of sensing signals 2.1.1. LMS algorithm
Based on the linear mean square error criterion, the LMS algorithm is proposed by Widrow and Hoff of Stanford University in 1960 [3], which is an iterative algorithm that can make the filter coefficients converge to the optimal value through continuous iterative operations in practical applications.The implementation of the LMS algorithm can be summarized in the following recursive formula: In the formula, ) (n W is the weight vector of the input signal, ) (n X is the input vector composed of input signals; in the process of multiplying two vectors, the output signal ) (n y is controlled by the vector is the updated value of the weights; ) (n e is the error signal;  is the step coefficient of the iterative algorithm.The input signal will gradually converge to the reference signal after processing by the algorithm.

Adaptive notch filter
The schematic diagram of the adaptive notch filter is shown in Figure 1, which can filter out two interference signals with frequencies 1 w and 2 w at the same time to achieve the weakening of the vibration interference in dynamic environments.The adaptive notch filter are used as the main means of signal processing [4], and the LMS algorithm is used to eliminate signal interference at certain frequencies and ensure no loss of target signals.amplitude and phase.The weights w are adjusted by the LMS algorithm so as to synthesize with the ) (t r signal to obtain the estimated value of the interference signal ) (t y .) (t s is subtracted from ) (t y to obtain the signal ) (t e , which is the output signal of the filtered interference signal.

FPGA implementation of adaptive notch filter
The FPGA implementation of the adaptive notch filter is shown in Figure 2

Hardware implementation 2.2.1. System architecture
The system architecture diagram is shown in Figure 3.The original signal is collected and converted to the analogue signal by the PVDF sensor, mixed with vibration interference signal and the target signal.Then, the signal is amplified and preliminarily filtered through the pre-processing circuit, and the pre-processed signal is converted to the digital signal by the AD converter module.The converted digital signal is input into the FPGA to carry out the digital signal processing, and the FPGA is also interacted with the host computer during processing the sensing signal.By sending data frames to the FPGA, the system's acquisition speed, the amount of data to be acquired, the acquisition channels, the adaptive notch filter and the switch enable can be configured by the host computer.After acquiring the sensing signal, the frequency characteristics of the vibration interference is extracted, and the the parameters of the trap is regulated, so that the frequency of the signal filtered out by the trap is consistent with the frequency of the interference in the original signal.In this way, the dynamic filtering of the interference signal is realized.

FPGA Chipsets
Altera's Cyclone IV E-series chip EP4CE10F17C8 is used as the core control chip, and the driver of the peripheral hardware as well as the signal processing module are written using Verilog hardware description language.The chip is integrated with the AD chip driver module, serial port transceiver driver module, FIFO buffer module, FIFO driver module, adaptive notch filter module, and the coordinated operation between each module.The RTL Viewer is shown in Figure 4.

Results and Discussion
The human pulse signal with superimposed vibration interference is obtained by the sensor.Then, the signal is sent to the host computer through the system acquisition and processing.The interference signal frequency in the sensing signal is identified, which is 50 Hz and 10 Hz.
A modelsim simulation platform is built to test the performance of the system.The pulse signal containing vibration interference is obtained as the input signal.The data frames are sent to the system according to the obtained vibration frequency.The serial port transceiver baud rate is 115200.The output frequency of NCO_1 is adjusted to 50 Hz, and the output frequency of NCO_2 is 10 Hz. Figure 5 shows the simulation results.It can be seen the interference-containing pulse signal is processed by the system.The superimposed vibration interference is filtered out, and the characteristics of the pulse signal are revealed.
In this paper, a FPGA-based system that can collect and process sensor signals is built.A host computer is used to analyze and obtain frequency data of interference vibration signals, and the adaptive notch algorithm was adopted as the processing means to process the sensing signals.From the modelsim simulation results, the interference of flexible wearable devices in dynamic environment is eliminated.In the further work, more NOCs will be applied in the system to promote the application potential to deal with complex interference scenarios.

Figure 1 .
Figure 1.Schematic structure of the adaptive notch filter . The IP core of the Quartus software is called to generate the NCO module, and the NCO module is controlled by the host computer to generate a reference signal at a specific frequency by inputting different Fword.Each NCO module generates two cosine and sinusoidal signals with the same frequency.The generated signals are fed into the LMS operation module and multiplied by the weights n w to obtain an estimate of the interfering signal ) (t y .

Figure 2 .
Figure 2. Structural diagram of FPGA implementation of adaptive notch filter The LMS arithmetic module requires six clock cycles to process the data during one period, of which the multiplication of each weight with the NCO output reference signal accounts for two clock cycles, the operation to obtain the estimated value of the interference signal ) (n y accounts for one clock cycle, the operation to obtain ) (n e accounts for one clock cycle, the operation to obtain the updated value of ) (n W  accounts for one clock cycle, and the updating of the weights accounts for one clock cycle.