Обнаружение и исправление ошибок

Поделись знанием:
Перейти к: навигация, поиск

Обнаруже́ние оши́бок в технике связи — действие, направленное на контроль целостности данных при записи/воспроизведении информации или при её передаче по линиям связи. Исправление ошибок (коррекция ошибок) — процедура восстановления информации после чтения её из устройства хранения или канала связи.

Для обнаружения ошибок используют коды обнаружения ошибок, для исправления — корректирующие коды (коды, исправляющие ошибки, коды с коррекцией ошибок, помехоустойчивые коды).





Содержание

Способы борьбы с ошибками

В процессе хранения данных и передачи информации по сетям связи неизбежно возникают ошибки. Контроль целостности данных и исправление ошибок — важные задачи на многих уровнях работы с информацией (в частности, физическом, канальном, транспортном уровнях сетевой модели OSI).

В системах связи возможны несколько стратегий борьбы с ошибками:

  • обнаружение ошибок в блоках данных и автоматический запрос повторной передачи повреждённых блоков — этот подход применяется, в основном, на канальном и транспортном уровнях;
  • обнаружение ошибок в блоках данных и отбрасывание повреждённых блоков — такой подход иногда применяется в системах потокового мультимедиа, где важна задержка передачи и нет времени на повторную передачу;
  • исправление ошибок (англ. forward error correction) применяется на физическом уровне.

Коды обнаружения и исправления ошибок

Корректирующие коды — коды, служащие для обнаружения или исправления ошибок, возникающих при передаче информации под влиянием помех, а также при её хранении.

Для этого при записи (передаче) в полезные данные добавляют специальным образом структурированную избыточную информацию (контрольное число), а при чтении (приёме) её используют для того, чтобы обнаружить или исправить ошибки. Естественно, что число ошибок, которое можно исправить, ограничено и зависит от конкретного применяемого кода.

С кодами, исправляющими ошибки, тесно связаны коды обнаружения ошибок. В отличие от первых, последние могут только установить факт наличия ошибки в переданных данных, но не исправить её.

В действительности, используемые коды обнаружения ошибок принадлежат к тем же классам кодов, что и коды, исправляющие ошибки. Фактически любой код, исправляющий ошибки, может быть также использован для обнаружения ошибок (при этом он будет способен обнаружить большее число ошибок, чем был способен исправить).

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

Блоковые коды

Пусть кодируемая информация делится на фрагменты длиной <math>k</math> бит, которые преобразуются в кодовые слова длиной <math>n</math> бит. Тогда соответствующий блоковый код обычно обозначают <math>(n,\;k)</math>. При этом число <math>R=\frac{k}{n}</math> называется скоростью кода.

Если исходные <math>k</math> бит код оставляет неизменными, и добавляет <math>n-k</math> проверочных, такой код называется систематическим, иначе — несистематическим.

Задать блоковый код можно по-разному, в том числе таблицей, где каждой совокупности из <math>k</math> информационных бит сопоставляется <math>n</math> бит кодового слова. Однако хороший код должен удовлетворять как минимум следующим критериям:

  • способность исправлять как можно большее число ошибок,
  • как можно меньшая избыточность,
  • простота кодирования и декодирования.

Нетрудно видеть, что приведённые требования противоречат друг другу. Именно поэтому существует большое количество кодов, каждый из которых пригоден для своего круга задач.

Практически все используемые коды являются линейными. Это связано с тем, что нелинейные коды значительно сложнее исследовать, и для них трудно обеспечить приемлемую лёгкость кодирования и декодирования.

Линейные коды общего вида

Линейный блоковый код — такой код, что множество его кодовых слов образует <math>k</math>-мерное линейное подпространство (назовём его <math>C</math>) в <math>n</math>-мерном линейном пространстве, изоморфное пространству <math>k</math>-битных векторов.

Это значит, что операция кодирования соответствует умножению исходного <math>k</math>-битного вектора на невырожденную матрицу <math>G</math>, называемую порождающей матрицей.

Пусть <math>C^{\perp}</math> — ортогональное подпространство по отношению к <math>C</math>, а <math>H</math> — матрица, задающая базис этого подпространства. Тогда для любого вектора <math>\overrightarrow{v}\in C</math> справедливо:

