Decoding data hiding in Star Trek IV

1986: The US and Russia signed arms agreements, Argentina won the world cup, and Star Trek IV: The Voyage Home hit the theaters. Trekkies and the general public alike enjoyed the film. Some astute hams though, noticed a strange phenomenon about halfway through the film. During a pivotal scene, Scotty attempts to beam Chekov and Uhura off the Enterprise, but has trouble with interference. The interference can be heard over the ubiquitous Star Trek comm link. To many it may sound like random radio noise. To the trained ear of a [Harold Price, NK6K] though, it sounded a heck of a lot like packet radio transmissions.

cray-2By 1989, the film was out on VHS and laser disc. With high quality audio available, [Harold] challenged his friend [Bob McGwier, N4HY] to decode the signal. [Bob] used the best computer he had available: His brain. He also had a bit of help from a Cray 2 supercomputer.

[Bob] didn’t own his own Cray 2 of course, this particular computer was property of the National Security Agency (NSA). He received permission to test Frequency Shift Keyed (FSK) decoder algorithms. Can you guess what his test dataset was?

The signal required a lot of cleanup: The original receiver was tuned 900 Hz below the transmission frequency. There also was a ton of noise. To make matters worse, Scotty kept speaking over the audio. Thankfully, AX.25 is a forgiving protocol. [Bob] persevered and was able to obtain some usable data. The signal turned out to be [Bill Harrigill, WA8ZCN] sending a Receive Ready (RR) packet to N6AEZ on 20 meters. An RR packet indicates that [Bill’s] station had received all previous packets and was ready for more.  [Bob] called to [Bill], who was able to verify that it was probably him transmitting in the 1985 or 1986, around the time the sound editors would have been looking for effects.

That’s a pretty amazing accomplishment, especially considering it was 1989. Today, we carry supercomputers around in our pockets. The Cray 2 is roughly equivalent to an iPhone 4 in processing power. Modern laptop and desktop machines easily out class Seymour Cray’s machine. We also have software like GNU Radio, which is designed to decode data. Our challenge to you, the best readers in the world, is to replicate [Bob McGwier’s] work, and share your results.

40 thoughts on “Decoding data hiding in Star Trek IV

  1. I can verify that this kind of thing happens.

    I worked on Star Trek: First Contact, and my job was doing the Borg suit electronics (along with electronics for the spacesuits and some animatronics in that film). The Borg lights aren’t just blinking; I programmed them to flash messages in slow Morse code. The electronics in the Borg makeup (not my department) are also signaling in somewhat faster Morse code. You’d never be able to read more than a character or two due to editing, but it amuses me to know they’re there nonetheless. I’ve never told anyone what it is the Borg are saying. ;-)

    1. Wow, you are that guy! Watching “First Contact” I imagined how much fun making the Borg props had been, and what kind of micro controllers you guys used.

      Also noticed that the blinking pattern was non repetitive, which was noticeable because most movie prop guys usually just have a simple repeating pattern for blinking lamps in movies.

    2. I vaguely remember people mentioning that the blinks were morse code back when first contact came out. The star trek wiki mentions the eye pieces (I’m guessing that’s the makeup crew you mentioned) blinked names of the production staff. It’s great to see you reading Hackaday!

  2. Star Trek IV was mentioned an nobody quoted anything from the most quotable Star Trek ever? Unacceptable!!!

    I’ll help.

    Could direct me to the nuclear wessels?

    Helllllo computer.

    Well double dumbass on you!

    There be whales captain!

    The doctor gave me a pill and now I’ve got new kidneys!

    Well how do you know he didn’t invent the bloody thing?

    1. Whaaa? GR can definitely decode, demodulate, encode, modulate, filter, etc. Their focus is on software radio, but it really works for any form of streaming data processing. I would love to try running this movie’s audio through a carefully designed GNURadio graph and seeing packets (or fragments) come out the other end.

  3. While current computers can boast more CPU power than an old Cray 2, they still haven’t quite caught up in terms of (main) memory bandwidth. Because the largest RAM chips at the time were only 2 KB in size, a fully equipped Cray 2 with 32 MB required 16384 RAM chips across many boards to feed the multiple CPUs. This meant there were many “channels” to access main memory and hence it had really high total bandwidth. And because it had separate data and address lines, it could be accessed at top speed with random accesses. Modern computers multiplex their A/D lines and can only achieve top speed with “burst mode” transfers.

    1. But Cray never would have said their machine had “32 MB”. They always specified memory capacity in “words”, where one word was one (Cray format) floating point number, which was the primary data type Cray programmers cared about. One such Cray word was 64 bits or 8 bytes, and so this 32 MB machine would have been called an 8 MWord machine.

  4. No [HaD]. We do NOT “…carry supercomputers around in our pockets”.

    “Supercomputer” used to be defined as: The 500 fastest computers in currently in operation. (there is still a top 500 list)

    It has since been watered down by companies who like to claim they make “Supercomputers”. However, it STILL means “…the fastest computers in currently in operation”. Last time I checked, cell phones aren’t cranking out PFLOPS…

    The actual subject of the article is pretty cool though. It’s always fun to find these kind of hidden things in the wild.

    1. @Ian
      If you’re a native English speaker and didn’t understand that the statement meant we carry *yesteryear’s* supercomputers in our pockets then your reading comprehension is so catastrophically bad that I suspect underlying pathology.

      1. Isn’t that the point?

        HaD has a large non-native English readership. Saying something false, just because it sounds good, is poor writing.

        I will admit that this is an edge case. But it does further water down the term “supercomputer”, which does not benefit anyone.

        Further; I pointed this out to help someone improve. If I do something incorrectly (or even inefficiently) I HOPE that someone else has the courage to point it out to me, so I can learn to do it better in the future. I wasn’t just commenting to be an ass.

        Even Further; Letting the lay-person misuse technical words is how words end up being meaningless. “The Cloud” and “Hacker” are two good examples of words that many people use, yet don’t understand the meaning of because they are often misuse.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s