24 October 2010

State High School Marching Band Competition



Yesterday we went to the Colorado Bandmaster's Association State 4A/5A High School Marching Band Finals held at Falcon Stadium at the Air Force Academy near Colorado Springs.

First I have to say how amazing each and every band performed! I'm very impressed by the level of performance shown by all of these kids. I think that are far above where I remember my high school band, and possibly college bands at the time as well.

I was planning to take pictures of Arapahoe's band and color guard during the semi-finals, since it was during the afternoon when there would be plenty of natural light. We got a phone call from one of the color guard parents asking for help moving the large props that are used during the performance, as not all of the volunteers that they had arranged for had been able to make it. We were happy to help out, but it was a lot of work to wheel them down the hill from the parking lot, and into the tunnel leading to the field. It turned out that the tunnel wasn't quite as tall as they expected, and the candy cane tubes were slightly taller than they thought, so they were a few inches too tall! We tipped a couple of the at an angle to get them through, but decided that was taking too much time. We discovered that removing one of the tie-down straps that attaches the tube to the base allowed the top tube to drop down just enough to clear the top of the tunnel. A quick re-adjustment on the other end of the tunnel, and everything worked out just fine.

Unfortunately, that meant that our vantage point for their afternoon performance was from behind the end zone, instead of high up in the stands, and without my camera...

Arapahoe placed fifth in the semi-finals, so they moved on to the finals in the evening. We were told that there should be plenty of volunteers for the evening, so that we could return to the stands to watch. Even though the 4A finals were first, we wanted to watch, since we've seen some of the 4A bands at some of the other competitions.

During the Loveland High School Band performance, the woman sitting directly behind me was constantly "cat-calling" and "hooting and hollering" so loudly that I couldn't hear the band at all! I tried moving over into the empty seat next to me so that i wasn't directly in front of her, but it didn't really help... At the end of their performance, as the women was gathering her things, she hit me in the head with her bag! She muttered "sorry" and I turned around to tell her "that wasn't as bad as all of the screaming..." She then told me that "if I didn't want any noise, that I shouldn't have come." I told her that I came to hear the bands, not the parents... She then had the gall to tell me that I "should have sat somewhere else..." as if I had some choice about sitting in front of her... What a b****... I guess there isn't much "love" in Loveland... ;-) This is as bad as Little League, where the parents behave worse than the kids, and are more competitive. You know, I think that if she had said "sorry" that she "just got excited when her kids were performing" I probably would have gotten so irritated... But when she turned it back to become MY fault, it really made me angry!

Loveland ended up in second place, behind Air Academy High School, who are very impressive with their speed and precision in their formations. Loveland's show incorporates spreading several enormous tarps on the field in the shape of a crescent moon, one of the elements of their show. It takes an inordinate amount of time to lay out all of the pieces, which have to be taped together in places to hold them down. Last night, two of the kids fell on them. A trombone player seemed to have tripped over one of the edges, and one of the color guard girls seemed to have lost her footing on the slippery surface. I hope that both of the kids are OK...

Arapahoe had perhaps their best performance of the season in the finals. Since they are a smaller band than most of the other 5A bands, they don't seem to project as well as the other bands. They have a great show, though, and did very well. The color guard did a great job, with only a couple of little slips. Overall, the judges marked them 0.4 points lower than Douglas County, so they finished in fifth place in the finals as well. They were rated fifth in the state going into the competition, so really they did as well as expected. See all of the scores here.

Being somewhat new to this, I have a few observations about band competitions in general.

One of the things I find interesting is that the bands are lead by student drum majors, not by the band directors... They do an awesome job of directing, and have amusing salute routines when they start and finish, and during the award presentations. However, I guess that I object somewhat to them being spotlighted so much more than the rest of the band members. Most of them are in different uniforms than the band, which seems unnecessary to me... We can tell that they are the drum majors when they climb onto the stand. Also, some of the bands have their drum majors, who are predominately girls, dressed in evening gowns. While elegant, it doesn't seem to fit in with a "marching band."

