I have a situation where a linear array of sensors monitoring near field sources has had one of the sensors bumped so that the sensor position is off by a smallish amount and is not in its original geometric position. The following image is intended to aid in understanding where $S_e$ represent the sensors with $S_{e4}$ being the moved sensor and $S_i$ being the near field signal sources.

Signal array with moved sensor

I am trying to identify:

  1. what techniques might be used to determine the new position of the sensor
  2. detect when such a move of the sensor occurs
  3. how to incorporate that knowledge of the altered sensor position to restore the operation of the sensor array in detection of signal source locations and amplitudes

For normal processing, I am solving for the position of the signals based on a system of linear equations using the observed amplitude of the signal at a sensor. I am not using the phase information because the signal sources are all low frequency relative to distance and the phase difference between sensor points is negligible.

For amplitude of the signal source, I solve for the following:

$A_{se1} = A_{si1}\cdot decay(d(S_{e1},S_{i1}))\cdot \cos(\phi_{si1})+A_{si2}\cdot decay(d(S_{e1},S_{i2}))\cdot \cos(\phi_{si2})+...$ $A_{se2} = A_{si1} \cdot decay(d(S_{e2},S_{i1}))\cdot \cos(\phi_{si1})+A_{si2} \cdot decay(d(S_{e2},S_{i2}))\cdot \cos(\phi_{si2})+...$



  • function $d()$ is the distance between a signal source and sensor
  • function $decay()$ is the amplitude decay curve of the signal source
  • $\phi$ is the phase of the signal source where all signals are just an approximate sine wave

I have tried to add a $\Delta x$ and $\Delta y$ to the moved sensor but the equations get ugly and I am unsure if this is the only approach. The equations are not included here at the moment because Latex is a new thing for me and I am not sure if the equations are required in order for me to communicate the problem I am attempting to solve.

  • $\begingroup$ Can you run the sources one at a time? Can you control the source signals for a calibration step ? $\endgroup$
    – Hilmar
    Aug 16, 2022 at 15:11
  • $\begingroup$ Unfortunately, the sources are not something we can alter following deployment. Can you please elaborate on the thought process so I am not making assumptions on what I think you are intending? $\endgroup$
    – Jason K.
    Aug 16, 2022 at 16:03
  • 1
    $\begingroup$ Building off Hilmar's response, assuming the number of misaligned sensors << total # of sensors, you could use all but one sensor to estimate a DoA for a given source. That DoA will correspond to a target phase for the omitted sensor. The closer the actual phase of the omitted sensor is to the target, the more "aligned" the omitted sensor is in the direction of the source. Repeat the omission for each sensor in the array; the one with the worst phase error is most likely out of alignment. By repeating this experiment for multiple sources, you can triangulate the error in multiple dimensions. $\endgroup$
    – Ash
    Aug 16, 2022 at 22:27
  • $\begingroup$ This approach would work well if the spacing of the sensors is on the order of half the wavelength of the source frequency, which from your question does not look like the case. Not having the array spacing tuned to the source frequency leads to a wide main-lobe and thus a poor estimate of the DoA and a large error on the target phase. And by DoA, I imply the nearfield localization equation that you are using. If you could add a new "calibration source," that you could control/move - that could solve your problem. $\endgroup$
    – Ash
    Aug 16, 2022 at 22:36
  • 1
    $\begingroup$ Do the signal sources have a bandwidth, or is it just a tone (single frequency)? $\endgroup$
    – Gillespie
    Feb 8 at 23:12

1 Answer 1


You probably want some sort of calibration procedure. This is highly advisable for any type of multi-sensor contraption. Sensor get moved, damaged or contaminated; sensitivity of sensors drift with time, age, and temperature, pre-amp gains drift with time & temperature, etc. The larger the number of sensors, the less obvious a problem will be.

The best choice of calibration procedure depends a lot on what you have control or not. The easiest way is to expose the array to a setup with a known-good result and do a simple regression test. If you can control the source signal(s), you can use calibration signals one source at a time, etc.

Assuming you can't do any of this, things get more complicated. Here is a rough outline of a potential method. I will assume that the sources are reasonably far away, i.e that the angle of arrival for each source is the same at all sensors.

Let's start with correlating two sensor signals. Ideally you should see six peaks in the cross-correlation, one for each source. You can use the location of the peak to estimate the angle of arrival for each source. Do this for all 2-sensor permutation of your array (15 in your case) and estimate the angle for all of them. Inspect the data and look for outliers. Correlate the outliers to which sensors are being used. If the outliers all you sensor 4, than something is wrong with sensor 4.

The problem here is that the your estimates are going to be noisy, so you will have to manage the noise to get "good enough" estimates. Things to try are

  1. Weigh the estimate for each source with the size of the cross-correlation peak. Look for signal conditions where one source dominates and use those sections to estimate the angle(s) for this source.
  2. Cross correlate for a long time. Run statistics over many frames of data.
  3. Look for signal conditions where the sources are separable (either in time of frequency)

The method can be extended to near field sources as well: instead of determining the angle of arrival using two sensor you need to use sets of three sensor to determine the actual position.

  • $\begingroup$ Sorry for the simplistic question, but what is it you are suggesting to cross correlate? The signals are approximate low frequency sine waves in the near field where the phase lag is negligible so not really usable. Please help me connect the dots. $\endgroup$
    – Jason K.
    Aug 17, 2022 at 22:53
  • 1
    $\begingroup$ I was suggesting to cross correlate the sensor signals. Are the frequencies different for each source ? $\endgroup$
    – Hilmar
    Aug 18, 2022 at 16:27
  • $\begingroup$ The frequencies are almost the same from each source with the only difference being the phase but the wavelength is very large so phase is largely useless. $\endgroup$
    – Jason K.
    Aug 18, 2022 at 21:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.