Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SVT.doc
Скачиваний:
37
Добавлен:
25.09.2019
Размер:
1.65 Mб
Скачать

Формализованный алгоритм расчёта crc16

Для получения контрольной суммы, необходимо сгенерировать полином. Основное требование к полиному: его степень должна быть равна длине контрольной суммы в битах. При этом старший бит полинома обязательно должен быть равен «1».

Из файла берется первое слово. Если старший бит в слове "1", то слово сдвигается влево на один разряд с последующим выполнением операции XOR. Соответственно если старший бит в слове "0", то после сдвига операция XOR не выполняется. После сдвига (умножения) теряется старый старший бит, а младший бит освобождается (обнуляется). На место младшего бита загружается очередной бит из файла. Операция повторяется до тех пор, пока не загрузится последний бит файла.

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

Корректирующие коды

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

Коды Рида — Соломона

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

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

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

Выбор кода

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

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

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

Некоторые методы (алгоритмы) обработки сигналов

Алгоритмы систем управления работают на основе сигналов от датчиков в реальном времени.

Сигналы могут обладать следующими «недостатками»:

  • Зашумленность,

  • Низкая частота измерений,

  • Низкое разрешение сигнала,

  • Нелинейность чувствительного элемента,

  • Взаимозависимость нескольких сигналов.

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

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

Типы обработки сигналов условно разделим на следующие:

  • Калибровка сигнала

  • Компенсация сигнала

  • Аппроксимация сигнала (интерполяция и экстраполяция).

  • Фильтрация сигнала (обработка во временной или частотной областях).

Первые два типа представляют собой совокупность средств для коррекции статической характеристики датчика.

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

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

Все типы обработки сигналов опираются на следующие операции и методы.

Аппроксимация сигнала – расширение ряда значений функции путем вычисления промежуточных значений (интерполяция) или предсказания следующих значений по предыдущим (экстраполяция).

Существуют две группы алгоритмов аппроксимации - искажающие исходные значения (сглаживающие) и неискажающие. Для вторых принципиально то, что полученная аналитическая функция точно проходит через заданные точки. Во втором случае – необязательно.

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

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

Экстраполяция применяется в том случае, если измерения поступают реже, чем это требуется в алгоритме управления.

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

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

Фильтрация сигнала – обычно понимают изменение соотношения между спектральными составляющими сигнала.

Применяется для подавления шумов и согласования спектра сигнала.

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

Очевидно, что вторая группа алгоритмов не является алгоритмами реального времени.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]