<math>\overrightarrow{v}H^T=\overrightarrow{0}.</math>
Минимальное расстояние и корректирующая способность

Расстоянием Хемминга (метрикой Хемминга) между двумя кодовыми словами <math>\overrightarrow{u}</math> и <math>\overrightarrow{v}</math> называется количество отличных бит на соответствующих позициях:

<math>d_H(\overrightarrow{u},\;\overrightarrow{v})=\sum_s{|u^{(s)}-v^{(s)}|}</math>.

Минимальное расстояние Хемминга <math>d_\min=\min_{u\ne v}d_H(\overrightarrow{u},\;\overrightarrow{v})</math> является важной характеристикой линейного блокового кода. Она показывает, насколько «далеко» расположены коды друг от друга. Она определяет другую, не менее важную характеристику — корректирующую способность:

<math>t=\left\lfloor\frac{d_\min-1}{2}\right\rfloor</math>.

Корректирующая способность определяет, сколько ошибок передачи кода (типа <math>1\leftrightarrow 0</math>) можно гарантированно исправить. То есть вокруг каждого кодового слова <math>A</math> имеем <math>t</math>-окрестность <math>A_t</math>, которая состоит из всех возможных вариантов передачи кодового слова <math>A</math> с числом ошибок (<math>1\leftrightarrow 0</math>) не более <math>t</math>. Никакие две окрестности двух любых кодовых слов не пересекаются друг с другом, так как расстояние между кодовыми словами (то есть центрами этих окрестностей) всегда больше двух их радиусов <math>d_H(A,\;B)\geqslant d_\min>2t</math>.

Таким образом, получив искажённую кодовую комбинацию из <math>A_t</math>, декодер принимает решение, что исходной была кодовая комбинация <math>A</math>, исправляя тем самым не более <math>t</math> ошибок.

Поясним на примере. Предположим, что есть два кодовых слова <math>A</math> и <math>B</math>, расстояние Хемминга между ними равно 3. Если было передано слово <math>A</math>, и канал внёс ошибку в одном бите, она может быть исправлена, так как даже в этом случае принятое слово ближе к кодовому слову <math>A</math>, чем к любому другому, и, в частности, к <math>B</math>. Но если каналом были внесены ошибки в двух битах (в которых <math>A</math> отличалось от <math>B</math>), то результат ошибочной передачи <math>A</math> окажется ближе к <math>B</math>, чем <math>A</math>, и декодер примет решение, что передавалось слово <math>B</math>.

Коды Хемминга

Коды Хемминга — простейшие линейные коды с минимальным расстоянием 3, то есть способные исправить одну ошибку. Код Хемминга может быть представлен в таком виде, что синдром

<math>\overrightarrow{s}=\overrightarrow{r}H^T</math>, где <math>\overrightarrow{r}</math> — принятый вектор, будет равен номеру позиции, в которой произошла ошибка. Это свойство позволяет сделать декодирование очень простым.
Общий метод декодирования линейных кодов

Любой код (в том числе нелинейный) можно декодировать с помощью обычной таблицы, где каждому значению принятого слова <math>\overrightarrow{r}_i</math> соответствует наиболее вероятное переданное слово <math>\overrightarrow{u}_i</math>. Однако данный метод требует применения огромных таблиц уже для кодовых слов сравнительно небольшой длины.

Для линейных кодов этот метод можно существенно упростить. При этом для каждого принятого вектора <math>\overrightarrow{r}_i</math> вычисляется синдром <math>\overrightarrow{s}_i=\overrightarrow{r}_i H^T</math>. Поскольку <math>\overrightarrow{r}_i=\overrightarrow{v}_i+\overrightarrow{e}_i</math>, где <math>\overrightarrow{v}_i</math> — кодовое слово, а <math>\overrightarrow{e}_i</math> — вектор ошибки, то <math>\overrightarrow{s}_i=\overrightarrow{e}_i H^T</math>. Затем с помощью таблицы по синдрому определяется вектор ошибки, с помощью которого определяется переданное кодовое слово. При этом таблица получается гораздо меньше, чем при использовании предыдущего метода.

Линейные циклические коды

Несмотря на то, что декодирование линейных кодов значительно проще декодирования большинства нелинейных, для большинства кодов этот процесс всё ещё достаточно сложен. Циклические коды, кроме более простого декодирования, обладают и другими важными свойствами.

