# WWVB

WWVB is a longwave time signal radio station near Fort Collins, Colorado and is operated by the National Institute of Standards and Technology (NIST). Most radio-controlled clocks in North America use WWVB's transmissions to set the correct time.
The normal signal transmitted from WWVB is 70 kW ERP and uses a 60 kHz carrier wave yielding a frequency uncertainty of less than 1 part in 10$^{12}$. The time code signal is derived from a set of atomic clocks located at the site, and transmitted using the IRIG "H" format and modulated onto the carrier wave using pulse-width modulation and amplitude-shift keying at one bit per second. A single complete frame of time code begins at the start of each minute, lasts one minute, and conveys the year, day of year, hour, minute, and other information as of the beginning of the minute.
WWVB is co-located with WWV, a time signal station that broadcasts in both voice and time code on multiple shortwave radio frequencies. WWVB is not an acronym or abbreviation but a call sign for the radio station.
While most time signals encode the local time of the broadcasting nation, the United States spans multiple time zones, so WWVB broadcasts the time in Coordinated Universal Time (UTC). Radio-controlled clocks can then apply time zone and daylight saving time offsets as needed to display local time. The time used in the broadcast is set by the NIST Time Scale, known as UTC(NIST). This time scale is the calculated average time of an ensemble of master clocks, themselves calibrated by the NIST-F1 and NIST-F2 cesium fountain atomic clocks.
In 2011, NIST estimated the number of radio clocks and wristwatches equipped with a WWVB receiver at over 50 million.
WWVB, along with NIST's shortwave time code-and-announcement stations WWV and WWVH, were proposed for defunding and elimination in the 2019 NIST budget. However, the final 2019 NIST budget preserved funding for the three stations.
At midnight on April 7, 2024, WWVB's south antenna was disabled due to damage sustained during high winds. WWVB then transmitted exclusively from the north antenna, at a reduced power of 30kW. On May 20, 2024, NIST announced that the necessary replacement parts were being manufactured and shipped, with expected service restoration at the end of September 2024. As of October 10, 2024, WWVB was back to operating at full power.
NIST Time Signal Station Services :
| Station | Year in service | Year out of service | Radio frequencies | Audio frequencies | Musical pitch | Time intervals | Time signals | UT2 correction | Propagation forecasts | Geophysical alerts |
| WWV | 1923 | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| WWVH | 1948 | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ |
| WWVB | 1963 | | ✔ | | | ✔ | ✔ | ✔ | | |
| WWVL | 1963 | 1972 | ✔ | | | | | | | |

## History

LF and VLF (very low frequency) broadcasts have long been used to distribute time and frequency standards. As early as 1904, the United States Naval Observatory (USNO) was broadcasting time signals from the city of Boston as an aid to navigation. This experiment and others like it made it evident that LF and VLF signals could cover a large area using a relatively low power. By 1923, NIST radio station WWV had begun broadcasting standard carrier signals to the public on frequencies ranging from 75 to 2,000 kHz.
These signals were used to calibrate radio equipment, which became increasingly important as more and more stations became operational. Over the years, many radio navigation systems were designed using stable time and frequency signals broadcast on the LF and VLF bands. The best known of these navigation systems was the now-obsolete Loran-C, which allowed ships and planes to navigate via reception of 100 kHz signals broadcast from multiple transmitters.
What is now WWVB began as radio station KK2XEI in July 1956. The transmitter was located in Boulder, Colorado, and the effective radiated power (ERP) was just 1.4 watts. Even so, the signal was able to be monitored at Harvard University in Massachusetts. The purpose of this experimental transmission was to show that the radio path was stable and the frequency error was small at low frequencies.
In 1962, the National Bureau of Standards (NBS) — now known as National Institute of Standards and Technology (NIST) — began building a new facility at a site near Fort Collins, Colorado. This site became the home of WWVB and WWVL, a 20 kHz station that was moved from the mountains west of Boulder.
The site was attractive for several reasons, one being its exceptionally high ground conductivity, which was due to the high alkalinity of the soil. It was also reasonably close to Boulder (about 50 miles or 80 kilometres), which made it easy to staff and manage, but much farther away from the mountains, which made it a better choice for broadcasting an omnidirectional signal.
WWVB went on the air on July 4, 1963 (July 5 at 00:00 UTC), broadcasting a 5 kW ERP signal on 60 kHz. WWVL began transmitting a 0.5 kW ERP signal on 20 kHz the following month, using frequency-shift keying, shifting from 20 kHz to 26 kHz, to send data. The WWVL broadcast was discontinued in July 1972, while WWVB became a permanent part of the nation's infrastructure.
A time code was added to WWVB on July 1, 1965. This made it possible for clocks to be designed that could receive the signal, decode it, and then automatically synchronize themselves. The time code format has changed only slightly since 1965; it sends a decimal time code, using four binary bits to send each digit in binary-coded decimal (BCD).
The ERP of WWVB has been increased several times. It was raised to 7 kW and then 13 kW ERP early in its life and remained so for many years. As part of a WWVB modernization program in the late 1990s, the decommissioned WWVL antenna was refurbished and incorporated into the current phased array. Using both antennas simultaneously resulted in an increase until a major upgrade during 1998 boosted the ERP to 50 kW in 1999, and finally to 70 kW in 2005. The station also became able to operate on one antenna, with an ERP of 27 kW, while engineers could carry out maintenance on the other.
The power increase made the coverage area much larger, and made it easier for tiny receivers with simple antennas to receive the signal. This resulted in the introduction of many new low-cost radio controlled clocks that "set themselves" to agree with NIST time.

