Sunday, March 27, 2011

The Relentless Pursuit of Perfection

I have been accused in the past of being a perfectionist. I don't think the moniker fits, but I do try hard to do well in the tasks I take on. And I must say, baking a good loaf of bread is quite a challenge.  As I detailed in an earlier post on the topic, making good bread is as much an art as it is a science.  There are a lot of different things going on in sourdough, which is surprising given that it is as basic as a bread can be: flour, water, and salt.  No instant yeast, no eggs, no extras.

The essence of the bread's flavor comes from the starter.  The starter is a mix of flour and water that has had the good fortune of some wild yeast stopping by and taking root.  There are two kinds of bacteria that are at work here, and the two contribute a different flavor to the bread depending on their proportion.  I can't be assed to look up the details of what they're called, and which contributes to the sour flavor and which contributes to more rise.  But I do know that I wanted a little more sour flavor than I got out of Try #12.

So for Try #14, I took the same approach as Try #12.  To my half batch of Basic Country Bread from the Tartine Bread book, I did as before and built my leaven from only a half teaspoon of my starter that is now being fed twice a day (see here on why you want to use so little starter if you want more sour).  The smell of that starter has only the slightest hint of sourness to it after letting it reach its peak and letting it come down a bit.  But this time, I also added a half teaspoon of pretty powerful smelling starter from my discard container.  My thought was that I'd get the good rise I did on Try #12 thanks to the vigorous starter, and some extra sour flavor from the discard.  I also presumed that the discard wouldn't do much to change the rise time of the dough since it is pretty burned out by now.  In a nutshell, the fresh starter would give me rise and the old starter would give me flavor.

I whipped up a batch yesterday and otherwise followed the same guidelines as Try #12 (Try #13 was the disaster I had trying to push a 40% rise during the bulk ferment: let us never speak of it again).  My rise with this extra starter was actually a coupler hours longer this time than last time.  Remember, I am going for a 30% rise and will wait as long as I need to to get it.  Was the rise slowed somehow by the addition of the old starter?  I don't think so.  I think it is more likely that it was cooler in the house this weekend, so that just slowed everything down.

Let's cut to the chase, shall we?  How did it turn out?
Try #14
I got my best rise yet this time around with a crumb that is nice and open.  But did I get more of a sour flavor?  Indeed!  The 50-50 mix of the starters gave noticeably more tang to Try #14 than Try #12 without any old starter.  The bread went great with some eggs done over easy and some turkey bacon on the side.  It was stellar toasted in the toaster oven with some ham, old cheddar cheese, and grainy mustard on top.  It will be interesting to see how the flavor develops as well: we've found that the sour flavor builds a day or two after baking.

I might try even more old starter next time around just for grins, but I now think I'm at the point where I can call this bread a job well done.

Sunday, March 20, 2011

Davis Frequency Hopping Sequence Revealed!

I finally got my Open Workbench Logic Sniffer (ie logic analyzer) and got a chance to try it out this weekend. It is a powerful little device for $50.  There's also been some great work done on the VHDL code that gives it some powerful triggering capabilities equivalent to that of an HP unit not that many years gone by.  I like it.
I could have walked to Hong Kong in the time it took to get this
First thing I did was hook it up to the Davis VP2 console and see if I could sniff the configurations between the processor and the RF chip.  And whaddya know.
Purdy
Astute readers will see (click to embiggen) that the first two bytes decoded on the MOSI line (0x03, 0x02) sync with that in my earlier investigation using my scope.  It works!  Needless to say, using the logic sniffer goes much quicker.

One thing that was quite nice with the logic analyzer client is the built in protocol analyzers.  You tell it what pins map to what signal lines for a given protocol (SPI in this case), and it comes up with a table much like my first post on the topic.  It shows the time offset from the trigger for the start of each byte and the decoded value.  You can then export the data to a CSV file. Nice.

