Go back
help - overlapping ladders!

help - overlapping ladders!

Posers and Puzzles

Vote Up
Vote Down

Hello, this is a problem I have hit at work.

If I have a ladder with rung spacings A, one with rung spacings A, another with rung spacings C etc, is there a simple way to predict what order I see the rungs if I line the ladders up against each other? A, B and C are very large integers.

1 edit
Vote Up
Vote Down

Originally posted by iamatiger
Hello, this is a problem I have hit at work.

If I have a ladder with rung spacings A, one with rung spacings A, another with rung spacings C etc, is there a simple way to predict what order I see the rungs if I line the ladders up against each other? A, B and C are very large integers.
What do you do for a living? I'm assuming a mathematician, or are you a painter doing the Einstien thing?

Vote Up
Vote Down

Originally posted by joe shmo
What do you do for a living? I'm assuming a mathematician, or are you a painter doing the Einstien thing?
I design and write programs for processing radar data.

Anyway, I think I've worked it out now, I can crunch the distances between steps cunningly to make them all slightly smaller integers, and then I can declare a big array length max_steps*max_between_step_distance, then for each ladder I add that ladders id to entries step_distance, step_distance*2, step_distance*3 etc, do that for all ladders and read through the final array to get the steps in order.

Vote Up
Vote Down

Originally posted by iamatiger
I design and write programs for processing radar data.

Anyway, I think I've worked it out now, I can crunch the distances between steps cunningly to make them all slightly smaller integers, and then I can declare a big array length max_steps*max_between_step_distance, then for each ladder I add that ladders id to entries step_distance, step_distance*2, ...[text shortened]... ance*3 etc, do that for all ladders and read through the final array to get the steps in order.
Was going to throw my maths hat in the ring, but glad you got it sorted out. From my work with processing radar data you're working with multiple reflections from targets right?

Although I think there might be a more elegant solution which doesn't rely on number crunching as a few things can be inferred after the initial reflection/rung.

Vote Up
Vote Down

Hmm, if you could suggest something better - I'd like to know about it 🙂

The ladders come from considering target speeds, and which range bins the target falls in in different instants, the target has to follow a straight line, so I want a way of generating a lookup table to quickly sum values along all the possible straight lines through a given point, to see if any of them sum to a threshold meaning something was probably there. If I can sort these ladders quickly it gives me my lookup table.

Vote Up
Vote Down

Having thought about this over the weekend, I don't think there is a nice solution out there. Basically your problem boils down to ordering numbers. And even with just two numbers A and B, telling which sequence they come in (e.g. A B 2A 3A 2B etc.) ain't easy and I can't see a solution which doesn't rely on a brute strength approach like you've used. Even if we divide by the smaller number to give us, say 1 and B/A, while the problem is a bit simpler computationally, there's still no 'nice' solution with regard to their order.

Sorry I can't be of more help.

Vote Up
Vote Down

Originally posted by iamatiger
Hello, this is a problem I have hit at work.

If I have a ladder with rung spacings A, one with rung spacings A, another with rung spacings C etc, is there a simple way to predict what order I see the rungs if I line the ladders up against each other? A, B and C are very large integers.
I don't know if this thought makes any difference to the solution of this problem, but for ladders having integer rung separations A, B, C..., there will be incidents of two or more rungs appearing at the same time - an 'eclipse.' I think it is provable that there WILL be eclipses for any ladders with integer rung separations. Integer size will not prevent this. For example, if A = 3 and B = 7, the third rung of ladder B will eclipse the 7th rung of ladder A, at 21 units from the origin. Multiply both A and B by some large number and the same occurs.

Vote Up
Vote Down

Originally posted by VelvetEars
Having thought about this over the weekend, I don't think there is a nice solution out there. Basically your problem boils down to ordering numbers. And even with just two numbers A and B, telling which sequence they come in (e.g. A B 2A 3A 2B etc.) ain't easy and I can't see a solution which doesn't rely on a brute strength approach like you've used. ...[text shortened]... still no 'nice' solution with regard to their order.

Sorry I can't be of more help.
Ah, no problem, best solution I can come up with is programatic:

initialise_ladder_lengths_array to first rung height for all ladders
order that array by increasing first rung height

now recursively{
The next rung we see is at the front of the ladder lengths array
Increment that ladder's length by its rung height
resort that ladder so the ladder_lengths_array is in order again.
}