Another thing that surprises me is that all of the bands have a "percussion pit" that seems more suited to a concert band than a marching band. Lots of bells, marimbas, and xylophones, chimes, timpani, gongs, etc. Some of it seems like gratuitous use of as many percussion pieces as possible, whether warranted or not. Some of the bands also have electric bass and guitars, and synthesizer keyboards, which are hardly classic marching band instruments. I also notice that none of the bands use handheld cymbals in the drum line, only in the percussion pit. The exhibition performance while the judges tabulated the results was by the University of Northern Colorado band, who didn't use any percussion pit, and had four cymbals in the drum line that worked very nicely.

I also think that some of the elaborate scenery pieces, particularly the tarps spread on the field, like Loveland uses, are both unnecessary and dangerous. Having to step on and off of different surfaces while marching backwards seems like too big of a risk to make it worthwhile. Douglas County High School uses tarps, too, but much smaller than Loveland, and only in one corner of the field. I think that they start out on the tarps, but I don't think that they return to them during the performance.

Again, though, I was very impressed with all of the bands, and congratulate everyone who participated, as a performer, parent or staff. Its obvious that everyone puts a tremendous amount of effort, and lots of practice time, and it all showed on Saturday.

23 September 2010

Car Computer vs. Droid

I've been meaning to post something about this for some time, but haven't had a chance...

Last year, I was making some plans to install a computer in my car, to use for navigation, entertainment, etc.

However, in February, I upgraded my cell phone to an Android phone, a Motorola Droid from Verizon.

What I've realized is that everything that I wanted to do with the car computer, Droid does!

I was planning to take my old G4 Mac Mini, and mount it in the trunk. I found a power supply from Carnetix that works with the Mini, and will wake or sleep the computer with the ignition. I found a head unit from Xenarc that is a standard DIN unit that would fit in the dash of my Jetta. The Xenarc has a DVI input to connect for the video on the Mini. It uses a touch screen, which connects to the computer as a USB mouse. It has the amplifier and radio tuner, a volume control, balance and fader, tone controls, etc. so that it works as the head unit even without using the computer.

I have an old Garmin GPS-III, with a serial cable and USB adaptor to use for navigation, using RouteBuddy as the software.

Since the Mac Mini can play DVD's, and has iTunes for music, it would be easy to use for in-dash entertainment. I was thinking that Front Row would make a decent interface to use in the car. I found a plug-in framework called FrontPython that allows adding other applications to Front Row. I was going to build a FrontPython plug-in to add RouteBuddy to Front Row to make it easy to access.

When I got my Droid, I also got the car dock, which is a suction-cup mount that the Droid clips into while driving. The phone works well enough using the speakerphone that I use it for hands-free operation. The Google Maps navigation works great, especially with the voice search. I have used DoubleTwist to sync my iTunes library to the Droid, so I have music available if I wanted. Since the Droid uses a standard 3.5mm headphone jack, I could plug the Droid into auxiliary input on my existing car stereo. I can also stream video from a variety of sources, so I can get plenty of entertainment from the Droid, including email, web, testing, twitter, etc.

Part of my reason for wanting the car computer was to keep me occupied on the frequent occasions that I was sitting in the car waiting for kids. With the Dorid, I have plenty of entertainment, and navigation, in my pocket at all times.

17 July 2010

A Lightweight Approach to Wireless Access Point Geolocation

By Brad Tombaugh 17 July 2010
Brad@Tombaugh.org
www.Tombaugh.org
Brad@FullCircleTechSolutions.com
www.FullCircleTechSolutions.com
BTombaugh@gmail.com
Tombaugh.BlogSpot.com

Draft 1.0

Introduction:



One of the side-effects of "wardriving" to detect the locations of wireless access point (WAP) using a mobile device such as a laptop computer with a GPS is that all of the locations of the WiFi hotspots all appear on a map at the location where they were detected, not where the source of the radio signal originates. This generally means that all of the mapped locations of detected networks are marked in the middle of a street.

Theorum:



The geographic location of a wireless access point (WAP) can be approximated by recording the GPS coordinates and signal strength in three or more locations. The point of origin can then be calculated using trilateration.

To optimize efficiency for use with a mobile device such as a smartphone, use of a simple algorythm to capture four points, corresponding to the minimum and maximum latitude and longitude coordinates where the signal from the WAP can be conveniently measured.

Assumptions:



The maximum signal range of a typical commercially produced, consumer-grade wireless access point is roughly 300 ft or 100m.