Циклическим кодом является линейный код, обладающий следующим свойством: если <math>\overrightarrow{v}</math> является кодовым словом, то его циклическая перестановка также является кодовым словом.

Слова циклического кода удобно представлять в виде многочленов. Например, кодовое слово <math>\overrightarrow{v}=(v_0,\;v_1,\;\ldots,\;v_{n-1})</math> представляется в виде полинома <math>v(x)=v_0+v_1 x+\ldots+v_{n-1}x^{n-1}</math>. При этом циклический сдвиг кодового слова эквивалентен умножению многочлена на <math>x</math> по модулю <math>x^n-1</math>.

В дальнейшем, если не указано иное, мы будем считать, что циклический код является двоичным, то есть <math>v_0,\;v_1,\;\ldots</math> могут принимать значения 0 или 1.

Порождающий (генераторный) полином

Можно показать, что все кодовые слова конкретного циклического кода кратны определённому порождающему полиному <math>g(x)</math>. Порождающий полином является делителем <math>x^n-1</math>.

С помощью порождающего полинома осуществляется кодирование циклическим кодом. В частности:

  • несистематическое кодирование осуществляется путём умножения кодируемого вектора на <math>g(x)</math>: <math>v(x)=u(x)g(x)</math>;
  • систематическое кодирование осуществляется путём «дописывания» к кодируемому слову остатка от деления <math>x^{n-k}u(x)</math> на <math>g(x)</math>, то есть <math>v(x)=x^{n-k}u(x)+[x^{n-k}u(x)\,\bmod\,g(x)]</math>.
Коды CRC

Коды CRC (англ. cyclic redundancy check — циклическая избыточная проверка) являются систематическими кодами, предназначенными не для исправления ошибок, а для их обнаружения. Они используют способ систематического кодирования, изложенный выше: «контрольная сумма» вычисляется путём деления <math>x^{n-k}u(x)</math> на <math>g(x)</math>. Ввиду того, что исправление ошибок не требуется, проверка правильности передачи может производиться точно так же.

Таким образом, вид полинома <math>g(x)</math> задаёт конкретный код CRC. Примеры наиболее популярных полиномов:

Название кода Степень Полином
CRC-12 12 <math>x^{12}+x^{11}+x^{3}+x^{2}+x+1</math>
CRC-16 16 <math>x^{16}+x^{15}+x^{2}+1</math>
CRC-CCITT 16 <math>x^{16}+x^{12}+x^{5}+1</math>
CRC-32 32 <math>x^{32}+x^{26}+x^{23}+x^{22}+x^{16}+x^{12}+x^{11}+x^{10}+x^{8}+x^{7}+x^{5}+x^{4}+x^{2}+x+1</math>
Коды БЧХ

Коды Боуза — Чоудхури — Хоквингема (БЧХ) являются подклассом циклических кодов. Их отличительное свойство — возможность построения кода БЧХ с минимальным расстоянием не меньше заданного. Это важно, потому что, вообще говоря, определение минимального расстояния кода есть очень сложная задача.

Коды коррекции ошибок Рида — Соломона

Коды Рида — Соломона — недвоичные циклические коды, позволяющие исправлять ошибки в блоках данных. Элементами кодового вектора являются не биты, а группы битов (блоки). Очень распространены коды Рида-Соломона, работающие с байтами (октетами).

Математически коды Рида — Соломона являются кодами БЧХ.

Преимущества и недостатки блоковых кодов

Хотя блоковые коды, как правило, хорошо справляются с редкими, но большими пачками ошибок, их эффективность при частых, но небольших ошибках (например, в канале с АБГШ), менее высока.

Свёрточные коды

Свёрточные коды, в отличие от блоковых, не делят информацию на фрагменты и работают с ней как со сплошным потоком данных.

Свёрточные коды, как правило, порождаются дискретной линейной инвариантной во времени системой. Поэтому, в отличие от большинства блоковых кодов, свёрточное кодирование — очень простая операция, чего нельзя сказать о декодировании.

Кодирование свёрточным кодом производится с помощью регистра сдвига, отводы от которого суммируются по модулю два. Таких сумм может быть две (чаще всего) или больше.