The re-sorting in the loop looks bad, but I have a small number of ladders, about 5 and the way the numbers fall means that the changed ladder ends up first or second in the list usually

Vote Up
Vote Down

Yeah, I think that's the most stable solution.

On the topic of radar technology, have you had any experience using inverse scattering algorithms to improve resolution?

Vote Up
Vote Down

Originally posted by VelvetEars
Yeah, I think that's the most stable solution.

On the topic of radar technology, have you had any experience using inverse scattering algorithms to improve resolution?
Wouldn't you get better resolution with synthetic aperture radar? That is assuming a moving radar antenna mounted on an aircraft or spacecraft though. A fixed radar would not allow that technique.

My radar days was on bombers. We had a full radar setup in our shop. One night when I was on duty till 8 am, a janitor came in with an arm full of florescent bulbs, 4 foot long jobs. My radar was up and running, I was doing a test of a subsystem, and noticed the janitor on the other side of the room, about 100 feet away, big room.

So I took the antenna control, aimed it at the janitor, and all the bulbs in his arms lit up REALLY brightly! He jumped about two feet in the air and flung the bulbs away totally freaked out.

I was freaked out too, hid out behind the test set, didn't realize that radar was that powerful. The look on the dudes face was priceless though🙂

Vote Up
Vote Down

Originally posted by sonhouse
Wouldn't you get better resolution with synthetic aperture radar? That is assuming a moving radar antenna mounted on an aircraft or spacecraft though. A fixed radar would not allow that technique.

My radar days was on bombers. We had a full radar setup in our shop. One night when I was on duty till 8 am, a janitor came in with an arm full of florescent b ...[text shortened]... idn't realize that radar was that powerful. The look on the dudes face was priceless though🙂
I wonder what the janitor thought was happening, might believe in ghosts because of you now...

My problem is using ground penetrating radar, which is pretty much the equivalent of synthetic aperture radar, just aimed at the ground.

The problem is that in scanning the ground, you get large amounts of diffraction from targets. I'm trying to get rid of this diffraction to improve the resolution. Which is a lot harder than it sounds, so any suggestions I'm open to.

Vote Up
Vote Down

Originally posted by VelvetEars
I wonder what the janitor thought was happening, might believe in ghosts because of you now...

My problem is using ground penetrating radar, which is pretty much the equivalent of synthetic aperture radar, just aimed at the ground.

The problem is that in scanning the ground, you get large amounts of diffraction from targets. I'm trying to get rid o ...[text shortened]... improve the resolution. Which is a lot harder than it sounds, so any suggestions I'm open to.
I think the guys that are using them to see through rubble might solve for the close targets, so you can reconstruct the beam as if they didn't exist. Can you do that?

Vote Up
Vote Down

Originally posted by VelvetEars
I wonder what the janitor thought was happening, might believe in ghosts because of you now...

My problem is using ground penetrating radar, which is pretty much the equivalent of synthetic aperture radar, just aimed at the ground.

The problem is that in scanning the ground, you get large amounts of diffraction from targets. I'm trying to get rid o ...[text shortened]... improve the resolution. Which is a lot harder than it sounds, so any suggestions I'm open to.
http://www.eecs.umich.edu/~hero/Preprints/icip06_marble.pdf

I found this paper on 'see through walls' radar. Is this close to what you are doing?

Vote Up
Vote Down

Yeah, that paper's surprisingly relevant. The kind of data output I receive is more like this
http://www.rjmcompany.com/GPR-ground-probing-radar.jpg
and I'm trying to turn the smudge into a point basically.

But I like your approach, definitely give that paper a read-through.

iamatiger: what do you mean by 'reconstructing the beam as if they didn't exist'?

1 edit
Vote Up
Vote Down

Originally posted by VelvetEars
Yeah, that paper's surprisingly relevant. The kind of data output I receive is more like this
http://www.rjmcompany.com/GPR-ground-probing-radar.jpg
and I'm trying to turn the smudge into a point basically.

But I like your approach, definitely give that paper a read-through.

iamatiger: what do you mean by 'reconstructing the beam as if they didn't exist'?
Also, found this wiki piece on fourier analysis, way beyond my math but maybe you can find something there:

http://en.wikipedia.org/wiki/Fourier_optics

Another approach I can think of, to break the diffraction limit, look into negative refractive index materials.

Also, something else came to mind, your image reminded me of wavelet theory:

http://polyvalens.pagesperso-orange.fr/clemens/wavelets/wavelets.html