That “noise” was data
Exploring SAME through Signal Lab: What message is encoded in an emergency alert
ProjectsLearningOn this page
At first, the three bursts at the beginning of an emergency alert just sounded like noise to me. Then I found out they were carrying information.
That made them much more interesting. Before anyone starts speaking, a receiver can already have information about the event, the affected area, and the message’s valid period. I wanted to look inside that exchange, so I built a SAME study mode into Signal Lab.
Our Special Guest: S.A.M.E.
SAME stands for Specific Area Message Encoding. It is used by NOAA Weather Radio and the U.S. Emergency Alert System (EAS). The opening bursts carry a machine-readable header; the spoken announcement is a separate part of the message. NOAA explains how receivers use those fields to select relevant alerts.
The three bursts are repeated transmissions, rather than three different pitches. Within each burst, two frequencies carry the data: 1,562.5 Hz for a 0 and about 2,083.3 Hz for a 1, at roughly 520.83 bits per second. The longer attention signal is a separate sound. The EAS protocol specifies that distinction.
Once decoded, the header becomes a compact line of text. The example below describes a fictional weekly test for Los Angeles County. Try changing its event, area, or valid period, then select a field to read it more closely.
Read the signal
Change the fields, inspect a byte, and compare three header bursts. This is a silent model, not a live alert or a full decoder.
ZCZC-EAS-RWT-006037+0015-3021800-SIGLAB -Go closer: one character on the wire
0x5AFirst bit sent → last bit sent
Bits in transmission order:
Each cell is one bit, lasting 1.92 ms. 0 uses 1,562.5 Hz; 1 uses about 2,083.3 Hz. The cells show transmission order, least significant bit first—not the usual way a binary number is printed.
What if a burst is missing—or different?
A and B represent two complete, parseable headers that differ in one field. Each slot represents a separate physical burst. Choose which ones arrive.
This models Signal Lab’s complete-header comparison. Matching copies do not authenticate the sender. Real receivers may use different acceptance and recovery rules.
Read another header
ZCZC-EAS-DMO-026163+0030-3021800-SIGLAB -The header, field guide, and explanation remain readable without scripting.
- Start
- ZCZC marks the start of a header. The synchronization preamble comes before it and is not shown here.
- Originator
- EAS identifies an EAS Participant as the originator. It is a category, not a station name.
- Event
- The three-letter event code classifies the message. It does not contain the spoken announcement. RWT = Required Weekly Test.
- Area
- PSSCCC separates the partition, state, and county or equivalent area. These examples use 0 for all or unspecified portions. 0 · 06 · 037 = Los Angeles County, California.
- Valid period
- The four digits after + use HHMM and specify the message’s valid period. +0015 = 00 hours, 15 minutes.
- Issue time
- 3021800 means day 302 of the year at 18:00 UTC. The year itself is not in this field.
- Sender
- SIGLAB followed by two spaces is a fictional, eight-character sender field for this example.
This models Signal Lab’s complete-header comparison. Matching copies do not authenticate the sender. Real receivers may use different acceptance and recovery rules.
The small details matter
The location field is worth slowing down for. 006037 splits into 0 · 06 · 037: partition, California, Los Angeles County. It is not a ZIP code. The first digit can select a locally defined part of a county; changing it does not automatically create a meaningful area. NOAA’s partition guide describes the distinction.
The time field has its own compactness: 3021800 means day 302 of the year at 18:00 UTC. It does not carry the year. The sender field has a fixed width, so even the two spaces after SIGLAB in this example are doing a job. Before the readable header, a sixteen-byte preamble helps the receiver synchronize. NOAA’s archived technical specification documents the byte format and timing.
What I built in Signal Lab
In Signal Lab, SAME sits alongside a small audio modem and Morse-code tools. The project brings encoding, decoding, and explanations into one place so I can change something and see what happens to the signal. SAME is one part of that wider experiment.
The SAME mode lets me edit header fields, look up geographic codes, generate the corresponding waveform, and feed it directly into the decoder with Test in decoder. That internal test is silent: it checks generated samples without sending them through a speaker or microphone.
The receiver also tracks the repeated headers. One implementation detail is easy to overlook: a decoder can detect the same physical burst through several timing candidates. Counting each detection as another transmission would make a single burst look like several copies. Signal Lab uses the positions of those detections in the audio to avoid counting them twice.
Its comparison is deliberately limited to complete, parsed headers. Three matching bursts satisfy the app’s comparison; missing bursts leave an incomplete set, and different headers produce a conflict. It does not reconstruct damaged headers through bit-by-bit majority voting, and matching copies do not establish a sender’s identity. The experiment above models that comparison, rather than every rule used by operational equipment.
From a sound to something readable
This is the part I wanted to share: a sound I had dismissed as noise had a structure I could inspect. The fields, timing, and repetitions each contribute something specific. Building a small tool around them gave me a way to follow the information all the way from a header to a waveform and back.
Continue in Signal Lab → Learn → EAS / SAME for the annotated format, or open Encoder → EAS / SAME in the project to try the full tool.
Signal Lab is an educational project, not certified alert equipment. This article’s experiment is silent. U.S. restrictions cover EAS codes and attention signals, including recordings and simulations; a test label does not authorize their transmission. See 47 CFR § 11.45 before considering playback or distribution.
Comments