### Service improvement plans

WWVB's Colorado location makes the signal weakest on the U.S. east coast, where urban density also produces considerable interference. In 2009, NIST raised the possibility of adding a second time code transmitter, on the east coast, to improve signal reception there and provide a certain amount of robustness to the overall system should weather or other causes render one transmitter site inoperative. Such a transmitter would use the same time code, but a different frequency.
Use of 40 kHz would permit use of dual-frequency time code receivers already produced for the Japanese JJY transmitters. With the decommissioning of the Swiss longwave time station HBG on 75 kHz, that frequency is potentially also available.
Plans were made to install the transmitter on the grounds of the Redstone Arsenal in Huntsville, Alabama, but the Marshall Space Flight Center objected to having such a high power transmitter so near to their operations. Funding, which was allocated as part of the 2009 ARRA "stimulus bill", expired before the impasse could be resolved, and it is now unlikely to be built.
NIST explored two other ideas in 2012. One was to add a second transmission frequency at the current transmitter site. While it would not have helped signal strength, it would have reduced the incidence of interference and (frequency-dependent) multipath fading.
None of the ideas for a second transmitter were implemented.
Instead, NIST implemented the second idea, adding phase modulation to the WWVB carrier, in 2012. This requires no additional transmitters or antennas, and phase modulation had already been used successfully by the German DCF77 and French TDF time signals. A receiver that decodes the phase modulation can have greater process gain, allowing usable reception at a lower received signal-to-noise ratio than the PWM/ASK time code. The method is more fully described later in this article.

## Antennas

WWVB antenna helix house coordinates (WGS84) :
| North | 40°40′50.6″N 105°3′1.7″W﻿ / ﻿40.680722°N 105.050472°W﻿ / 40.680722; -105.050472﻿ (WWVB - North antenna) |
| South | 40°40′28.9″N 105°2′42.3″W﻿ / ﻿40.674694°N 105.045083°W﻿ / 40.674694; -105.045083﻿ (WWVB - South antenna) |
40°40′41″N 105°2′49″W﻿ / ﻿40.67806°N 105.04694°W﻿ / 40.67806; -105.04694﻿ (WWVB - Transmitter building)
The WWVB signal is transmitted via a phased array of two identical antenna systems, spaced 2,810 feet (857 m) apart, one of which was previously used for WWVL. Each consists of four 400-foot (122 m) towers that are used to suspend a "top-loaded monopole" (umbrella antenna), consisting of a diamond-shaped "web" of several cables in a horizontal plane (a capacitive "top-hat") supported by the towers, and a downlead (vertical cable) in the middle that connects the top-hat to a "helix house" on the ground. In this configuration, the downlead is the radiating element of the antenna. Each helix house contains a dual fixed-variable inductor system, which is automatically matched to the transmitter via a feedback loop to keep the antenna system at its maximum radiating efficiency. The combination of the downlead and top-hat is designed to replace a single, quarter-wavelength antenna, which, at 60 kHz, would have to be an impractical 4,100 feet (1,250 m) tall.

