brainwagon "There is much pleasure in useless knowledge." — Bertrand Russell

1Dec/091

Wolves And Rabbits

I really like programmpraxis.com. Today, they had an interesting little task, not so much for the program itself, but for what it reminded me of. But first, the task: basically to simulate a simple set of differential equations which model a predator prey relationship. It's not that hard really, this just implements the model using a Runge-Kutta integrator.

Wolves And Rabbits « Programming Praxis.

#!/usr/bin/env python

# http://programmingpraxis.com/2009/12/01/wolves-and-rabbits/

def population(r, w, rg, wg, rd, wd):
    def dr(x, y):
        return rg * x - rd * x * y
    def dw(x, y):
        return wg * x * y - wd * x 
    while True:
        yield r, w
        rh = r + dr(r, w) / 2.
        wh = w + dw(w, r) / 2.
        r = r + dr(rh, wh)
        w = w + dw(wh, rh)


g = population(40, 15, 0.1, 0.005, 0.01, 0.1)

for x in range(201):
        r, w = g.next()
        print r, w 

If you plot out the data, you get curves looking like this:

wolves-rabbits

This reminded me of an article by A. K. Dewdeny from Scientific American back in December of 1984, entitled Shark and fish wage an ecological war on the toroidal planet Wa-Tor. Wator was an implementation of a shark/fish predator prey model, but displays a similar set of interleaved periodic population changes. Unlike this program though, it works by directly simulating the world by creating individual sharks and fish, and modeling their interactions. It was a fun, simple project which didn't require any real understanding of mathematical methods.

Filed under: General 1 Comment
1Dec/090

Satpack: Arduino Satellite tracking and doppler tuning

Bruce, VE9QRP has a nice video demoing his qrpTracker code (open source) running on an Atmel AVR microcontroller and tracking the Doppler of a cubesat as well as AO-51. Nifty.

httpv://www.youtube.com/watch?v=XgNcCGXeRyw

Addendum: Back in January of 2008, I acquired my (then) new FT-817, and one of the first projects I did was to use my own implementation of Plan 13 to automatically tune the radio to follow a satellite's Doppler shift. Here is my first recording of the (recently defunct) satellite LO-19.

1Dec/090

A night of WSPR spots…

Got some interesting spots overnight. VK6BMW is located in Perth, Australia, which is pretty close to the maximum distance I've heard before. PA0LSK is in the Netherlands (any European spots are pretty rare for me). CO7WT is my first Cuban station spotted I think. Not a bad night.