Декодирование свёрточных кодов, как правило, производится по алгоритму Витерби, который пытается восстановить переданную последовательность согласно критерию максимального правдоподобия.

Преимущества и недостатки свёрточных кодов

Свёрточные коды эффективно работают в канале с белым шумом, но плохо справляются с пакетами ошибок. Более того, если декодер ошибается, на его выходе всегда возникает пакет ошибок.

Каскадное кодирование. Итеративное декодирование

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

Например, популярной является следующая конструкция: данные кодируются кодом Рида-Соломона, затем перемежаются (при этом символы, расположенные близко, помещаются далеко друг от друга) и кодируются свёрточным кодом. На приёмнике сначала декодируется свёрточный код, затем осуществляется обратное перемежение (при этом пачки ошибок на выходе свёрточного декодера попадают в разные кодовые слова кода Рида — Соломона), и затем осуществляется декодирование кода Рида — Соломона.

Некоторые коды-произведения специально сконструированы для итеративного декодирования, при котором декодирование осуществляется в несколько проходов, каждый из которых использует информацию от предыдущего. Это позволяет добиться большой эффективности, однако декодирование требует больших ресурсов. К таким кодам относят турбо-коды и LDPC-коды (коды Галлагера).

Сетевое кодирование

Оценка эффективности кодов

Эффективность кодов определяется количеством ошибок, которые тот может исправить, количеством избыточной информации, добавление которой требуется, а также сложностью реализации кодирования и декодирования (как аппаратной, так и в виде программы для ЭВМ).

Граница Хемминга и совершенные коды

Пусть имеется двоичный блоковый <math>(n,k)</math> код с корректирующей способностью <math>t</math>. Тогда справедливо неравенство (называемое границей Хемминга):

<math>\sum_{i=0}^t {n\choose i}\leqslant 2^{n-k}.</math>

Коды, удовлетворяющие этой границе с равенством, называются совершенными. К совершенным кодам относятся, например, коды Хемминга. Часто применяемые на практике коды с большой корректирующей способностью (такие, как коды Рида — Соломона) не являются совершенными.

Энергетический выигрыш

При передаче информации по каналу связи вероятность ошибки зависит от отношения сигнал/шум на входе демодулятора, таким образом, при постоянном уровне шума решающее значение имеет мощность передатчика. В системах спутниковой и мобильной, а также других типов связи остро стоит вопрос экономии энергии. Кроме того, в определённых системах связи (например, телефонной) неограниченно повышать мощность сигнала не дают технические ограничения.

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

Применение кодов, исправляющих ошибки

Коды, исправляющие ошибки, применяются:

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

Коды, обнаруживающие ошибки, применяются в сетевых протоколах различных уровней.

Автоматический запрос повторной передачи

Системы с автоматическим запросом повторной передачи (ARQ — Automatic Repeat reQuest) основаны на технологии обнаружения ошибок. Распространены следующие методы автоматического запроса:

Запрос ARQ с остановками (stop-and-wait ARQ)

Идея этого метода заключается в том, что передатчик ожидает от приемника подтверждения успешного приема предыдущего блока данных перед тем, как начать передачу следующего. В случае, если блок данных был принят с ошибкой, приемник передает отрицательное подтверждение (negative acknowledgement, NAK), и передатчик повторяет передачу блока. Данный метод подходит для полудуплексного канала связи. Его недостатком является низкая скорость из-за высоких накладных расходов на ожидание.

Непрерывный запрос ARQ с возвратом (continuous ARQ with pullback)

Для этого метода необходим полнодуплексный канал. Передача данных от передатчика к приемнику производится одновременно. В случае ошибки передача возобновляется, начиная с ошибочного блока (то есть передается ошибочный блок и все последующие).

Непрерывный запрос ARQ с выборочным повторением (continuous ARQ with selective repeat)

При этом подходе осуществляется передача только ошибочно принятых блоков данных.

См. также

Напишите отзыв о статье "Обнаружение и исправление ошибок"

Литература

  • Блейхут Р. Теория и практика кодов, контролирующих ошибки = Theory and Practice of Error Control Codes. — М.: Мир, 1986. — 576 с.
  • Мак-Вильямс Ф. Дж., Слоэн Н. Дж. А. Теория кодов, исправляющих ошибки. М.: Радио и связь, 1979.
  • Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение / пер. с англ. В. Б. Афанасьева. — М.: Техносфера, 2006. — 320 с. — (Мир связи). — 2000 экз. — ISBN 5-94836-035-0.

