All streams
Search
Write a publication
Pull to refresh
29
17.1
Анатолий @sci_nov

Пользователь

Send message
Интересно, а какова статистика резких падений самолётов при заходе на посадку из-за резких перепадов температуры?..
Еду так и варят: сначала плитку на максимум, вода закипит, потом убавляют на глазок. Всё верно.
В общем, это линейный блочный код (26, 13), заданный в систематической форме, если принять формат выхода [u, v]. Столбцы блока Q генераторной матрицы G=[I, Q] являются циклическими перестановками друг друга, что даёт минимальное количество ячеек памяти при реализации кодера (матрица I — диагональная, квадратная). Кодовое расстояние — пять. Кстати, если в полином добавить слагаемое x^11, то кодовое расстояние увеличится до шести. Полином должен выбираться так, чтобы дать максимум величины min( w(polynom), min_[i=1,2,...,12](w(polynom XOR circshift(polynom, i))) ), где w() — количество единиц в коэффициентах полинома polynom, circshift(p, i) — циклический сдвиг коэффициентов полинома p на i-разрядов. Тогда кодовое расстояние будет равно этому максимуму плюс один.
Итог: данный код является привлекательным для практического использования.
Да, с градусом я промахнулся: надо вставлять прилагательное.
А можете генераторную матрицу рассмотренного кода привести, раз он блоковый? Просто линейные блочные коды в общем случае не могут быть заданы одним полиномом. Если уж можно одним — это циклический код.
Зачем мне надо генераторную матрицу? Я просто не могу классифицировать этот код.

Кстати, свёрточный код можно принудительно сделать блочным, обрезав его полубесконечную генераторную матрицу, что на практике и делается (всё-таки, информация передаётся пакетами, и в природе нет бесконечной последовательности битов).
Что поделаешь… Жизнь… Многие ведь наукой занимаются :)
Ладно хоть по два синонима. Но, если честно, они вносят кашу, особенно тем, кто учится.
Мне вот, например, не нравится говорить то «генераторная матрица», то «производящая» (есть ещё «порождающая», думаю, можно назвать «образующая», но это всё она, единственная).
Хороший термин «угол». Угол он и есть угол. Также и с другими областями науки должно быть. Градус он и есть градус. Ватт он и есть Ватт. И так далее.
Представьте, было бы: «Водород» (он же «Лёгкий газ», он же «Голубое топливо»), — ну какая это наука? Трёп.
Хорошо.
Интересно, а куда отнести свёрточные коды, с которыми у меня сразу возникла ассоциация? А тут вдруг блоковые, а свёрточные — это не блоковые. Может, это циклический код тогда? Но нет, так как проверочные биты и информационные можно группировать как угодно. Если это просто линейный блочный код, то он мало где применяется. В свёрточных кодах также есть пороговое декодирование, почему у меня и возникли такие ассоциации.
Да, кодирование направлено на повышение битовой скорости передачи при ограниченных ресурсах (мощность передатчика, полоса частот, динамический диапазон приёмника) и имеющихся помехах (статистика помех). Кодирование даёт выигрыш за счёт интеллекта.
Можно кодированием и не заниматься, если есть возможность крутнуть ручку мощности передатчика и/или прибрать себе большую полосу частот (сила есть, ума не надо).
Шифрование — это, по сути, наложение замка, ключ от которого только у законного абонента. На скорость передачи информации оно никак не влияет.
Шифрованием также можно не заниматься, если есть «агент», который привезёт важную информацию «своим ходом» («агент» — имеется ввиду индивидуальная линия передачи). Медь есть — ума не надо :).
Наука не терпит синонимов.
У Вас на рисунках на входе кодера есть две стрелочки, указывающие на жирную точку. Это что? Обратная связь? Может, там сумматор должен быть?
Как называются такие коды? Ссылки на литературу (чем Вы руководствовались)?