The problem I had was that the analyzer's buffer is nowhere near long enough to capture the data across 51 frequency hops.  About the most I was able to capture at this rate was a half second, and the station takes 51 * 2.5 seconds = 127.5 seconds to go through them all.  The answer was to use the console's display of what frequency index it was on (Hold Temp and then press Humidity, then 2nd Chill).  I'd just hit the trigger button on the analzyer between a transmission, analyze and save the data, rinse and repeat.  The console goes faster than I can do this, so it took many passes through the sequence before I had all 51 entries.  And here they are.



Here are what the columns mean:
  • Chan is the channel number as displayed on the console
  • FREQ_2A, FREQ_1A, and FREQ_0A are the three registers that need to be configured in the CC1021 RF chip to set its frequency
  • Index is the value in the range of 0 - 50, where 0 represents the lowest frequency of 902.5 MHz and 50 represents 927.5 MHz.  The channels are spaced 500 kHz apart.
  • RF Frequency is the nominal RF frequency the station receives on.
This sequence is for Transmitter ID 1.  Other transmitter IDs will have a different sequence, though I think they all share the same set of 51 frequencies.  Note that I said "think" there.  If you run the calculations based on the formulas in the CC1021 datasheet, you don't get the nice round nominal numbers shown above.  There are some significant frequency offsets that show up.  It is possible that the different transmitter IDs use a different set of frequencies.  Davis would actually have room within the frequency band they use to do this.  Though it might be possible, I don't think it is probable.  I'm going to have to dig into this a little more.

The other thing I need to do is figure out how to capture the initial configuration of the radio as the chip comes out of reset.  My half second capture length on the analyzer makes this kind of tricky.  You can specify a trigger delay in the analyzer client, but it doesn't give the units for the delay and the documentation isn't great.  There is also a serial trigger that is supposed to sort-of work that I'm going to give a try.  I know the bit pattern of the registers I'm interested in, so I should be able to set a trigger based on that bit pattern and see the subsequent value written to that register.

One more thing: now that I know the register configurations and the frequency hopping sequence, I thought it would be trivial to find the spot in the ROM where this stuff is stored.  No luck.  I tried searching based on the register sequence, the frequency index, etc.  If anyone wants to try their luck in poking around FLASH.BIN, give it a shot and let me know in the comments if you have any luck. This console is still managing to hang on to some of its secrets, at least for now.

Anyway, it is early days and there is more to come.  It's gotta get done to have any chance of success at building an alternative ISS receiver from a Pretty Pink Pager.

Saturday, March 19, 2011

Tartine Bread Tips and Tricks

For reasons I don't understand, I started getting interested in being able to make really good food a year or two ago.  Perhaps it is all the traveling I've done that has given me the opportunity to try all kinds of different things.  Or perhaps it is just the idea of gastronomical hacking that appeals to me.  Dunno.

It was about a year ago that I put together my Sous Vide rig, and My Lovely Wife and I had many fantastic meals from it since then.  Going to restaurants doesn't hold that much appeal to me anymore, because after a meal I often feel that I could have cooked better at home.  I don't consider myself a foodie, either.  In my mind, a foodie is somebody who goes to some expensive restaurant to try wild and exotic things without lifting a finger themselves.  That is not me.  What appeals to me is using simple techniques to create something amazing.  And that is why I like Sous Vide.  It is almost foolproof.  Anybody can do it.