## Modulation format

WWVB transmits data at one bit per second, taking 60 seconds to send the current time of day and date within a century. There are two independent time codes used for this purpose: An amplitude-modulated time code, which has been in use with minor changes since 1962, and a phase-modulated time code added in late 2012.

### Amplitude modulation

The WWVB 60 kHz carrier, which has a normal ERP of 70 kW, is reduced in power at the start of each UTC second by 17 dB (to 1.4 kW ERP). It is restored to full power some time during the second. The duration of the reduced power encodes one of three symbols:
* If power is reduced for one-fifth of a second (0.2 s), this is a data bit with value zero.
* If power is reduced for one-half of a second (0.5 s), this is a data bit with value one.
* If power is reduced for four-fifths of a second (0.8 s), this is a special non-data "mark", used for framing.
Each minute, seven marks are transmitted in a regular pattern which allows the receiver to identify the beginning of the minute and thus the correct framing of the data bits. The other 53 seconds provide data bits which encode the current time, date, and related information.
Before July 12, 2005, when WWVB's maximum ERP was 50 kW, the power reduction was 10 dB, resulting in a 5 kW signal. The change to greater modulation depth was part of a series of experiments to increase coverage without increasing transmitter power.

### Phase modulation

An independent time code is transmitted by binary phase-shift keying of the WWVB carrier. A 1 bit is encoded by inverting the phase (a 180° phase shift) of the carrier for one second. A 0 bit is transmitted with normal carrier phase. The phase shift begins 0.1 s after the corresponding UTC second, so that the transition occurs while the carrier amplitude is low.$^{:2–4}$
The use of phase-shift keying allows a more sophisticated (but still very simple by modern electronics standards) receiver to distinguish 0 and 1 bits far more clearly, allowing improved reception on the East Coast of the United States where the WWVB signal level is weak, radio frequency noise is high, and the MSF time signal from the U.K. interferes at times.
There are no markers as in the amplitude modulated time code. Minute framing is instead provided by a fixed pattern of data bits, transmitted in the last second of each minute and the first 13 seconds of the next one. Because the amplitude-modulated markers provide only 0.2 s of full-strength carrier, it is more difficult to decode their phase modulation. The phase-modulated time code therefore avoids using these bit positions within the minute for important information.

#### Allowance for carrier phase tracking receivers

Added in late 2012, this phase modulation has no effect on popular radio-controlled clocks, which consider only the carrier's amplitude, but will cripple (rare) receivers that track the carrier phase.
To allow users of phase tracking receivers time to adjust, the phase-modulated time code was initially omitted twice daily for 30 minutes, beginning at noon and midnight Mountain Standard time (07:00 and 19:00 UTC). This provided enough opportunity for a receiver to lock on to the WWVB carrier phase. This allowance was removed as of March 21, 2013.

### Station ID

Prior to the addition of the phase-modulated time code, WWVB identified itself by advancing the phase of its carrier wave by 45° at ten minutes past the hour, and returning to normal (a −45° shift) five minutes later. This phase step was equivalent to "cutting and pasting" 1⁄8 of a 60 kHz carrier cycle, or approximately 2.08 μs.
This station ID method was common for narrowband high power transmitters in the VLF and LF bands where other intervening factors prevent normal methods of transmitting call letters.
When the phase modulation time code was added in late 2012, this station identification was eliminated; the time code format itself serves as station identification.$^{:2}$

## Amplitude-modulated time code