Ссылки

  • [kunegin.narod.ru/ref3/code/index.htm Помехоустойчивое кодирование] (11 ноября 2001). — реферат по проблеме кодирования сообщений с исправлением ошибок. Проверено 25 декабря 2006. [www.webcitation.org/61BnKa76j Архивировано из первоисточника 25 августа 2011].
  • [habrahabr.ru/post/191418/ Коды Рида-Соломона. Простой пример]. Просто, доступно, на конкретных числах. Для начинающих.

Отрывок, характеризующий Обнаружение и исправление ошибок

Тарутинское сражение, очевидно, не достигло той цели, которую имел в виду Толь: по порядку ввести по диспозиции в дело войска, и той, которую мог иметь граф Орлов; взять в плен Мюрата, или цели истребления мгновенно всего корпуса, которую могли иметь Бенигсен и другие лица, или цели офицера, желавшего попасть в дело и отличиться, или казака, который хотел приобрести больше добычи, чем он приобрел, и т. д. Но, если целью было то, что действительно совершилось, и то, что для всех русских людей тогда было общим желанием (изгнание французов из России и истребление их армии), то будет совершенно ясно, что Тарутинское сражение, именно вследствие его несообразностей, было то самое, что было нужно в тот период кампании. Трудно и невозможно придумать какой нибудь исход этого сражения, более целесообразный, чем тот, который оно имело. При самом малом напряжении, при величайшей путанице и при самой ничтожной потере были приобретены самые большие результаты во всю кампанию, был сделан переход от отступления к наступлению, была обличена слабость французов и был дан тот толчок, которого только и ожидало наполеоновское войско для начатия бегства.


Наполеон вступает в Москву после блестящей победы de la Moskowa; сомнения в победе не может быть, так как поле сражения остается за французами. Русские отступают и отдают столицу. Москва, наполненная провиантом, оружием, снарядами и несметными богатствами, – в руках Наполеона. Русское войско, вдвое слабейшее французского, в продолжение месяца не делает ни одной попытки нападения. Положение Наполеона самое блестящее. Для того, чтобы двойными силами навалиться на остатки русской армии и истребить ее, для того, чтобы выговорить выгодный мир или, в случае отказа, сделать угрожающее движение на Петербург, для того, чтобы даже, в случае неудачи, вернуться в Смоленск или в Вильну, или остаться в Москве, – для того, одним словом, чтобы удержать то блестящее положение, в котором находилось в то время французское войско, казалось бы, не нужно особенной гениальности. Для этого нужно было сделать самое простое и легкое: не допустить войска до грабежа, заготовить зимние одежды, которых достало бы в Москве на всю армию, и правильно собрать находившийся в Москве более чем на полгода (по показанию французских историков) провиант всему войску. Наполеон, этот гениальнейший из гениев и имевший власть управлять армиею, как утверждают историки, ничего не сделал этого.
Он не только не сделал ничего этого, но, напротив, употребил свою власть на то, чтобы из всех представлявшихся ему путей деятельности выбрать то, что было глупее и пагубнее всего. Из всего, что мог сделать Наполеон: зимовать в Москве, идти на Петербург, идти на Нижний Новгород, идти назад, севернее или южнее, тем путем, которым пошел потом Кутузов, – ну что бы ни придумать, глупее и пагубнее того, что сделал Наполеон, то есть оставаться до октября в Москве, предоставляя войскам грабить город, потом, колеблясь, оставить или не оставить гарнизон, выйти из Москвы, подойти к Кутузову, не начать сражения, пойти вправо, дойти до Малого Ярославца, опять не испытав случайности пробиться, пойти не по той дороге, по которой пошел Кутузов, а пойти назад на Можайск и по разоренной Смоленской дороге, – глупее этого, пагубнее для войска ничего нельзя было придумать, как то и показали последствия. Пускай самые искусные стратегики придумают, представив себе, что цель Наполеона состояла в том, чтобы погубить свою армию, придумают другой ряд действий, который бы с такой же несомненностью и независимостью от всего того, что бы ни предприняли русские войска, погубил бы так совершенно всю французскую армию, как то, что сделал Наполеон.
Гениальный Наполеон сделал это. Но сказать, что Наполеон погубил свою армию потому, что он хотел этого, или потому, что он был очень глуп, было бы точно так же несправедливо, как сказать, что Наполеон довел свои войска до Москвы потому, что он хотел этого, и потому, что он был очень умен и гениален.
В том и другом случае личная деятельность его, не имевшая больше силы, чем личная деятельность каждого солдата, только совпадала с теми законами, по которым совершалось явление.
Совершенно ложно (только потому, что последствия не оправдали деятельности Наполеона) представляют нам историки силы Наполеона ослабевшими в Москве. Он, точно так же, как и прежде, как и после, в 13 м году, употреблял все свое уменье и силы на то, чтобы сделать наилучшее для себя и своей армии. Деятельность Наполеона за это время не менее изумительна, чем в Египте, в Италии, в Австрии и в Пруссии. Мы не знаем верно о том, в какой степени была действительна гениальность Наполеона в Египте, где сорок веков смотрели на его величие, потому что эти все великие подвиги описаны нам только французами. Мы не можем верно судить о его гениальности в Австрии и Пруссии, так как сведения о его деятельности там должны черпать из французских и немецких источников; а непостижимая сдача в плен корпусов без сражений и крепостей без осады должна склонять немцев к признанию гениальности как к единственному объяснению той войны, которая велась в Германии. Но нам признавать его гениальность, чтобы скрыть свой стыд, слава богу, нет причины. Мы заплатили за то, чтоб иметь право просто и прямо смотреть на дело, и мы не уступим этого права.
Деятельность его в Москве так же изумительна и гениальна, как и везде. Приказания за приказаниями и планы за планами исходят из него со времени его вступления в Москву и до выхода из нее. Отсутствие жителей и депутации и самый пожар Москвы не смущают его. Он не упускает из виду ни блага своей армии, ни действий неприятеля, ни блага народов России, ни управления долами Парижа, ни дипломатических соображений о предстоящих условиях мира.


