Частотная модуляция в кодировании информации для магнитных носителей

Первой наиболее используемой системой кодирования информации для магнитных носителей была частотная модуляция, или FM.

FM кодирование

Принцип модуляции был предельно прост: 1 кодировалась двумя последовательными сменами полярности, в то время как 0 кодировался одной сменой полярности и оставлением ее неизменной. Таким образом, в начале каждого бита информации мы наблюдали смену полярности и таким образом мы всегда могли восстановить синхронизацию битов.

Ниже представлена таблица, на которой R-означает смену полярности, в то время как N — отсутствие.

Бит Кодированная последовательность Количество смен полярности на бит Вероятность появления в случайном потоке данных
0 RN 1 50%
1 RR 2 50%
Взвешенное среднее 1.5 100%

Термин частотной модуляции берет свое начало от разного количества смен полярности для 0 и для 1. Например, байт со всеми нулями выглядит как RNRNRNRNRNRNRNRN в то время как байт 0xFF (все биты — единички) выглядит как RRRRRRRRRRRRRRRR. Как видно, у 1 вдвое больше частота смены полярности, чем у 0, отсюда и идет термин частотная модуляция.

Частотная модуляция была очень расточительной: каждый бит информации требовал два "магнитика". По сравнению с более продвинутыми методами кодирования, у FM-кодирования каждый бит сопровождался информацией о синхронизации (клоковой — каждый бит данных в цифровых системах обычно сопровождается синхроимпульсом, называемым клоком), в то время как сама задача кодирования и состоит в уменьшении информации о синхронизации на один и тот же удельный объем данных. Этот метод кодирования использовался в ранних дисководах на гибких дисках. Если вы можете вспомнить, были такие гибкие диски с пометкой "single density" в 80-ых годах прошлого столетия. FM-кодирование вскоре было заменено на лучшее MFM-кодирование (Modified Frequency Modulation).

На рисунке представлена кодированная форма записи байта "10001111".

sf2 1

MFM кодирование

Частотная модуляция была очень расточительной: каждый бит информации требовал два "магнитика". По сравнению с более продвинутыми методами кодирования, у FM-кодирования каждый бит сопровождался информацией о синхронизации (клоковой), в то время как сама задача кодирования и состоит в уменьшении информации о синхронизации на один и тот же удельный объем данных. Этот метод кодирования использовался в ранних дисководах на гибких дисках. Если вы можете вспомнить, были такие гибкие диски с пометкой "single density" в 80-ых годах прошлого столетия. FM-кодирование вскоре было заменено на лучшее MFM-кодирование (Modified Frequency Modulation).

MFM-кодирование было лучше чем FM-кодирование в смысле уменьшения магнитных переходов полярности, используемых для синхронизации (клоковых). Вместо вставки клоковой информации на каждый бит, она вставлялась только в случае двух последовательных нулей. Ведь, когда пишется 1, у нас и так есть смена полярности (в середине бита), так что нет необходимости в дополнительной смене полярности в целях правильного восстановления синхронизации. Когда 0 следует после единицы, у нас уже недавно (во время 1) была клоковая информация, и мы можем отталкиваться от нее. Так что смена полярности нам в данном случае не нужна, а требуется она только тогда, когда мы имеем последовательно два 0.

Таблица показывает кодовые последовательности для MFM-кодирования, где R означает смену полярности, в то время как N означает отсутствие ее. Среднее количество смен полярности на один бит равно 0.75. В лучшем случае (последовательность 0 и 1) — 0.25, в худшем (все единицы или нули) — 1.

Битовая последовательность Кодированная последовательность Смены полярности на бит Вероятность появления в случайном наборе данных
0 (предшествующий 0) RN 1 25%
0 (предшествующий 1) NN 0 25%
1 NR 1 50%
Взвешенное среднее 0.75 100%

Т.к. среднее количество перемен полярности на один бит в два раза меньше, чем у FM-кодирования, можно записать в два раза больше информации на одном и том же участке поверхности. Единственной ценой такого улучшения будет лишь более сложная электроника для кодирования и декодирования информации, т.к. в MFM-кодировании используется более сложный алгоритм, чем в FM-кодировании. Тем не менее, это было малеой ценой для удвоения полезной информации, записываемой в накопителе.

MFM-кодирование использовалось в ранних винчестерах, а также в флоппи-дисководах. Т.к. MFM-кодирование в два раза поднимало объем записываемой информации, такие гибкие диски назывались "double density". MFM-кодирование до сих пор используется в дисководах на магнитных дисках. Для жестких дисков вскоре был изобретен более эффективный метод кодирования информации: RLL. В случае с гибкими дисками, новые методы уже не использовались, в силу отсутствия необходимости в переносе больших объемов данных на гибких дисках (это было бы достаточно не надежно), а также в случае с гибкими дисками требуется совместимость новых стандартов кодирования и старых: любой современный дисковод может читать как FM-, так и MFM-кодированные диски, в то время как принцип RLL-кодирования принципиально отличается от двух предыдущих.

На рисунке представлено кодированная форма записи байта "10001111" в случае FM и MFM кодирования.

sf2 2

Статьи

© ООО «Спас-Инфо», 2000-2006

Rambler's Top100