Since most commercial wireless equipment is provided with an omni-directional antenna, its assumed that the radio signal radiation pattern can be expected to be roughly circular.

While buildings and terrian can reduce the range of wireless signals, in a typical residential area the interference could be assumed to be roughly equal in all directions. Thus, it can be safely ignored when estimating the location of the access point.

The radiated power of the wireless radio signal decays using the inverse square law, decreasing exponentially with distance. The further from the source of the signal, the lower the power reading.

The radiated power of a typical wireless access point can be expected to be in range of a maximum of -10dBm to a minimum usable signal strength of -95dBm.

Due to a maximum distance of less than 500 feet, simple Cartesian coordinates could be used, rather than great circles or Vincenty's Formula.

The observed wireless access points are assumed to be stationery, remaining in a fixed position. I.e. not another mobile device, but a wireless access point/base station.

Approach:



To estimate the actual geographic location coordinates of a wireless access point in a residential or commercial building, readings are typically taken with a laptop computer or wi-fi equipped smartphone. A built-in or externally connected GPS is used to record the coordinates where a signal reading is taken. In practice, readings are generally taken while driving in a moving vehicle on a public street, or perhaps walking with a smartphone. Typical practice for "wardriving" applications such as KisMac are to record the GPS location at the first point where a reading of a particular wireless access point is acquired. The Basic Service Set Identifier (BSSID) and MAC address are recorded for identification. The deficency of this practice is that all of the recorded wireless access points appear to be on streets when the coordinates are mapped, and do not reflect the true origin of the wireless access point.

Commercial applications like SkyHook Wireless record a large number of readings from many points, and use a server-based application to aggregate the results. This approach is impractical for a single laptop or mobile device.

Rather than collecting a large number of points, only three points are needed to trilaterate the location. The question is how to determine which of many possible points should be recorded. My approach is a simple process to record coordinates and signal strength at the four "corner points" with the minimum and maximum values for latitude and longitude. This can be determined using a simple calculation to see if the observed point is greater than the previously recorded maximum for either latitude or longitude, or if the point is less than the previously recorded minimum values.

Once four points have been collected, the approximate location of the origin can be calculated by determining the intersection of four circles representing the recorded coordinates as the origins of each circle, having a radius relative to signal strength reading.

Since Android smartphones report the signal strength in dBm, ranging in value from -10dBm maximum signal strength, to a minimum detectable signal strength of -100dBm, it is easy to approximate the distance from the source by using the absolute value of the signal strength as the distance in meters. This correlates to an approximate distance of 30ft or 10m where the signal strength is the strongest, to approximately 300ft or 100m where the signal strength is the weakest.

Calculation:



Calculation of the intersection of four circles is based on this article at Mathworks:

yes, four circles n radii is known..... all are different radii also...... can u tell me the algorithm for it...... i must find center for the intersection area also.......... i hav an image to show the intersection area made by four circle but i don know how to post it..... recommend any site to post pic for view......

Ok, if the radii are known, then just do this. We know the equations of each circle.


(x - x1)^2 + (y-y1)^2 = R1^2
(x - x2)^2 + (y-y2)^2 = R2^2
(x - x3)^2 + (y-y3)^2 = R3^2
(x - x4)^2 + (y-y4)^2 = R4^2


Subtract one from the rest. Thus


2*(x2 - x1)*x + 2*(y2 - y1)*y = R2^2 - R1^2 + x1^2 - x2^2
2*(x3 - x1)*x + 2*(y3 - y1)*y = R3^2 - R1^2 + x1^2 - x3^2
2*(x4 - x1)*x + 2*(y4 - y1)*y = R4^2 - R1^2 + x1^2 - x4^2


This is a linear system of 3 equations in the two unknowns (x,y). Solve using backslash (\ operator in Matlab).


A = 2*[(x2 - x1),(y2 - y1);(x3 - x1),(y3 - y1);(x4 - x1),(y4 - y1)];
rhs = [R2^2 - R1^2 + x1^2 - x2^2 + y1^2 - y2^2; ...
R3^2 - R1^2 + x1^2 - x3^2 + y1^2 - y3^2; ...
R4^2 - R1^2 + x1^2 - x4^2 + y1^2 - y4^2];

xy = A\rhs