В военном отношении, тотчас по вступлении в Москву, Наполеон строго приказывает генералу Себастиани следить за движениями русской армии, рассылает корпуса по разным дорогам и Мюрату приказывает найти Кутузова. Потом он старательно распоряжается об укреплении Кремля; потом делает гениальный план будущей кампании по всей карте России. В отношении дипломатическом, Наполеон призывает к себе ограбленного и оборванного капитана Яковлева, не знающего, как выбраться из Москвы, подробно излагает ему всю свою политику и свое великодушие и, написав письмо к императору Александру, в котором он считает своим долгом сообщить своему другу и брату, что Растопчин дурно распорядился в Москве, он отправляет Яковлева в Петербург. Изложив так же подробно свои виды и великодушие перед Тутолминым, он и этого старичка отправляет в Петербург для переговоров.
В отношении юридическом, тотчас же после пожаров, велено найти виновных и казнить их. И злодей Растопчин наказан тем, что велено сжечь его дома.
В отношении административном, Москве дарована конституция, учрежден муниципалитет и обнародовано следующее:
«Жители Москвы!
Несчастия ваши жестоки, но его величество император и король хочет прекратить течение оных. Страшные примеры вас научили, каким образом он наказывает непослушание и преступление. Строгие меры взяты, чтобы прекратить беспорядок и возвратить общую безопасность. Отеческая администрация, избранная из самих вас, составлять будет ваш муниципалитет или градское правление. Оное будет пещись об вас, об ваших нуждах, об вашей пользе. Члены оного отличаются красною лентою, которую будут носить через плечо, а градской голова будет иметь сверх оного белый пояс. Но, исключая время должности их, они будут иметь только красную ленту вокруг левой руки.
Городовая полиция учреждена по прежнему положению, а чрез ее деятельность уже лучший существует порядок. Правительство назначило двух генеральных комиссаров, или полицмейстеров, и двадцать комиссаров, или частных приставов, поставленных во всех частях города. Вы их узнаете по белой ленте, которую будут они носить вокруг левой руки. Некоторые церкви разного исповедания открыты, и в них беспрепятственно отправляется божественная служба. Ваши сограждане возвращаются ежедневно в свои жилища, и даны приказы, чтобы они в них находили помощь и покровительство, следуемые несчастию. Сии суть средства, которые правительство употребило, чтобы возвратить порядок и облегчить ваше положение; но, чтобы достигнуть до того, нужно, чтобы вы с ним соединили ваши старания, чтобы забыли, если можно, ваши несчастия, которые претерпели, предались надежде не столь жестокой судьбы, были уверены, что неизбежимая и постыдная смерть ожидает тех, кои дерзнут на ваши особы и оставшиеся ваши имущества, а напоследок и не сомневались, что оные будут сохранены, ибо такая есть воля величайшего и справедливейшего из всех монархов. Солдаты и жители, какой бы вы нации ни были! Восстановите публичное доверие, источник счастия государства, живите, как братья, дайте взаимно друг другу помощь и покровительство, соединитесь, чтоб опровергнуть намерения зломыслящих, повинуйтесь воинским и гражданским начальствам, и скоро ваши слезы течь перестанут».
В отношении продовольствия войска, Наполеон предписал всем войскам поочередно ходить в Москву a la maraude [мародерствовать] для заготовления себе провианта, так, чтобы таким образом армия была обеспечена на будущее время.
В отношении религиозном, Наполеон приказал ramener les popes [привести назад попов] и возобновить служение в церквах.
В торговом отношении и для продовольствия армии было развешено везде следующее:
Провозглашение
«Вы, спокойные московские жители, мастеровые и рабочие люди, которых несчастия удалили из города, и вы, рассеянные земледельцы, которых неосновательный страх еще задерживает в полях, слушайте! Тишина возвращается в сию столицу, и порядок в ней восстановляется. Ваши земляки выходят смело из своих убежищ, видя, что их уважают. Всякое насильствие, учиненное против их и их собственности, немедленно наказывается. Его величество император и король их покровительствует и между вами никого не почитает за своих неприятелей, кроме тех, кои ослушиваются его повелениям. Он хочет прекратить ваши несчастия и возвратить вас вашим дворам и вашим семействам. Соответствуйте ж его благотворительным намерениям и приходите к нам без всякой опасности. Жители! Возвращайтесь с доверием в ваши жилища: вы скоро найдете способы удовлетворить вашим нуждам! Ремесленники и трудолюбивые мастеровые! Приходите обратно к вашим рукодельям: домы, лавки, охранительные караулы вас ожидают, а за вашу работу получите должную вам плату! И вы, наконец, крестьяне, выходите из лесов, где от ужаса скрылись, возвращайтесь без страха в ваши избы, в точном уверении, что найдете защищение. Лабазы учреждены в городе, куда крестьяне могут привозить излишние свои запасы и земельные растения. Правительство приняло следующие меры, чтоб обеспечить им свободную продажу: 1) Считая от сего числа, крестьяне, земледельцы и живущие в окрестностях Москвы могут без всякой опасности привозить в город свои припасы, какого бы роду ни были, в двух назначенных лабазах, то есть на Моховую и в Охотный ряд. 2) Оные продовольствия будут покупаться у них по такой цене, на какую покупатель и продавец согласятся между собою; но если продавец не получит требуемую им справедливую цену, то волен будет повезти их обратно в свою деревню, в чем никто ему ни под каким видом препятствовать не может. 3) Каждое воскресенье и середа назначены еженедельно для больших торговых дней; почему достаточное число войск будет расставлено по вторникам и субботам на всех больших дорогах, в таком расстоянии от города, чтоб защищать те обозы. 4) Таковые ж меры будут взяты, чтоб на возвратном пути крестьянам с их повозками и лошадьми не последовало препятствия. 5) Немедленно средства употреблены будут для восстановления обыкновенных торгов. Жители города и деревень, и вы, работники и мастеровые, какой бы вы нации ни были! Вас взывают исполнять отеческие намерения его величества императора и короля и способствовать с ним к общему благополучию. Несите к его стопам почтение и доверие и не медлите соединиться с нами!»
В отношении поднятия духа войска и народа, беспрестанно делались смотры, раздавались награды. Император разъезжал верхом по улицам и утешал жителей; и, несмотря на всю озабоченность государственными делами, сам посетил учрежденные по его приказанию театры.
В отношении благотворительности, лучшей доблести венценосцев, Наполеон делал тоже все, что от него зависело. На богоугодных заведениях он велел надписать Maison de ma mere [Дом моей матери], соединяя этим актом нежное сыновнее чувство с величием добродетели монарха. Он посетил Воспитательный дом и, дав облобызать свои белые руки спасенным им сиротам, милостиво беседовал с Тутолминым. Потом, по красноречивому изложению Тьера, он велел раздать жалованье своим войскам русскими, сделанными им, фальшивыми деньгами. Relevant l'emploi de ces moyens par un acte digue de lui et de l'armee Francaise, il fit distribuer des secours aux incendies. Mais les vivres etant trop precieux pour etre donnes a des etrangers la plupart ennemis, Napoleon aima mieux leur fournir de l'argent afin qu'ils se fournissent au dehors, et il leur fit distribuer des roubles papiers. [Возвышая употребление этих мер действием, достойным его и французской армии, он приказал раздать пособия погоревшим. Но, так как съестные припасы были слишком дороги для того, чтобы давать их людям чужой земли и по большей части враждебно расположенным, Наполеон счел лучшим дать им денег, чтобы они добывали себе продовольствие на стороне; и он приказал оделять их бумажными рублями.]
В отношении дисциплины армии, беспрестанно выдавались приказы о строгих взысканиях за неисполнение долга службы и о прекращении грабежа.