При шифровании размеры входных и выходных блоков равны, при помехоустойчивом кодировании размер выходного обязательно больше размера входного, а при сжатии (экономном кодировании) — теоретически должен быть меньше (практически — зависит от источника сообщения, от алгоритма сжатия).
Не работает, потому что нельзя раскладывать 9 на сумму 3+3+3, так как в двоичном коде число 9=00001001, а число 3=00000011.
Сумма трёх троек даст опять тройку, так как 11+11+11 = 00+11=11. Ну, или полиномами: x+1+x+1+x+1=x+1 (коэффициенты складываются по модулю два, то есть 3x=(3-2)x=x).
Девятка — это полином x^3+1, а x^3 — это три раза умножить на x, то есть на 2=00000010=>1*x^1+0*x^0, поэтому
n*9=mul2(mul2(mul2(n))) XOR n. Число n — это полином степени 7 с коэффициентами {0,1} (один байт).
Так тогда понятно про 0x1b… Кто бы знал про полином
x^8 + x^4 + x^3 + x + 1
из Вашей ссылки… Просто происходит замена x^8 на x^4+x^3+x+1, а это и есть 00011011=0x1b.
Тогда я был частично неправ. Но матрицу 4x4 я проверил — она совпала, но там при умножении полиномов x^4 заменялась на 1, так как там модуль x^4+1 = 0.
Мне кажется, что сработает вариант
def mul2(num):
    return ((num<<1)^(num>>7))


если num — один байт.
Почему умножение на {02} выполняется так странно? Умножение на 2 — это умножение на полином 1*x**1+0*x**0 (2_dec=10_bin), то есть это циклический сдвиг влево и всё:
(b7*x**7+b6*x**6+b5*x**5+b4*x**4+b3*x**3+b2*x**2+b1*x**1+b0*x**0)*x = (b6*x**7+b5*x**6+b4*x**5+b3*x**4+b2*x**3+b1*x**2+b0*x**1+b7*x**0).
Откуда там взялось XOR с 1b?..
Умножение на {03} (попросту на тройку) — это умножение на полином (x+1), что даст
((b6+b7)*x**7+(b5+b6)*x**6+(b4+b5)*x**5+(b3+b4)*x**4+(b2+b3)*x**3+(b1+b2)*x**2+(b0+b1)*x**1+(b7+b0)*x**0).
Коэффициенты — биты, поэтому 1+1=0, 0+1=1+0=1, 0+0=0.
Всё просто.
Если они используют модуль x**4+1 с допустимыми коэффициентами {0,1}, то это означает, что x**4 можно заменить на 1, x**5 — на x и так далее x**n на x**(n-4m).
То есть надо исправить на 20*log10(A / A0). Тот же 16-битовый АЦП даёт, как известно, 96 дБ, а это 20*16*log10(2). В той же Википедии ниже идёт объяснение разницы между 10 и 20. В итоге нам без разницы: по мощности ли, по напряжению — децибел он и есть децибел. Видимо децибелы были придуманы для мощностей, а для амплитуд — это уже следствие.
dB = 10 lg(«Разы») — это для квадрата амплитуды (мощности).
А, ну тогда конечно: спектр частот (Фурье) — признак, портрет — тоже признак. Всё ясно. По сути-то корреляция и частотный спектр — связанные понятия. Корреляция усматривается в построении текущего отсчёта и предыдущего.
Кстати, а что, сигнал ЭЭГ содержит звуковые частоты, например «мяу-мяу»?
Да, хаос80 хорошо описал. «Восстановление системы уравнений из потока» — из какого потока? То есть это синтез модели динамической системы по имеющимся данным? Просто Фурье используется для спектрального анализа, а фазовые портреты, всё-таки, это из другой области.Хотя я понимаю, что дифф. уравнения можно решать методом преобразования Фурье — но то решать, а не наоборот — синтезировать.
Они для разных целей же? Фазовый портрет вообще вычислительных затрат не требует (построение графика не считается).

Information

Rating
414-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer
Senior
From 180,000 ₽
Python
Git
Linux
Qt
C++ STL