Currently I have a setup where I'm determining the position of a transmitter using the RSSI of 4 receivers. Its a simple feed-forward network with some hidden layers, where the input is the RSSI values, and the output is a 2d coordinate.

Now, if I decide to add/remove receivers, I have to train the network again, since the input size changes. This is not ideal, since the receivers can move around, dissapear, etc. I have looked at some alternatives, but being pretty new to machine learning, it's difficult to pick which direction to go.

I have looked at a potential solution (stolen from another question), but I'm lost at how to implement it using tensorflow:

enter image description here

Any help is appreciated.


The solution mentioned seems feasible but you'd probably encounter a lot of problems, such as -

  1. Since you're outputting coordinates, each one of the input networks must be trained differently. Considering $N$ should ideally be a variable, how many input networks do you train?

  2. You'd use an intermediate encoding of sorts as co-ordinate representation which would be averaged and then passed through the output network. - Interpolation properties of the encoding might not be too great, meaning a linear change in the representation might not lead to a linear change in the co-ordinate, causing an averaging function to give skewed results.

Just a suggestion but I think it would be better if instead of learning multiple estimates of co-ordinate representations and then averaging them it might be better if you tried to learn some sort of distance function.

Essentially, each receiver would have a fixed position (Assumption) and the input network (or two input networks preferably) would output the distance ($r$) of the transmitter from that receiver and the angle ($\theta$) it makes with a common axis. The problem with this approach is you wouldn't be leveraging multiple receivers as they would not be learning together, and the advantage being that whatever $N$ is, the RSSI readings pass through the same network always.

Once an $N$ number of $(r, \theta)$ values are obtained - a robust algorithm $f(r_1, r_2,..., \theta_1, \theta_2, ...) = (x_t, y_t)$ could be found to output the transmitter co-ordinates.

I'm not too confident if it would work too well but just a suggested direction I could think of! Hope this helped!

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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