Х
Но странное дело, все эти распоряжения, заботы и планы, бывшие вовсе не хуже других, издаваемых в подобных же случаях, не затрогивали сущности дела, а, как стрелки циферблата в часах, отделенного от механизма, вертелись произвольно и бесцельно, не захватывая колес.
В военном отношении, гениальный план кампании, про который Тьер говорит; que son genie n'avait jamais rien imagine de plus profond, de plus habile et de plus admirable [гений его никогда не изобретал ничего более глубокого, более искусного и более удивительного] и относительно которого Тьер, вступая в полемику с г м Феном, доказывает, что составление этого гениального плана должно быть отнесено не к 4 му, а к 15 му октября, план этот никогда не был и не мог быть исполнен, потому что ничего не имел близкого к действительности. Укрепление Кремля, для которого надо было срыть la Mosquee [мечеть] (так Наполеон назвал церковь Василия Блаженного), оказалось совершенно бесполезным. Подведение мин под Кремлем только содействовало исполнению желания императора при выходе из Москвы, чтобы Кремль был взорван, то есть чтобы был побит тот пол, о который убился ребенок. Преследование русской армии, которое так озабочивало Наполеона, представило неслыханное явление. Французские военачальники потеряли шестидесятитысячную русскую армию, и только, по словам Тьера, искусству и, кажется, тоже гениальности Мюрата удалось найти, как булавку, эту шестидесятитысячную русскую армию.
В дипломатическом отношении, все доводы Наполеона о своем великодушии и справедливости, и перед Тутолминым, и перед Яковлевым, озабоченным преимущественно приобретением шинели и повозки, оказались бесполезны: Александр не принял этих послов и не отвечал на их посольство.
В отношении юридическом, после казни мнимых поджигателей сгорела другая половина Москвы.
В отношении административном, учреждение муниципалитета не остановило грабежа и принесло только пользу некоторым лицам, участвовавшим в этом муниципалитете и, под предлогом соблюдения порядка, грабившим Москву или сохранявшим свое от грабежа.
В отношении религиозном, так легко устроенное в Египте дело посредством посещения мечети, здесь не принесло никаких результатов. Два или три священника, найденные в Москве, попробовали исполнить волю Наполеона, но одного из них по щекам прибил французский солдат во время службы, а про другого доносил следующее французский чиновник: «Le pretre, que j'avais decouvert et invite a recommencer a dire la messe, a nettoye et ferme l'eglise. Cette nuit on est venu de nouveau enfoncer les portes, casser les cadenas, dechirer les livres et commettre d'autres desordres». [«Священник, которого я нашел и пригласил начать служить обедню, вычистил и запер церковь. В ту же ночь пришли опять ломать двери и замки, рвать книги и производить другие беспорядки».]
В торговом отношении, на провозглашение трудолюбивым ремесленникам и всем крестьянам не последовало никакого ответа. Трудолюбивых ремесленников не было, а крестьяне ловили тех комиссаров, которые слишком далеко заезжали с этим провозглашением, и убивали их.