ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
15 мая
439606 Топик полностью
fk0, легенда (08.09.2013 13:32, просмотров: 260) ответил Барбос на Всё это очень блаародно... Спасибо за такое глубокое вникание в суть, спасибо.
Кроме очень НЧ скорость ограничивает уровень шума. И, возможно, в той же полосе можно сильно повысить скорость передачи данных, всунувшись в ту же полосу, если SNR позволяет. Достаточно просто сменить способ модуляции. Был, например, BPSK, сделали 8PSK. И скорость в 3 раза выше, например. Но взамен отдай ~3дб. Кроме того, если речь о цифровых данных, кроме помехоустойчивого кодирования (которое, в свою очередь, позволяет более низкий SNR), почему бы не использовать сжатие данных? Тем более, если о данных что-то уже известно, то могут применяться простые и весьма эффективные способы, более эффективные чем RAR, например, для данных с известными характеристиками. Пример из практики. Для передачи через очень узкий канал данных типа таблицы (множество записей/строк с одинаковыми по смыслу полями/колонками) делалось следующее. Во-первых данные передавались не построчно, а по-колонкам (вначале первая колонка для всех записей, потом вторая...) Каждая колонка сжималась отдельно. Поскольку в колонке однотипные данные, то их сжать гораздо проще, чем при построчной передаче. К каждой колонке применялось дельта-кодированние (вначале передаётся начальное значение, потом разность между соседними значениями), числа преобразовывались к беззнаковым (1-->1, -1-->2, 2-->3, -2-->4... -- что бы не было большого числа FF в знаковых многобайтовых числах, что сбивает статистику), RLE (кодирование повторяющегося значения), далее арифметическое кодирование (с вероятностной моделью 1-го порядка, т.е. коэффициенты кодера менялись в зависимости от уже закодированных данных, что улучшало сжатие, и также были начальные коэффициенты на основе характеристик "средних" данных) с помощью "русского народного range coder им. Дмитрия Субботина". Результат лучше, чем если передавать построчно сжимая RAR'ом. И реализовано на МК. Одно только дельта-кодирование дало фантастический результат уже. Причём, специфика чисел может быть такая, что после дельта-кодирования остаются преимуществнно небольшие значения и, возможно, вместо арифметического кодирования проще будет дельты закодировать кодами Элиаса или Голомба, на том и ограничиться. Это не требует каких-то больших вычислений, как и RLE, в отличии от арифметического кодирования. И последний может кодировать вовсе не байты, а слова (единственное что, модель занимает много ОЗУ). Помимо сказанного можно использовать ещё что-то вроде LZ алгоритма со словарём заранее известным обоим сторонам. И кодировать не непосредственные данные, а их код в словаре. До арифметического кодера, разумеется.
[ZX]