Each minute, WWVB broadcasts the current time in a binary-coded decimal format. While this is based on the IRIG timecode, the bit encoding and the order of the transmitted bits differs from any current or past IRIG time distribution standard.
* Markers are sent during seconds 0, 9, 19, 29, 39, 49, and 59 of each minute. Thus, the start of the second of two consecutive markers indicates the top of the minute, and serves as the on-time marker for the next frame of time code. Markers are important to allow receivers to properly frame the time code.
* A marker is also sent during leap seconds. In this exceptional event, three consecutive markers will be transmitted: one in second 59, one in second 60, and one in second 0. The start of the third marker indicates the start of the minute.
* There are 11 unused bits, transmitted as binary 0.
* The remaining 42 bits, zeros and ones, carry the binary time code and other information.
The on-time marker, the exact moment which the time code identifies, is the leading (negative-going) edge of the frame reference marker. Thus the time code is always transmitted in the minute immediately after the moment it represents, and matches the hours and minutes of the time of day a clock should be displaying at that moment in UTC (before any time zone or daylight saving offsets are applied).
In the following diagram, the cyan (0 dBr) blocks indicate the full strength carrier, and the dark blue (−17 dBr) blocks indicate the reduced strength carrier. The widest dark blue blocks — the longest intervals (0.8 s) of reduced carrier strength — are the markers, occurring in seconds 0, 9, 19, 29, 39, 49, and 59. Of the remaining dark blue blocks, the narrowest represent reduced carrier strength of 0.2 seconds duration, hence data bits of value zero. Those of intermediate width (for example, in seconds :02 and :03) represent reduced carrier strength of 0.5 seconds duration, hence data bits of value one.
The example above encodes the following:
* day 66 (March 6) of 2008
* for the minute beginning at 07:30:00 UTC
* DUT1 is −0.3 seconds (therefore, UT1 is 07:29:59.7)
* DST is not in effect today, nor is it coming into effect
* there is no leap second pending, but the current year is a leap year
The table below shows this in more detail, with the "Ex" column being the bits from the example above:
WWVB time code structure :
| Bit | Weight | Meaning | Ex | Bit | Weight | Meaning | Ex | Bit | Weight | Meaning | Ex |
| :00 | FRM | Frame reference marker | M | :20 | 0 | Unused, always 0. | 0 | :40 | 0.8 | DUT1 value (0–0.9 s). DUT1 = UT1−UTC. Example:0.3 | 0 |
| :01 | 40 | Minutes (00–59) Example: 30 | 0 | :21 | 0 | Unused, always 0. | 0 | :41 | 0.4 | DUT1 value (0–0.9 s). DUT1 = UT1−UTC. Example:0.3 | 0 |
| :02 | 20 | Minutes (00–59) Example: 30 | 1 | :22 | 200 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 0 | :42 | 0.2 | DUT1 value (0–0.9 s). DUT1 = UT1−UTC. Example:0.3 | 1 |
| :03 | 10 | Minutes (00–59) Example: 30 | 1 | :23 | 100 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 0 | :43 | 0.1 | DUT1 value (0–0.9 s). DUT1 = UT1−UTC. Example:0.3 | 1 |
| :04 | 0 | Minutes (00–59) Example: 30 | 0 | :24 | 0 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 0 | :44 | 0 | Unused, always 0. | 0 |
| :05 | 8 | Minutes (00–59) Example: 30 | 0 | :25 | 80 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 0 | :45 | 80 | Year (00–99) Example: 08 | 0 |
| :06 | 4 | Minutes (00–59) Example: 30 | 0 | :26 | 40 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 1 | :46 | 40 | Year (00–99) Example: 08 | 0 |
| :07 | 2 | Minutes (00–59) Example: 30 | 0 | :27 | 20 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 1 | :47 | 20 | Year (00–99) Example: 08 | 0 |
| :08 | 1 | Minutes (00–59) Example: 30 | 0 | :28 | 10 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 0 | :48 | 10 | Year (00–99) Example: 08 | 0 |
| :09 | P1 | Marker | M | :29 | P3 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | M | :49 | P5 | Year (00–99) Example: 08 | M |
| :10 | 0 | Unused, always 0. | 0 | :30 | 8 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 0 | :50 | 8 | Year (00–99) Example: 08 | 1 |
| :11 | 0 | Unused, always 0. | 0 | :31 | 4 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 1 | :51 | 4 | Year (00–99) Example: 08 | 0 |
| :12 | 20 | Hours (00–23) Example: 07 | 0 | :32 | 2 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 1 | :52 | 2 | Year (00–99) Example: 08 | 0 |
| :13 | 10 | Hours (00–23) Example: 07 | 0 | :33 | 1 | Day of year 1=January 1 365=December 31 (366 if a leap year) Example: 66 (March 6) | 0 | :53 | 1 | Year (00–99) Example: 08 | 0 |
| :14 | 0 | Hours (00–23) Example: 07 | 0 | :34 | 0 | Unused, always 0. | 0 | :54 | 0 | Unused, always 0. | 0 |
| :15 | 8 | Hours (00–23) Example: 07 | 0 | :35 | 0 | Unused, always 0. | 0 | :55 | LYI | Leap year indicator | 1 |
| :16 | 4 | Hours (00–23) Example: 07 | 1 | :36 | + | DUT1 sign. If +, bits 36 and 38 are set. If −, bit 37 is set. Example: − | 0 | :56 | LSW | Leap second at end of month | 0 |
| :17 | 2 | Hours (00–23) Example: 07 | 1 | :37 | − | DUT1 sign. If +, bits 36 and 38 are set. If −, bit 37 is set. Example: − | 1 | :57 | 2 | DST status value (binary): 00 = DST not in effect. 10 = DST begins today. 11 = DST in effect. 01 = DST ends today. | 0 |
| :18 | 1 | Hours (00–23) Example: 07 | 1 | :38 | + | DUT1 sign. If +, bits 36 and 38 are set. If −, bit 37 is set. Example: − | 0 | :58 | 1 | DST status value (binary): 00 = DST not in effect. 10 = DST begins today. 11 = DST in effect. 01 = DST ends today. | 0 |
| :19 | P2 | Marker | M | :39 | P4 | Marker | M | :59 | P0 | Marker | M |