This will derive an estimate of the center coordinates.

See an illustration.

Alternate Calculation:



Since the calculation of the intersection of four circles is rather complex to perform on a mobile device, we can approximate the position by determining the bounding rectangle where the four minimum and maximum latitude and longitude points where the wireless signal was detected. This may not work in all cases, but can serve as an illustration of the approach. In particular, this approach would not yeild good results for cases where there are not detection points from at least three sides. The origin of the signal would have to be contained within the area defined by the detection points.

We can further refine the bounding rectangle which should contain the origin of the signal source by determining the boundries implied by the relative signal strengths measured at each of the points. For example, if the signal strength measured at the northern-most point was -90dBm, we would assume that the source of the signal must be within approximately 90m south of the coordiantes recorded. By calculating the coordinates with maximum distances from the points of detection, based on the signal strengths measured at each point, we can determine a small area bounded by these points. There should be a high probability that the source of the wireless signal originates from within this bounding rectangle. Taking the geometric centroid of this bounding rectangle should approximate the origin of the wireless signal.

This can be illustrated by the interactive map linked here. The white circle drawn in the center of the map represents the actual location of the wireless access point, or the origin. The blue circle represents the approximate range from the northern-most point of detection, based on the signal strength. The yellow circle represents the eastern-most point of detection, the red circle for the southern-most, and the orange circle representing the western-most point of detection.

From this set of coordinates, we can draw a bounding rectangle shown in purple, which represents the range of coordinates where the wireless signal could be detected. Based on the layout of streets and accessability of the area, the actual origin of the signal could be contained with this bounding rectange if the points of detection were accessible from at least three sides, or possibly all four sides. However, in cases where the wireless signal can only be observed from one side, such as a facing street, the bounding rectangle defined by the points of observation would not encompass the origin, but would be adjacent to it.

Because we cannot be certain that the set of detection points actually enclose the point of origin, and to determine the smallest possible area with the highest probability of containing the point of origin, we calculate a bounding rectangle by determining a set of points which are the furthest possible distance from the minimum and maximum geographic coordinates based on the measured signal strength.

The bounding rectangle shown in green on the map below represents the most likely boundries in which the signal originates, by calculating the distances infered from the measured signal strength at the extreme coordinates where the wireless access point could be detected.

Implementation Approach:



The Android smartphone environment is well suited to this approach, since it combines a wireless network transceiver, with signal strength reported in dBm, with a GPS receiver with good precision, along with enough computing power and data storage to record the detected coordinates. The Android-Wardrive application by Raffaele Ragni is particularly well-suited to this approach because it already records its data in a Sqlite3 database. It also shows a map of the detected wireless access points using the Google Maps API, and can export to an online database or a Google Earth KML file.

The first step to implementing this approach would be to extend the Sqlite3 database schema to include four additional coordinate pairs as well as their signal strength. The existing coordinates could be retained to map the initial point of detection, and could be updated by the geolocation calculation.

Due to the computing overhead involved in performing the calculations, it would not be recommended to attempt to calculate the geolocation in real time. There will be significant amount of additional overhead in collecting the additional data points, especially in an area with multiple wireless access points. Additionally, the method for geolocation requires that a reasonable survey be completed to detect the greatest diversity of locations for best results.

During the initial detection of a new wireless access point, in addition to logging the current geographic coordinates and BSSID, the initial coordinates and signal strength should be written to each of the peripheral coordinate pairs.

With each subsequent reading, the current location point would be compared with the four peripheral coordinate points. If the new reading is further North (current latitude > stored Northern latitude) then the new coordinates (both latitude and longitude of the current location) along with the signal strength should be written as the Northern-most coordiantes. If the new location is further South (current latitude < stored Southern Latitude) than the current location coordinates (both latitude and longitude) and the signal strength should be stored as the new Southern-most point of detection. Similar comparisons should be made for each of the extreme East and West points of detection using the maximum and minimum longitude. It is both possible and likely that during the initial data collection, each new point detected could replace two of the previously recorded coordinate pairs.

The geolocation calculation could either be added as an addition option under the menu, or could be combined with the Export to KML option.

23 January 2010

Getting ready to watch Madisen Beaty (@madisenofficial) in "The Pregnancy Pact" on Lifetime