Timestamp Call MHz SNR Drift Grid Pwr Reporter RGrid km az
 2009-12-01 08:52   VK6BMW   10.140182   -22   0   OF87ax   10   K6HX   CM87ux   14747   66 
 2009-12-01 10:18   VK5EX   10.140142   -23   0   PF95ha   10   K6HX   CM87ux   13015   61 
 2009-12-01 09:02   K6HX   10.140207   -31   0   CM87ux   5   VK2GOM   QF56if   12001   241 
 2009-12-01 08:54   VK2GOM   10.140215   -21   0   QF56if   5   K6HX   CM87ux   12001   56 
 2009-12-01 10:14   K6HX   10.140216   -24   0   CM87ux   5   VK2AWD   QF56ng   11966   241 
 2009-12-01 10:16   VK2AWD   10.140183   -19   -1   QF56ng   5   K6HX   CM87ux   11966   56 
 2009-12-01 08:34   K6HX   10.140210   -26   0   CM87ux   5   VK4ZBV   QG62ml   11417   245 
 2009-12-01 10:58   PA0LSK   10.140189   -27   0   JO21ur   5   K6HX   CM87ux   8838   321 
 2009-11-30 16:06   K6HX   10.140210   -25   0   CM87ux   5   JQ2WDO   PM95gi   8374   304 
 2009-11-30 22:28   CO7WT   10.140203   -23   0   FL11   1000   K6HX   CM87ux   4684   303 
 2009-11-30 16:54   K6HX   10.140210   -26   0   CM87ux   5   KB3EDF   FM18rh   3959   75 
 2009-12-01 12:36   KB3EDF   10.140122   -23   0   FM18rh   5   K6HX   CM87ux   3959   284 
 2009-12-01 13:24   WB3ANQ   10.140182   -20   0   FM19rc   1   K6HX   CM87ux   3938   283 
 2009-11-30 16:42   K6HX   10.140198   -25   0   CM87ux   5   W3GXT   FM19ol   3908   73 
 2009-11-30 16:28   W3GXT   10.140202   -21   0   FM19ol   5   K6HX   CM87ux   3908   282 
 2009-11-30 19:08   KB3VR   10.140251   -27   0   FM19la   5   K6HX   CM87ux   3898   283 
 2009-11-30 16:42   K6HX   10.140207   -23   0   CM87ux   5   KB3VR   FM19la   3898   74 
 2009-12-01 12:44   W3BCW   10.140190   -20   0   FM19ka   2   K6HX   CM87ux   3891   283 
 2009-12-01 12:46   K6HX   10.140209   -21   0   CM87ux   5   W3BCW   FM19ka   3891   74 
 2009-12-01 12:54   K6HX   10.140209   -27   0   CM87ux   5   W3CSW   FM19kd   3888   74 
 2009-12-01 12:40   W3CSW   10.140264   -19   -1   FM19kd   1   K6HX   CM87ux   3888   283 
 2009-11-30 16:10   W3HH   10.140156   -24   0   EL89vb   1   K6HX   CM87ux   3814   296 
 2009-11-30 20:46   K6HX   10.140215   -25   0   CM87ux   5   W3HH   EL89   3721   93 
 2009-11-30 23:28   KN4QD   10.140176   -22   -1   EM94   0.01   K6HX   CM87ux   3690   288 
 2009-11-30 23:36   K6HX   10.140221   -21   0   CM87ux   5   KN4QD   EM94jd   3687   84 
 2009-11-30 23:54   KD4VQT   10.140198   -15   1   EM74we   5   K6HX   CM87ux   3432   288 
 2009-12-01 00:12   K6HX   10.140212   -28   0   CM87ux   5   KD4VQT   EM74we   3432   85 
 2009-11-30 21:22   K6HX   10.140216   -25   0   CM87ux   5   AI4RY   EM72go   3374   89 
 2009-11-30 22:06   AI4RY   10.140114   -23   0   EM72go   1   K6HX   CM87ux   3374   291 
 2009-11-30 22:32   K6HX   10.140222   -26   0   CM87ux   5   K8ZJC   EN81eo   3300   71 
 2009-11-30 21:48   K6HX   10.140274   -21   0   CM87ux   5   N4QLB   EM73br   3295   87 
 2009-11-30 21:44   N4QLB   10.140122   -28   0   EM73br   5   K6HX   CM87ux   3295   289 
 2009-11-30 21:22   K6HX   10.140233   -20   0   CM87ux   5   W8JAQ   EM79tk   3270   75 
 2009-11-30 17:16   K6HX   10.140210   -17   0   CM87ux   5   W9HLY   EN70mt   3199   72 
 2009-11-30 16:10   W9HLY   10.140108   -19   0   EN70mt   1   K6HX   CM87ux   3199   277 
 2009-11-30 16:28   W3PM   10.140214   -26   0   EM64or   1   K6HX   CM87ux   3180   287 
 2009-11-30 22:54   K6HX   10.140207   -27   0   CM87ux   5   W3PM   EM64or   3180   86 
 2009-11-30 22:54   K6HX   10.140209   -13   0   CM87ux   5   WC9C   EM69hh   3017   76 
 2009-11-30 20:42   K3SIW   10.140229   -12   1   EN52ta   5   K6HX   CM87ux   2904   273 
 2009-12-01 14:08   K6HX   10.140209   -22   0   CM87ux   5   K3SIW   EN52ta   2904   70 
 2009-11-30 16:08   K0VM   10.140237   -16   -1   EN42db   1   K6HX   CM87ux   2629   270 
 2009-11-30 16:42   K6HX   10.140227   -16   0   CM87ux   5   K0VM   EN42db   2629   70 
 2009-11-30 16:06   K6HX   10.140212   -12   0   CM87ux   5   K9LDW   EM12sr   2406   96 
 2009-12-01 05:52   WA5ETV   10.140184   -26   -1   EM15jm   1   K6HX   CM87ux   2245   284 
 2009-12-01 12:58   VE5TLW   10.140117   -21   0   DO70qj   10   K6HX   CM87ux   1963   232 
 2009-12-01 13:44   K6HX   10.140215   -17   0   CM87ux   5   VE5TLW   DO70   1946   39 
 2009-12-01 07:54   W0NAC   10.140171   -26   -1   DM79   2   K6HX   CM87ux   1503   269 
 2009-11-30 17:24   K6HX   10.140182   0   0   CM87ux   5   WA7HL/P   DM51ck   1353   119 
 2009-11-30 22:20   K6HX   10.140215   -10   0   CM87ux   5   KS7S   DM41un   1306   120 
 2009-11-30 21:46   KS7S   10.140182   +2   1   DM41un   5   K6HX   CM87ux   1306   306 
 2009-11-30 17:42   K6HX   10.140208   +2   0   CM87ux   5   N4ABN   DM59pd   1187   80 
 2009-11-30 17:48   N4ABN   10.140141   +10   0   DM59pd   5   K6HX   CM87ux   1187   268 
 2009-11-30 16:12   WA0UWH   10.140166   +1   1   CN97bv   5   K6HX   CM87ux   1103   182 
 2009-12-01 15:52   K6HX   10.140251   +2   0   CM87ux   5   KB7GF   DN06ta   951   19 
 2009-11-30 16:02   WA7KGX   10.140275   -22   0   CN85no   10   K6HX   CM87ux   849   177 
 2009-11-30 17:16   K6HX   10.140201   -2   0   CM87ux   5   WA7KGX   CN85no   849   357 
 2009-12-01 04:58   K6HX   10.140216   -17   0   CM87ux   5   K6UM   CN85mh   817   356 
 2009-12-01 04:56   K6UM   10.140184   -16   0   CN85mh   1   K6HX   CM87ux   817   176 
 2009-12-01 05:26   K1BAA   10.140188   -12   0   DM04xa   5   K6HX   CM87ux   583   320 
 2009-11-30 18:26   K6HX   10.140217   -20   0   CM87ux   5   NN6RF   CM87uw   5   180 
 2009-11-30 18:10   NN6RF   10.140212   -12   0   CM87uw   5   K6HX   CM87ux   5   0 
Filed under: Amateur Radio No Comments