But I also like bread.  Real bread.  I have been to places like France and Italy, where bread is a key part of the culture.  The bread I had in Italy was easily my favorite.  The crisp crust and the big holes on the inside (what I'd later learn is referred to as an "open crumb") hooked me and hooked me bad.  Toast this stuff, brush on a little olive oil, rub a half a garlic clove over it, and then top it with fresh chopped tomatoes and a little kosher salt.  Heaven on a plate.

Bread where I live is typical mass-market North American crap, suited for little more than making egg salad sandwiches.  This just wasn't acceptable to me any longer, with the memories of the bread I had in Italy lingering in my brain.  Thinking that I had the protein thing down with Sous Vide, I decided to take on another popular macro-nutrient: carbohydrates.  I began a quest to make good bread.
I can do better.  I know I can.
As always, it starts with research.  I had always been under the impression that great bread required a wood-fired oven and other things out of the reach of mere mortals.  But Google quickly brought me to sites like Northwest Sourdough (Free Ebook!), BreadTopia (Great Videos!), Sourdough Home (Clearest Explanations on the Net), and of course The Fresh Loaf (Amazing Forum!).  I then bought myself a couple of books off of Amazon: Peter Reinhart's Bread Baker's Apprentice and Chad Robertson's Tartine Bread.  I was taken by the bare-bones approach and beautiful pictures in Tartine Bread.  This is where I would start - Tartine's Basic Country Bread.  And, to make a long story short, this is where I would fail in eleven straight attempts to make a good artisan sourdough bread.

Where Sous Vide was pure science and easy to get right, I was finding that there was much more of an art to making bread.  I was having a terrible time trying to get the right combination of rise, texture, and flavor.  I would tweak this and tweak that trying to get a bread that lived up to the pictures in the book.  Then I hit what I simply refer to as Try #12, where things started to come together and I felt I was getting a decent grip on the many variables involved.  So I thought I would jot some things down that might help out other aspiring bakers trying this recipe.  I'm not going to go into all the nitty gritty details of how to make this bread.  If you want a rough idea of what is involved in baking the bread itself, you could start here.  A great thread on the care and feeding of sourdough starter can be found here.

My biggest problem with Tartine Bread right from the start was the, erm... starter.  We left it on top of the fridge and fed it once per day in a ratio of 1 part old starter to 1 part new flour to one part water, by volume.  That was a recipe for failure.  Before refreshing it, the starter always smelled very sour.  This was a sign that it was burning itself out.  We weren't feeding enough to maintain a healthy culture that is key to a good rise.  This explains the many "bricks" that I made.  So we still leave the starter out on the top of the fridge, but we feed it twice a day in a 1:1:1 ratio by weight.  This ratio and frequency seems to be recommended by most successful bakers.  We've been keeping a healthy starter with just 5 to 10 grams of each element to keep the amount of starter discard to a minimum.  However, ever since we found this amazing pizza crust recipe, we have the opposite problem: how do we get more discard to keep up with our hunger for great pizza!?!?  By the way, if you try that crust, you'll want this awesome sauce to go with it.

The second problem that I had was with the rise during the bulk fermentation.  I had fallen into the trap of following Robertson's guidelines for time (three to four hours) and temperature (80F).  I went to great lengths to try to duplicate this environment exactly.  I used my oven as a proofing chamber with my Sous Vide temperature controller turning a light bulb on and off to keep 80F exactly.  A small DC powered fan circulated the air within to ensure an even temperature throughout.  My temperature probe was twist-tied to the oven grill to give enough thermal mass to ensure accurate readings.  I did all of this, and I never got the 20%-30% rise he talked about in the book in that time frame.  I thought it was just some peculiarity with my approach and would give up on the bulk fermentation rise when it looked like things weren't going anywhere.

This is just wrong, and he sort of says so but doesn't make it obvious.  Here is probably the most important thing I figured out after 11 tries:

It isn't the time or the temperature that is critical.  It is the percentage rise.

The big thing about Try #12 was that I figured I would wait for that 30% rise no matter what.  It was just a bit of flour and water, after all.  Try #12 just sat on the counter with some plastic wrap over the bowl to prevent the surface from drying out.  I used a tip from the Recipes from Tartine Bread Facebook Group and did a S&F (Stretch and Fold) every half hour for the first two hours and then a more gentle S&F every hour after that.  I would do this for as long as it would take.  And it took five hours, but I finally got the 30% rise I wanted and, subsequently, the best bread I'd ever made.

Judging the rise isn't straightforward if you don't do the bulk fermentation in a steep sized container with graduated marks on it.  All I have is a glass mixing bowl.  So all I did was get a piece of masking tape along the side of my bowl, put it on a scale, and added water 100 grams at a time.  100 grams = 100 mL, so I was basically marking off a measuring cup.
You've got to work with what you've got
After the autolyse, I put the dough in my mixing bowl and use the backside of a wet spoon to flatten the dough out.  That gives me the initial volume.  Multiply that volume by 1.3 or whatever rise you are after, and you know when to stop.  Simple.

Or not.  I was having a bit of a problem with parallax errors.  In other words, the level of the dough in the bowl changes if your eye isn't lined up properly with the surface of the dough.  So what I do is measure the height of the final rise point on my bowl and measure that same height onto my dough blade (actually a plastic drywall knife).
Precision is a big deal with me
So as my dough starts to reach the point where it is getting to the end of its rise, I stick my dough blade at the back of the bowl and line up the tape with my final rise point on the front.  That lines my eye up straight across.  When the dough hits that line, I'm done my bulk fermentation.
Parallax be gone!
The next problem I stumbled with was the initial shaping.  Robertson is terribly imprecise here, and there are no good pictures to give you a really good idea of what the right amount of tension during shaping is.  It wasn't until I saw this video linked from TFL that made it all very clear.  Watch this video.  And then watch it again.  It gets good around 1:20.


Other small tips that work very well for me:
  • Don't overwork the dough when you first mix it.  Just work it enough to combine all the ingredients together well.  Then stop.
  • Cover everything all the time.  I cover my leaven after mixing it with a bit of cling wrap.  I cover my bowl during the bulk ferment on the counter and the final rise in the fridge using one of those shower-cap like bowl covers like this.  This prevents crusts from forming on the dough surface at any point in the process.
  • When adding the salt, don't just dump it on top of the dough and then dump in the extra bit of water.  Mix the salt and water together first, dissolving as much of the salt as possible.  Then dump that into the dough and mix.  Speaking of salt, I find the bread a little salty for my tastes.  Ever notice that you are kind of thirsty after a slice of bread?  In the half batches I make, I cut back the salt to 8 grams instead of the 10 grams he calls up.
  • Try wheat bran instead of the 50-50 mix of wheat flour and rice flour that Robertson suggests in preventing the dough from sticking to the towel during the final rise.  This is what Jim Lahey uses for his no-knead bread.
  • Scoring the loaf with an X instead of a square just seems to work better for me, for some reason.   I use a razor blade with a bit of spray oil to minimize sticking, and I make deep cuts.  I don't go for pronounced ears by making shallow angled cuts because these thin ears just turn into pure carbon when the bread is toasted.  And we toast this bread a lot.
Throughout the book, Robertson writes about how you're supposed to be flexible as you go based on the signs the dough is giving you.  And there's the rub.  If you haven't made a good loaf of bread before, you don't have the instinct to know when the dough is ready to move on to the next stage or not.  How do you know what is good and bad when you don't know what good and bad are?  Hopefully some of the tips here will help people get on the road to good bread that much sooner.  It is worth the effort.

My success lately has been good, but I'm still experimenting.  One thing I'm finding is that my fridge is too cool to get much action going during the final rise.  In other words, it really doesn't rise in there at all.  Setting the fridge warmer to get more rise is a sure recipe for spoiling the rest of the food in there and killing me.  Getting a second fridge just for this seems a little silly.  So what I'm trying this weekend is pushing the rise during the bulk ferment to 40% from 30% and seeing what happens.  I might also try sticking with a 30% rise and just leaving it in the fridge for several days.  That would likely help develop more sour flavor in the final product that I'd like to have.  I have already pulled a few tricks like using the starter after it has peaked and started to fall back a bit, and by using a mere half teaspoon of starter in my half batch of leaven to add time to the process to try to bump the sourness a bit.  But I'd still like more.  Adding a higher percentage of whole wheat flour or maybe adding in some rye flour are other possibilities.

I'll leave you with one final picture: my friend, Try #12
Success At Last
Update: I mentioned above that I was pushing for a 40% rise this time. FAIL. The dough seems to hit equilibrium at around 30% with this hydration and doesn't go any higher. Now I know why Robertson recommends what he does.  The moral of the story when working at this hydration is to wait it out until you get a rise from 20 - 30%, but don't get greedy and expect more.

Thursday, March 17, 2011

My Surreal Life

I'm typing this at around 35,000 feet, on the second of two flights home and will paste it into my blog when I get back.  It is always a good feeling coming back.  And this was an interesting trip.

I picked up a Nook Color e-Reader at Barnes and Noble. We don't have B&N where I'm from and I took the opportunity on this state-side trip to pick one up.  I was thinking that the chances were pretty good of picking one up when I walked into the store based on the reviews I'd read.  It was a little bigger than I thought it would be, but the screen on this thing is fantastic and the capacitive touch screen is excellent.  The decision to plunk down the cash was surprisingly easy.  And I consider myself a pretty frugal guy.

There has been some pretty cool stuff happening on the hacking front with the NC (Nook Color) that turns this $250 device into almost a mini-iPad.  Just this past weekend, an intrepid group of hackers seems to have gotten Bluetooth going on it as icing on the cake (Hello GPS).  Now I need to pick up a decently fast microSD card (Class 2 just won't do it) and make it dance.  Android Honeycomb is sounding a bit shakey on it right now, so trying that is likely going to wait a few weeks until the official source code drops from Google.  In the meantime, I'll probably play with Froyo.  The great thing about the NC is that it treats whatever is on the microSD slot as the primary boot device.  So if you've got a custom ROM properly configured on the SD card, it preferentially boots to that rather than its internal ROM.  No JailBreaking required.

Another thing I did was max out my liquor exemption again.  This time around I picked up 750ml of Godiva Chocolate Liquor and 375ml of Peach Brandy for My Lovely Wife.  Booze is a relative steal in the US, so I try to bring something back whenever I get the chance.

But on to the events of today.  First thing this morning, I found myself in an industry roundtable listening to some major CEO's of the business talk about where they are at and where they are headed.  I was pretty amused by some of the subtle and not so subtle shots they were taking at each other.  After the roundtable, we talked to some vendors, got taken out to lunch by another vendor, and then went on to talk to yet more vendors.  It was a good change for me since I'm usually doing stuff more technically focused than this.

Mid-afternoon came and it was time to grab a cab to the airport.  The ride itself was pretty exciting. Driven by a middle-Eastern Mario Andretti, we got through downtown and to the airport in record time.  There was a bit of a lull in the excitement during check-in and security.  That is always a good thing though.  Got to the gate with time to spare, just in time to see that my flight was delayed.  The delay was 20 minutes, cutting in to the two hour gap to the follow-on flight.  Still lots of time, or so one would think.

We got off the plane and got down to the immigration area where a huge mass of humanity was gathered.  I had never seen so many people packed into immigration there, and I've been through there a lot.  My heart started to beat a little quicker as I worried about missing my flight.  Whether I was supposed to or not, I went into a separate, smaller lineup where another small commotion was just sorting itself out.  A worker in the floor above must have somehow slipped and he came crashing down through the suspended ceiling right into the immigation area.  I got there just after he had dusted himself and got back to work.  It was a little surreal to watch the security people cordoning off the area with big cardboard Inukshuks.

I breezed through customs and got down to Baggage Carousel 10 to get my checked bag.  I waited.  And waited.  And waited.  My heart was starting to beat a little faster again as I was eating into the time I had to make my connecting flight.  I could tell the guy waiting next to me was getting a little worried too.  So he wanders over to the next carousel and ends up finding his bag there!  Sure enough, I go over there and mine shows up on the "wrong" carousel after a minute as well!  Better lucky than good, so I grab my bag, get out of customs, and get through security and into the Business Class lounge in time for a bowl of minestrone soup and a plate of vegetables.  Sweet.

The weekend coming up looks to be action packed.  As always, I'll get in my workouts.  I also want to make another loaf of bread as I seem to be getting my technique down after eleven mediocre attempts.  And my logic analyzer finally got through customs and is sitting at home waiting for me.  This is going to let me get a real close look at the way my weather station console is configuring the radio receiver chip.  From there I'll see if I can get my Pretty Pink Pager implementation going.  Should be interesting.  However, I also think I need to do some work work this weekend to catch up on stuff I should have been doing during this trip.  So much to do, so little time.

But that is a couple days ahead.  Within the next couple hours, I'll land, drive the long dark road home, kiss my wife, play with my dog, and just be happy to be back home.

Saturday, March 12, 2011

More Davis Weather Station FCC Information

A few posts ago, I gave a link to the FCC test results for the Vantage Vue and mentioned how they contained some interesting information on spectrum displays, occupied bandwidth, and the like.  Unfortunately I wasn't able to track this information down for the other Davis products.  That was a temporary situation, fortunately.  I got a PM via wxforum.net that answered all.  I won't reveal the tipster in case he prefers to remain nameless.
All the Davis FCC reports can be found using their FCC ID of IR2 (that's a letter I not a one) and hitting the search button on this page https://apps.fcc.gov/oetcf/eas/reports/GenericSearch.cfm

There are a lot but I believe the VP2 ISS is IR2DWW6328, final action date 9/30/2004.
Nice find!  Just be sure that once you've done the search, you click on "Detail" rather than summary.  Otherwise you get a list of documents but no hyperlinks to them.  Interested to see how long the ISS transmits on each frequency?  This long:
You Better Be Quick About It
In other news, it turns out that today is pretty cold and a good day to be inside.  A perfect time to bust out the logic analyzer and start sniffing how the Davis console configures the wireless chip.  If only.
If You Only Knew How Sick I Was Of Seeing This Message
So what to do?  Bake some bread, get in a couple workouts, and do some work that I brought home.   The deep dive is going to have to wait another week.

Monday, March 7, 2011

DIY Wireless Davis Console Interface? Why the Hell Not?

Every now and then I like to go to the Google Dashboard you get when you have a blog on Blogger. The stats tab shows some pretty cool stuff, like page hits per day, which entries are popular, and where the hits are coming from. I saw I was getting some hits from a forum in Holland that I couldn't even read. And apparently, I'm big in Australia.  G'day, mates.

But now that word is spreading on the wonderfullness of hooking up a Davis Weather Station console to a PC for around $15, people are taking the idea and running with it. One of these is a ham radio guy who goes by af4ex on the wxforum site.  af4ex took my idea and did me one better, by using a couple XBee modules to get a connection from his wireless console to his PC... erm, wirelessly.
Look Ma, No Wires (Except for the Four Wires)
Now I'm obviously goofing a bit there.  The XBees are an elegant fit to this design.  The one hooked to the console sports a LVTTL serial port that can connect directly to the Davis expansion port via a breakout board.  The other end has another XBee that is plugged into something called a USB Explorer board, which is just a breakout board with an FTDI based converter like that on the Sparkfun board I discussed way back when.  That gives you a USB interface to your PC.  After programming the XBees from their default 9600 baud to the 19,200 baud used by default on the Davis console, the whole thing just worked.  How cool is that?

af4ex did a great writeup of the design, and you should hit that link ASAP if you are at all interested.  He's put this whole thing together for less than $100, which is a steal compared to what you'd pay for the Davis offering.  But I know what you are thinking: if the PC collecting data goes down for a while, this solution isn't logging the data in the interim.  Would I care, personally?  Not for a second.  Others do, so maybe the Davis logger is a better fit.  But anyone going that route should know that the Davis solution isn't a panacea either.

af4ex has a great design here, but cooler yet would be to get the PC out of the equation totally and hook up to a wireless router like a LinkSys WRT54-G or (better yet) the mighty Asus RT-N16.  Both of these routers have been hacked to death.  Each has a LVTTL serial port available with no extra hardware required.  And each of them runs or can run custom firmware like dd-wrt.  Some custom code on the router and suddenly it is able to serve up web pages with your weather station information on it.  This would rock hard.

Anyhoo, enough rambling.  But before signing off, just a mention that my logic analyzer continues to rot in Customs.  I hope to see it this week sometime, and then it will be time to really dig into the depths of my console once again.

Sunday, March 6, 2011

Fix for IM-ME SpecAn Frequency Offset

Twitter never used to do much for me until I started playing around with the IM-ME. I didn't set up an account until I ran into a problem with the Bus Ninja code not being available from the author's site.  I saw that he had a Twitter account, so I set one up for myself and tweeted him.  I got an answer back in the matter of a few minutes that he'd fixed the problem.  Wow.

So when I found that my IM-ME spectrum analyzer had a frequency offset, I sent a tweet to the author wondering if he had a clue what was going on.  Turns out that he did.
Well, There's Your Problem
The spectrum analyzer was designed based on the author's IM-ME and its 26 MHz crystal oscillator.  Michael thought that my IM-ME might have a 27 MHz crystal, and he was bang on as the blurry picture above shows.  It is unlikely that the oscillator frequency can be determined at runtime, so you've just got to be aware of it.  You've got to tear the thing apart to get this code on the pager in the first place, so it would be a good idea to take note of the crystal frequency while you are in there.

Michael pointed me to where the code can be fixed.  Here are a few lines out of specan.c

/* the frequency setting is in units of 396.728515625 Hz */
u32 setting = (u32) (freq * .0025206154);


So it should be just a matter of scaling the constant above by the ratio of the frequency difference to fix the problem. Like so:

u32 setting = (u32) (freq * .0025206154 * 26.0 / 27.0);

No real idea why my IM-ME has a 27 MHz oscillator where others have 26 MHz. It might be a difference in the US vs UK models, or it might be a design change they made in a rev of the hardware.

I'm just psyched that my IM-ME is pimping a 4% overclock. Boo-ya.

Thursday, March 3, 2011

Maybe I Should Have Paid More for a SpecAn?

So in my last post, I showed my new IM-ME based spectrum analyzer in front of my Davis VP2 wireless receiver.  I speculated that what I was seeing was the ISS frequency transmissions. But it didn't look right: the frequencies were popping up below the 902.5 - 927.5 MHz range that Davis uses. How to know for sure?

As I think I've alluded to before, I do RF stuff at work and have access to a few nice toys that let me check stuff like this out.
A Good Old-Fashioned RF Throwdown
In the background, we have our champion: a Hewlett Packard 83620A synthesized signal generator good from 10 MHz to 20 GHz.  It was worth around $60,000 when bought new some years ago.   Locked to GPS, it would be frequency accurate to < 1 Hz.  I didn't bother to lock it up because its internal ovenized oscillator is also very accurate.  I'd be surprised if it was more than 100 Hz out.

In the foreground, we have our challenger: a Pretty Pink Pager flashed to work as a spectrum analyzer up to about 1 GHz.  I paid £17.00 GBP on EBay.  Plus £5.00 GBP for shipping.  Pricey, I know, but it isn't easy to get these things North of the 49th parallel.

Let's zoom in on the displays:
Not Looking Good for the Challenger
The IM-ME should show a nice sharp spike at the generator frequency of 950 MHz.  Instead, we have that area of the spectrum blank, and the spike shows up around 915 MHz.  So I think I can pretty conclusively argue that my IM-ME spectrum analyzer is reading 35 MHz too low.  I haven't looked at the code yet to try and figure out WHY this is.  I only know that it is.  35 MHz is a kind of interesting number in the RF world though: it is half of the 70 MHz that is the IF (Intermediate Frequency) in many RF designs.

Anyway, I plan to ping the software's author and see if we can't sort this out.