The Bogey Map (Again) Oversampling and Multidimensional Data

Discussion in 'Official V1Driver Discussion Section' started by mswlogo, Mar 13, 2018.

  1. mswlogo

    mswlogo Premium Member Advanced User Premium Member

    Messages:
    3,150
    Likes Received:
    2,776
    Country:
    United States
    Joined:
    Nov 1, 2014
    Location:
    MA
    A recent comment along the lines of “apps that clump the bogies together” in a negative context inspired this post.

    Multidimensional Data and Display

    The front end(s) (two antenna’s) of the V1 receive an Analog Signal. Analog basically means it has an infinite number of levels. Your voice is analog, a microphone is analog, an old LP Record is analog.

    In order to get that Analog signal to the V1 Display or to a Remote app it needs to be processed and digitized. The V1 returns an 8 bit value for each Antenna strength (for each bogey). That means we get finite 256 “levels”. It does this for the front antenna and the rear, so we get two 256 level values (2 bytes or 16bits).

    When the V1 was introduced some 26 years ago. The inexpensive display technology back then was fairly primitive. Valentine reduced/simplified/summarized these 16 bits of information into about 4.5 bits. 3 bits (8 levels using 8 LED’s) for strength and 1.5 bits for direction (3 LEDs front, side, back). And 2 bits for the Frequency (4 LED's K, Ka, X, Ku).

    The full 16 bits of data is available through the ESP Library. Today, our phones have on the order of 2 million color LEDs. Can we convey more information than 4.5 bits to the user? Yes. How?

    First, I need to explain that the 2 bytes of data from the antennas are converted first. It is converted from front strength and back strength to total strength and a direction. You can still think of the total strength and direction as each being close to a byte each as well (still 16 bits of data).

    You can think of this as “2 dimensional” data. How do we display “2 dimensional” data on a phone? Many ways. One of the simplest is by using an X vs Y grid (or graph). We map strength to the X axis and direction to the Y axis. We set the X axis negative. Meaning, if X is a higher value the that point is further to the left. If X is a smaller value it is further to the right. For Y, a positive value is “In Front”, a negative value is “In the Rear” and around zero is neither front or back (also called Side).

    Remember we have 255 levels for each dimension. And we have like a 1000 LEDs horizontally and a 1000 vertically on the phone screen allocated to the “Bogey Map” (also known as pixels on a screen) to work with.

    So what do you get? You get incredibly higher resolution of information coming from the V1 displayed rather than thrown away by reducing it to 4.5 bits (same as the 26 year old V1 display).

    But what the heck is it showing? It’s giving you a “unitless” relative position of the Bogey (or Bogies). Since we don’t have a 3rd Antenna to the side we don’t know if the front and back antennas are seeing something on the Left or the Right. It’s ambiguous. Anything you see on the Bogey Map could be on either side. The right side is more important (typically) and more common. Falses are typically closer to your right side and LEOs that you are concerned with are more often on your side of the road. So the display shows the "Right Side" of this virtual map (the left side would be a mirror image and not shown).

    But why are the bogey’s all bunched in the corner? What good is that? When you see that, 95+% of the time that is a bunch of door openers in the SAME location. The chances of a real LEO being in that same relative location, outputting the same power is extremely low. And if they are door openers they should be all greyed out because they should be locked out. You can Ignore a bunch of grey bogies bunched together. What you want to watch for is a loner bogey, especially if it’s red (but it could be locked out if you’re in a highly locked out area due to fixed falses). Also typically if you’re getting 5-6 locked out bogey’s bunched together. You’re at the Mall, Home Depot or Walmart. Or you are driving by them in highly dense areas you typically wouldn’t ever speed in. And you’re often under Savvy Speed in those high bogey count situations. Have you ever come close to speeding ticket in front of Home Depot at the traffic light?

    The big Red Dot is YOU and the floating frequencies are the bogies. Try watching for real bogies, when in a real threat situation and watch how that LEO stands out on the Bogey Map and how it often tracks him (most of the time).

    Oversampling

    We can even do better than 255 levels of strength and 255 levels of direction by oversampling.

    Here is the technical description of oversampling https://en.wikipedia.org/wiki/Oversampling

    Lot of math babble we don't need to get into to get the gist. I couldn’t find a simple example on the web so I’m gonna try here. First realize we are trying to increase the “resolution” (the accuracy) since we have a little bit of extra time on our side.

    Let’s say I have 2 floor sensors that detect if a ball hits on one sensor or the another. And I’m standing to the side and tossing the ball at some target near the middle. My aim isn’t perfect and has some random error to it. If I toss the ball far to the left every time, a 100 times, the left sensor will be at a 100 and the right will be at 0. If I toss the ball far to the right the right sensor will be at 100 and the left will be at 0. Now I aim for the target that’s near the middle (but still to one side).

    I throw the ball ONCE. And the left Sensor fires. Where is the target? How accurately do you know where it is? All you know is, it might be left of center. Now throw the ball 100 times at the target. And left sensor hits 60 times and right sensor gets hit 40 times. Now you probably have much closer idea where that target is and can be pretty darn sure it’s on the left (even with my bad (noisy) aim). And it’s probably close to the center.

    Now move the target further away from center. Throw the ball ONCE again. The left sensor fires again. Where is the target now? You have no idea the target even moved. Now throw the ball 100 times again at the target. Now you get 90 on the left and 10 on the right. Is the target further to the left? Of course it is. By taking more samples you have more accurate information. You’ve oversampled the data over time. Using the same primitive 2 sensors and got more accurate information.

    This is what V1Driver does. The noisy bogie information comes in about 6x a second (I forget the exact number and it varies). What if I combined those 6 samples a second for 3 seconds. Now I have 18 samples to work with. So I effectively now have 2 more bits of accuracy (4x the resolution I had). Now a Total of 10 "effective" bits. 10 bits of strength and 10 bits of direction. That’s 1,000,000 unique positions on the 2 dimensional map (that's about how many pixels we have to work with). Well it’s not that perfect. Even though the V1 returns 16 bits it doesn’t mean that full range is taken advantage of. But it’s way more than 4.5 bits that V1 displays. And the oversampling is a very real increase in data accuracy.

    Not only is the data oversampled and more accurate, it’s also less noisy and more stable. So the bogeys are not dancing around on the map (or dancing up and down the list because the strength dictates position in the list).

    The Frequency is also oversampled, so the lower significant digits don’t dance around on you.

    The Voice will announce the Frequency and direction of the very first packet that has NOT been oversampled, to notify you early. So what you see on the screen might differ slightly. The Number of bogey’s the V1 sees and V1Driver displays might vary some too. The Oversampling helps V1Driver know if it's 1 bogey or two. You can adjust how much oversampling you want in the presentation settings (in seconds).

    Polar Map

    The description above still holds true and what V1Driver does when it displays what I call the "Bogey Map View" and I have now introduced a new "Bogey Polar View". When I first worked on this I was thrilled to get anything that gave you more than just Front, Side and Rear information. Also an artifact of the way the V1 reports it's strengths is that as you get closer to the source you tend to lose front to rear resolution. So it looks a little "Polar-ish" but it really is not. But I was presenting it as something polar-ish and that was understandably confusing. Even though it was a very useful "bogey map". When a recent new user asked what would it mean if the a Bogey was at "12 O'clock", which was a great question, I realized I had problem. You will never get a Bogey at 12 O'clock on the original "Bogey Map".

    Turns out it really didn't take all that much work to make it a true "Polar Plot". And there are Pro's and Con's of each Bogey View. So I decided to keep the original Bogey Map. But to more accurately present it, I now put a Square Grid on the original Bogey Map and reserved the Circular Grid for the new Polar Map. I also changed the Red Dot to a Red Bar. Because on the Bogey Map, technically, a Strong Bogey could be any where on the Left Side and be front, side or rear. But because of the lower resolution that tends not to happen much that a strong signal is far from the center (vertically).

    So on the original Bogey Map if you encounter a weak Bogey dead ahead it will Start in the upper right hand corner (as it always has). As you approach it, it will tend to move diagonally towards the left center. And as you pass the bogey, it will tend to move diagonally to the lower right.

    Now for the Polar Map. Now a weak Bogey that is dead ahead will start at 12 O'clock. As you approach the Bogey it tend to travel along an arc like path. At the same time it will often gain strength and also come "at you" towards the "Red Zone". I've expanded the Red Zone (from a Dot) because you would lose the heading (angle) in the "Dot" on the Polar Map. The Red Line is "8 LEDs". If the Bogey is in front of you it should be on the top half, if it's in the rear it should be on the bottom half (regardless of strength). What's nice (and bad) is the Polar plot naturally has less resolution of angle near the center. So it's a better match to the behavior of the V1.

    Normally in a "Polar Plot" the Distance from the Center to a Point out on the Graph represents "Magnitude" (length of the Vector or the Radius). In this use case, it's inverted. The closer to the center of the plot the stronger the Magnitude. To get as close to an Air Port Traffic Control monitor looking map, I did try drawing a Vector towards (or away) for the Ramp Rate, which is basically the Speed Bogey is approaching or retrieving. It sort of worked, but added more clutter and not all that much more value. So I left it out for now. The little Ramp Lever is that indicator. If it's ramping up it should be up and if ramping down it should be down and green.

    I mentioned Pro's and Con's. The Polar View is a more natural presentation. But it also tends to "compress" the information as signals get stronger and cause more text collisions. The Original Bogey Map tends to maximize keeping Bogey's "relative" position unique on the Map. But it's not as natural to visualize. I do have some ideas to minimize collisions. But keep in mind, real threats tend to be loners on either Map and you tend to not have that many Bogey's when you are susceptible to a ticket. It's not meant for Mall Parking lots, as is Auto Snooze isn't either.

     
    Last edited: Apr 26, 2018
    Deacon, mikedotd, Flonase and 6 others like this.
  2. mswlogo

    mswlogo Premium Member Advanced User Premium Member

    Messages:
    3,150
    Likes Received:
    2,776
    Country:
    United States
    Joined:
    Nov 1, 2014
    Location:
    MA
    Sorry for the Delay. But I added a new Section to the Opening Post that explains the differences in the new Polar view vs the old Map view.

    I will try to post a Video tonight. I need to psyche myself up to produce narrated videos ;), they are not that easy and often take several takes, I'm just now always up to it.
     
  3. mswlogo

    mswlogo Premium Member Advanced User Premium Member

    Messages:
    3,150
    Likes Received:
    2,776
    Country:
    United States
    Joined:
    Nov 1, 2014
    Location:
    MA
    Video finally added to opening post.

    FYI, using the Mac and Quicktime to record the iPhone Screen Video was always a little goofy/quirky, but man, it's pretty much BROKEN now (all native apps from Apple, all on Apple Hardware, all latest versions).
    Any way, I didn't realize you can now do the whole thing native right on the phone. Pretty cool, and worked flawlessly. No 3rd party apps needed. It seems to attenuate the Audio of anything coming from the phone while recording which is why V1Driver was a bit too loud in the recording I posted, sorry about that. You've been warned ;)
     
  4. mswlogo

    mswlogo Premium Member Advanced User Premium Member

    Messages:
    3,150
    Likes Received:
    2,776
    Country:
    United States
    Joined:
    Nov 1, 2014
    Location:
    MA
    So much for the "flawless comment". There is bug on the embedded recorder on the iPhone that inserts an extra blank track that is the "default" on some players (you tube). Played fine with every player on Mac or Windows but not when uploaded. I ended up using ffmpeg (this tool has saved my ass so many times) to swap the audio tracks (without re-encoding, which is a pet peeve of mine to try to always avoid). Any way new Video is uploaded. Not as boring or long as the Settings one :)