### Announcement bits

Several bits of the WWVB time code give warning of upcoming events.
Bit 55, when set, indicates that the current year is a leap year and includes February 29. This lets a receiver translate the day number into a month and day according to the Gregorian calendar leap-year rules even though the time code does not include the century.
When a leap second is scheduled for the end of a month, bit 56 is set near the beginning of the month, and reset immediately after the leap second insertion.
The DST status bits indicate United States daylight saving time rules. The bits are updated daily during the minute starting at 00:00 UTC. The first DST bit, transmitted at 57 seconds past the minute, changes at the beginning of the UTC day that DST comes into effect or ends. The other DST bit, at second 58, changes 24 hours later (after the DST change). Therefore, if the DST bits differ, DST is changing at 02:00 local time during the current UTC day. Before the next 02:00 local time after that, the bits will be the same.
Each change in the DST bits will first be received in the mainland United States between 16:00 PST and 20:00 EDT, depending on the local time zone and on whether DST is about to begin or end. A receiver in the Eastern time zone (UTC−5) must, therefore, correctly receive the "DST is changing" indication within a seven-hour period before DST begins, and six hours before DST ends, if it is to change the local time display at the correct time. Therefore, receivers in the Central, Mountain, and Pacific time zones have one, two, and three more hours of advance notice, respectively.
It is up to the receiving clock to apply the change at the next 02:00 local time if it notices the bits differ. If the receiving clock happens not to receive an update between 00:00 UTC and 02:00 local time the day of the change, it should apply the DST change on the next update after that.
An equivalent definition of the DST status bits is that bit 57 is set if DST will be in effect at 24:00 Z, the end of the current UTC day. Bit 58 is set if DST was in effect at 00:00 Z, the beginning of the current UTC day.

## Phase modulated time code

The phase-modulated time code has been completely updated and is not related to the amplitude-modulated time code. The only connection is that it is also transmitted in 60 second frames, and the amplitude-modulated markers (when only 20% of the second is transmitted at full strength) are not used for essential time code information.

### One-minute time frames

