COEN 180
Magnetic Codes

Signal-Coding Methods

Magnetic codes change the stream of zero and one bits into changes of magnetization. The easiest code is the NRZ code. A one is encoded in one direction of magnetization, a zero in the opposite direction of magnetization. This is known as the NRZ (no return on zero) code. Recall that the direction of the write current determined the direction of the magnetization to understand the example in Figure 1 top. To read this code, we need to apply a clock. The vertical lines are in Figure 1 are the clock ticks, defining a window. If we misread a bit in the NRZ code by miscounting, all subsequent bits are inverted. NRZI makes reading even easier. A flux change within the timing window means a one, the absence of a flux change a zero. Missing a flux change now no longer falsifies the rest of the bit stream.


Figure 1: Write currents for NRZ and NRZI binary coding

The principal drawback of NRZI is the clocking difficulties for a long string of zeroes (NRZ has the problem for long strings of ones as well). Furthermore, repeating ones in NRZI lead to a sequence of flux changes. As we have seen, flux changes in close proximity interfere with each other when read.

Phase encoding (PE) alleviates the clocking problem and is being used for 1/2 inch tapes. PE has a up transition for a one, a down transition for a zero. If there are two or more ones or zeroes in a row, then extra transitions occur at the bit cell boundary. PE can have twice as many flux transitions than there are bit changes in the original data. FM (Frequency Modulation) has a transition to delimit each clock window. A transition in the middle of the clock cell indicates a one, the absence of one a zero. In the worst case, FM also has twice as many transitions as bits. MFM (delay modulation / Miller Code) is an extremely popular variant of FM where the flux changes at the clock window boundaries are suppressed if they do not serve to adjust the clock timing. Thus, in MFM, we have a transition in the middle of the clock window, if the bit is a one. We have a transition at the boundary of the clock window if the data bits encoded in the two windows are both zeroes. The number of flux changes is now equal to the number of changes between bits.


Figure 2: Write currents for PE, FM, and MFM.

We can represent MFM as a state diagram. The data bits determine the transitions (the number next to the arrows) and the two bits within the state the bits emitted. In the emitted bit stream, a 1 stands for a transition, a 0 for a lack of a transition. The first bit indicates the changing of the clock window, the second one the transition or lack thereof in the middle of the clock window.


Figure 3: MFM (Miller Code) State Diagram.

Modulation Codes

A modulation code transforms a data string into a magnetic code. The magnetic code is written on the magnetic recording medium as an NRZI waveform, that is, there is a transition whenever the magnetic code is a one. These codes are characterized by Higher values of d are important for data density, transitions spaced far apart do not interfere with each other. Lower values of k indicate a code that has enough transitions to synchronize the clock. These parameters can describe many of the important properties of the magnetic recording coding, but not for example the bounds on the spread of an error. If a code misreads one transition, e.g. by assigning it to the wrong spot (such as 0001000100000.. is read as 000100100000... where the second 1 is misread to have occurred earlier), then hopefully not all subsequent bits in the sector are in trouble. Magnetic codes do not have to be fixed length, for example the ½(2,7) code given in Table 1.

Data Code Word
10
0100
11
1000
000
000100
010
100100
011
001000
0010
00100100
0011
00001000

Table 1: The ½(2,7) Code Table.

High performance drives have used partial response (PR) channels and maximum likelihood (ML) decoding. In a PRML channel, the readback pulses from adjacent transitions are allowed to interfere with each other. The ML decoding unravels the results of this interference. For such codes, d can be zero.
© 2003 Thomas Schwarz, S.J., COEN, SCU                                                                              SCU            COEN            T. Schwarz            COEN 180