I am doing radar Sensor signal processing.
The radar sensor gives iq data corresponding to the range(sweeps)
I want to detect micro motion so that phas analysis is used.
Sweep is the distance measurement range. one sweep consist of 259 data points
Each sweep is noise- reducing lowpass filtered using
y(s) = alpha * y(s-1) + (1 - alpha)* x(s)
alpha is the smoothing factor (alpha_iq = 0.535261)
y(s) is the ouput sweep and x(s) is the input sweep(output data sample/signal from Radar Sensor).
To extract the Phase, Unwrapping of the phase of the IQ samples
θ[s] is the unwrapped phase of a sweep. αθ = 0.995012, is a high pass filter to remove any build up of phase over time, L is the number of fast time samples, s is sweep index, d is range index, ∠ is the phase of complex number, and y∗D is the complex conjugate of yD.yD(s,d) is the low pass filtered sweep
The problem I am facing is that, for detecting moving object, static object and non-moving object
This unwrapping of phase is using. But I cannot differentiate the unwrapped phase of these 3 objects.
For non-moving objects it shows phase change. How can we differentiate the unwrapped phase of these 3 objects?.
I am attaching the plot of 100 phase array of these 3 cases
Fig1. Human Presence(Chest Movement) Fig2: Non-Moving Object, Fig3: Static Object,
Anyone please help me to solve this issue or give me another solution to extract the phase so that we can differentiate these cases
Can you show the plots with vertical axis gridmarks in multiples of pi/2 radians ? It would make it easier to give phase unwrapping algorithm suggestions.
The vertical axis shown in the plot is in radian.
because I used np.angle() function to obtain the phase, which is in radian
np.angle(np.mean (yd(s) * np.conjugate(yd(s-1)))
Then rescale. The point is that in order to know whether your phase unwrapping is working and/or can be improved, we need to see what happens exactly at pi/2 intervals. With your current graph, that's hard to see and as a volunteer willing to spend a bit of time to help you I'm not willing to graph for you.
"Ask and you shall receive" ... but you when you ask it has to be clear.
I am sorry for my fault. The data used to plot the above figures are lost.
Now I collected 3 new set of data , (i) Non-Moving Object
(ii) Human chest movement (ii) a moving objects. The unwrapped phase of these 3 objects are shown below
A couple of quick questions ...
1) Your first plot (HumanChestMovmntUnwrappedPhase.jpeg) is actually wrapped phase, correct ? It looks like phase wraps occur consistently at pi/2 transition points
2) Can you send me the time-series file ? A wav file format would be good. In that case I can try some algorithms on it, for example Hypersignal has a phase unwrap algorithm that is tolerant to noise around the wrap points.
I took a look at the first .h file, it looks like freq domain data (real and imaginary components). Can you clarify ? What I'm expecting is the original time series data, after data acquisition and subsequent filtering or other processing, up to the point where the next step would be FFT.
Yes its the I&Q data from the Radar Sensor for each sweep.
This data is given to the noise - reducing lowpass filter.
Then it is used in the equation for phase unwrapping.
In these 2 steps we are processing with the I&Q data.
The data from the phase unwrapping is used to plot these graphs
I am not performing FFT .
Please tell me that which data you need ?
> Yes its the I&Q data from the Radar Sensor for each sweep.
Ok got it, thanks. I'll be able to spend some time on this over the weekend. Is the data in polar coordinate form ? It looks like it. Also what is the radar sensor part number ? I want to understand its sweep characteristics and resolution.
Thank you for your reply.
The I&Q data is in a+ib form. each data point is z = a+ib,
polar coordinate r = abs(Z), phase ph = arg(Z)
Radar sensor is Acconeer Radar Sensor(XM112).
The detected range is 30cm to 80 cm from the sensor and the step length(range resolution) is 2mm
Radar sweep frequency (update rate )is 80Hz