The time is transmitted as a 26-bit "minute of century" from 0 to 52595999 (or 52594559 in centuries with only 24 leap years). Like the amplitude-modulated code, the time is transmitted in the minute after the instant it identifies; clocks must increment it for display.
An additional 5 error-correcting bits produce a 31-bit Hamming code that can correct single-bit errors or detect double-bit errors (but not both).
Another field encodes DST and leap-second announcement bits similar to standard WWVB, and a new 6-bit field provides greatly advanced warning of scheduled DST changes.
The 60 bits transmitted each minute are divided as follows:
* 14 fixed sync bits (0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0)
* 32 bits of time, comprising:
** 26-bit binary minute of century (0–52595999 for 36525 days per century)
** 5 ECC bits, making a Hamming (31,26) code
** 1-bit copy of the least significant bit of the minute
* 5 bits of DST status and leap pending, comprising:
** 2 bits of DST status, as in the amplitude modulated code
** 2 bits (3 possibilities) of leap second warning
** 1 odd parity bit (with one exception, see below)
* 6-bit DST rules code, comprising:
** 2 bits indicating time of next change (1/2/3 o'clock, or never)
** 3 bits indicating date of change (which Sunday)
** 1 odd parity bit (with one exception, see below)
* 1 bit of "NIST notice"
* 2 reserved bits
A receiver that already knows the time to within a few seconds can synchronize to the fixed synchronization pattern, even when it is unable to distinguish individual time code bits.
The full time code (with the amplitude-modulated code for reference) is transmitted as follows:
WWVB phase-modulated time code$^{:5}$ :
| Bit | Amp. | Ex | Phase | Meaning | Ex | Bit | Amp. | Ex | Phase | Meaning | Ex | Bit | Amp. | Ex | Phase | Meaning | Ex |
| :00 | FRM | M | sync[12] | Fixed sync pattern | 0 | :20 | — | 0 | time[24] | Binary minute of century 0 – 52, 595,999 | 0 | :40 | DUT1 | 0 | time[6] | | 0 |
| :01 | Minute tens | 0 | sync[11] | Fixed sync pattern | 0 | :21 | — | 0 | time[23] | Binary minute of century 0 – 52, 595,999 | 0 | :41 | DUT1 | 1 | time[5] | | 0 |
| :02 | Minute tens | 1 | sync[10] | Fixed sync pattern | 1 | :22 | Day 100s | 0 | time[22] | Binary minute of century 0 – 52, 595,999 | 1 | :42 | DUT1 | 0 | time[4] | | 1 |
| :03 | Minute tens | 1 | sync[9] | Fixed sync pattern | 1 | :23 | Day 100s | 1 | time[21] | Binary minute of century 0 – 52, 595,999 | 1 | :43 | DUT1 | 0 | time[3] | | 1 |
| :04 | — | 0 | sync[8] | Fixed sync pattern | 1 | :24 | — | 0 | time[20] | Binary minute of century 0 – 52, 595,999 | 0 | :44 | — | 0 | time[2] | | 0 |
| :05 | Minute ones | 0 | sync[7] | Fixed sync pattern | 0 | :25 | Day tens | 1 | time[19] | Binary minute of century 0 – 52, 595,999 | 0 | :45 | Year tens | 0 | time[1] | | 1 |
| :06 | Minute ones | 0 | sync[6] | Fixed sync pattern | 1 | :26 | Day tens | 0 | time[18] | Binary minute of century 0 – 52, 595,999 | 1 | :46 | Year tens | 0 | time[0] | | 0 |
| :07 | Minute ones | 0 | sync[5] | Fixed sync pattern | 1 | :27 | Day tens | 0 | time[17] | Binary minute of century 0 – 52, 595,999 | 0 | :47 | Year tens | 0 | dst_ls[4] | DST/ Leap second warning | 0 |
| :08 | Minute ones | 0 | sync[4] | Fixed sync pattern | 0 | :28 | Day tens | 0 | time[16] | Binary minute of century 0 – 52, 595,999 | 0 | :48 | Year tens | 1 | dst_ls[3] | DST/ Leap second warning | 0 |
| :09 | M | P1 | sync[3] | Fixed sync pattern | 1 | :29 | M | P3 | R | Binary minute of century 0 – 52, 595,999 | 0 | :49 | M | P5 | notice | DST/ Leap second warning | 1 |
| :10 | — | 0 | sync[2] | Fixed sync pattern | 0 | :30 | Day ones | 0 | time[15] | Binary minute of century 0 – 52, 595,999 | 0 | :50 | Year ones | 0 | dst_ls[2] | DST/ Leap second warning | 0 |
| :11 | — | 0 | sync[1] | Fixed sync pattern | 0 | :31 | Day ones | 1 | time[14] | Binary minute of century 0 – 52, 595,999 | 1 | :51 | Year ones | 0 | dst_ls[1] | DST/ Leap second warning | 1 |
| :12 | Hour tens | 0 | sync[0] | Fixed sync pattern | 0 | :32 | Day ones | 1 | time[13] | Binary minute of century 0 – 52, 595,999 | 1 | :52 | Year ones | 1 | dst_ls[0] | DST/ Leap second warning | 1 |
| :13 | Hour tens | 1 | timepar[4] | Time parity (ECC) | 1 | :33 | Day ones | 0 | time[12] | Binary minute of century 0 – 52, 595,999 | 0 | :53 | Year ones | 0 | dst_next[5] | Next DST schedule | 0 |
| :14 | — | 0 | timepar[3] | Time parity (ECC) | 0 | :34 | — | 0 | time[11] | Binary minute of century 0 – 52, 595,999 | 0 | :54 | — | 0 | dst_next[4] | Next DST schedule | 1 |
| :15 | Hour ones | 0 | timepar[2] | Time parity (ECC) | 0 | :35 | — | 0 | time[10] | Binary minute of century 0 – 52, 595,999 | 0 | :55 | LYI | 1 | dst_next[3] | Next DST schedule | 1 |
| :16 | Hour ones | 1 | timepar[1] | Time parity (ECC) | 1 | :36 | DUT1 sign | 1 | time[9] | Binary minute of century 0 – 52, 595,999 | 1 | :56 | LSW | 0 | dst_next[2] | Next DST schedule | 0 |
| :17 | Hour ones | 1 | timepar[0] | Time parity (ECC) | 0 | :37 | DUT1 sign | 0 | time[8] | Binary minute of century 0 – 52, 595,999 | 1 | :57 | DST | 1 | dst_next[1] | Next DST schedule | 1 |
| :18 | Hour ones | 1 | time[25] | | 0 | :38 | DUT1 sign | 1 | time[7] | Binary minute of century 0 – 52, 595,999 | 0 | :58 | DST | 1 | dst_next[0] | Next DST schedule | 1 |
| :19 | M | P2 | time[0] | (duplicate) | 0 | :39 | M | P4 | R | reserved | 1 | :59 | M | P0 | sync[13] | | 0 |
Bits within fields are numbered from bit 0 as the least-significant bit; each field is transmitted most significant bit first.
The example shows the time code transmitted on July 4, 2012 between 17:30 and 17:31 UTC.$^{:12–13}$ The BCD amplitude code shows a time of 17:30, on day 186 of the year.
The binary time code shows minute 0x064631A = 6578970 of the century. Dividing by 1440 minutes per day, this is minute 1050 (= 17×60 + 30) of day 4568 of the century. There are 365×12 + 3 = 4383 days in the 12 years before 2012, so this is day 185 of the year. This day number begins at 0 on January 1, rather than 1 like the BCD time code, so it encodes the same date.

### Announcement bits

The phase-modulated code contains additional announcement bits useful for converting the broadcast UTC to civil time.
In addition to the DST and leap second warning bits found in the amplitude-modulated code, an additional DST schedule field provides several months advance warning of daylight saving time rules.
A final bit, the "notice" bit, indicates that there is an announcement of interest to WWVB users posted at nist.gov/pml/div688/grp40/wwvb.cfm.
Two reserved bits are not currently defined, but not guaranteed to be zero; note that one of them is transmitted as 1 in the example above.
The DUT1 information (+0.4 s) and leap year indicator bits (2012 is a leap year) in the amplitude modulated code are not included in the phase modulated code; the use of DUT1 for celestial navigation has been obsoleted by satellite navigation.

#### DST and leap second warning

The phase-modulated time code contains daylight saving time announcement and leap second warning information equivalent to the amplitude-modulated code, but they are combined into one 5-bit field for error detection purposes.
There are two DST announcement bits that let a receiver apply U.S. daylight saving time rules:
* dst_on[0] is set if DST was in effect at the beginning of the current UTC day (00:00 UTC).
* dst_on[1] is set if DST will be in effect at the end of the current UTC day (24:00 UTC).
The two bits differ on days when daylight saving time is changing (at 02:00 local time).
There are also three leap second warning possibilities (0, +1, or −1 seconds), making twelve possible values that need to be encoded. Eleven of these are encoded as 5-bit codes with odd parity, providing single-bit error detection (a minimum Hamming distance of 2 between any two valid codes).
Five of the 16 possible odd-parity values (all those differing in one bit from 00011) are not used, and the even-parity value 00011 is used to encode the most common condition: DST in effect, no leap second pending. This provides single-bit error correction (a minimum Hamming distance of 3) whenever this code is transmitted.
WWVB Phase-modulated warning bits :
| DST warning | DST warning | DST warning | Leap warning | Leap warning | Leap warning |
| Meaning | dst_on[0] | dst_on[1] | 0 | +1 | −1 |
| Not in effect | 0 | 0 | 01000 | 11001 | 00100 |
| Begins today | 0 | 1 | 10110 | 11010 | 10000 |
| In effect | 1 | 1 | 00011 | 11111 | 01101 |
| Ends today | 1 | 0 | 10101 | 11100 | 01110 |
The above example illustrates this common case: DST is in effect, and no leap second is pending (the last leap second was 4 days ago).
During a leap second, bit 59 (a marker bit with a phase-modulated code of 0) is transmitted again.

#### DST schedule

To extend the few hours' warning provided by dst_on[1], another 6-bit field encodes the schedule for the next DST change. The encoding is somewhat intricate, but effectively provides 5 bits of information. Three bits supply the date of the change, either 0 to 7 Sundays after the first Sunday in March (when dst_on[1] = 0), or 4 Sundays before to 3 Sundays after the first Sunday in November (when dst_on[1] = 1).
Two more bits encode the time of the change: 1:00, 2:00, or 3:00 AM local time. The fourth combination of these two bits encodes (using the date-of-change bits) several special cases: DST at some other time, DST always off, DST always on, and five reserved codes.
As with the other warning field, most of the assigned 6-bit codes have odd parity, providing a Hamming distance of 2 from each other. However, 6 of the 32 odd-parity codes are not used (all those differing in one bit from 011011), and the even-parity code 011011 is used to encode the most common DST rule (2nd Sunday in March, or 1st Sunday in November) with a Hamming distance of 3.
The five additional reserved codes are assigned to other even-parity code words a Hamming distance of 1 from unlikely DST rule codes.
The example code of 011011 indicates a DST change at 02:00 on the first Sunday in November.

### Message frames

A small percentage of the time code frames (typically less than 10%)$^{:5}$ may be replaced by one-minute message frames, containing other information, such as emergency broadcasts.
The details of such frames have not been finalized, but they will begin with an alternate synchronization word (1101000111010, and a 0 during second 59), and include 42 bits of non-time data in the non-marker bits of the time code. Message frames still contain time[0] during second 19 and the notice bit during second 49, so a receiver which knows the time to within ±1 minute can synchronize to them.
Messages are expected to span multiple message frames.

### Six-minute time frames

For six minutes each half hour, from 10–16 and 40–46 minutes past each hour, one-minute frames are replaced by a special extended time frame. Rather than transmitting 35 bits of information in one minute, this transmits 7 bits (time of day and DST status only) over 6 minutes, giving 30 times as much energy per transmitted bit, a 14.8 dB improvement in the link budget compared to the standard one-minute time code.$^{:13–17}$
The 360-bit code word consists of three parts:
* A 127-bit sequence (generated by a 7-bit linear-feedback shift register), rotated left by a variable amount to encode a value from 0 to 123.
* A 106-bit fixed bit sequence.
* The 127-bit reverse of the initial sequence. Because it is reversed, it is effectively rotated in the opposite direction.
The only information transmitted is the time within the day (one of 48 half hours), plus the current U.S. daylight saving time status, making 2×48 = 96 possible time codes.
An additional 2×14 = 28 time codes are transmitted between 04:10 and 10:46 UTC on days when daylight saving time is changing, providing several hours' warning of an imminent DST change.

## Propagation

Since WWVB's low frequency signal tends to propagate better along the ground, the signal path from transmitter to the receiver is shorter and less turbulent than WWV's shortwave signal, which is strongest when it bounces between the ionosphere and the ground. This results in the WWVB signal having greater accuracy than the WWV signal as received at the same site. Also, since longwave signals tend to propagate much farther at night, the WWVB signal can reach a larger coverage area during that time period, which is why many radio-controlled clocks are designed to automatically synchronize with the WWVB time code during local nighttime hours.
The radiation pattern of WWVB antennas is designed to present a field strength of at least 100 μV/m over most of the continental United States and Southern Canada during some portion of the day. Although this value is well above the thermal noise floor, man-made noise and local interference from a wide range of electronic equipment can easily mask the signal. Positioning receiving antennas away from electronic equipment helps to reduce the effects of local interference.