Перейти к содержанию
    

andyp

Участник
  • Постов

    546
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Весь контент andyp


  1. С большими факторами интерполяции проблем нет. Сначала полифазный интерполятор на FIR, чтобы сузить полосу процесса до 0.1 - 0.05 частоты дискретизации, а потом линейный интерполятор в нужное число раз, хоть в 20000. Когда пилил нечто подобное для имитатора канала, так и делал - процесс замираний имеет полосу практически от 0 до единиц герц, а полоса сигнала - до нескольких сотен килогерц была.
  2. Так на выходе частотного детектора будет хорошо-хорошо-хорошо, а потом, бац и плохо 🙂 Пороговый эффект называется.
  3. При выборе БЧХ исправляющая способность - входной параметр. Сколько надо, чтобы код гарантированно исправлял. А скорость кодирования будет такая, какая получится. Код этот бинарный, исправляет битовые ошибки. Например BCH(255,131,37) исправляет 37 битовых ошибок при скорости кодирования 131/255 Для количества информационных бит существует следующая граница снизу k >= n - m*t, n = 2^m - 1 - длина блока t - требуемая исправляющая способность k - количество информационных бит
  4. Как смог Целое как совокупность частей взятых в пофиг каком порядке. Как площади. Геометричненько.
  5. Вот есть матрица и требуется найти сумму ее элементов. Будет ли зависеть эта сумма от порядка суммирования ? - по строкам, а затем суммируем частичные суммы или по столбцам, а затем суммируем частичные суммы или даже по диагоналям, а потом суммируем частичные суммы. Ответ имхо достаточно очевиден.
  6. С практической точки зрения там реально пользы никакой. Для Хамминга (32,21) там под 15000 ребер оптимальная решетка. Только посмотреть, как будет декодить, и использовать как границу. Ну там примерно 0.5 dB выигрыш. А декодирований жёстких здорово больше надо. Просто как пример, как можно расширить список слов для контргипотез и того, что это что-то даёт.
  7. Как-то не очень рассматривает. Если в лоб, как он пишет, то работать не будет. Там решетку делают под эти коды и декорируют уже по ней. Здесь например (wang1999). Но и это не для реализации, а только посмотреть, сколько теряем - решетка для 32-битного кода получается приемлемого размера, чтобы моделирование погонять. На счёт того, что простор для оптимизации есть, я уверен. Например, SEW алгоритм (остальные две ссылки) позволяет часть назад вернуть. И у него сложность контролируемая Lalam2006.pdf Feng-013597728.pdf wang1999.pdf
  8. Спасибо, интересно было. Может, погоняю Ваш матлаб, посмотрю. Со временем беда какая-то постоянно :(. И всё-таки, имхо, процедура эта ещё здорово не оптимальная. Была идея подекодировать Хемминга по решетке BCJR алгоритмом, чтобы хотя бы понять, сколько на всех этих выкрутах теряется, да что-то тоже руки не дошли, бросил. А так этот код - действительно хороший варик, когда большая скорость кодирования нужна.
  9. Вуду это какое-то. Не люблю непонятное. Имхо, после первой итерации если нет норм оценок достоверности бит, Чейзу не очень хорошо должно стать - ему же наиболее плохие биты нужны в списке, а там будет залетать абы что. Мне этим и в оригинальной статье Pyndiah декодер не особо нравился. Всегда думал, что SPC как второй код именно в этом помогает. Экстринсики после полуитерации SPC залетают в Чейза и как-то норм более-менее. Хотя да, для квадратных кодов с Хеммингом по колонкам и столбцам я тоже цифры Pyndiah получал. PS С заголовками графиков не то что-то. Там же не single parity check code, а Хемминг расширенный?
  10. Да ладно, а то в первый раз публикуют то, что не работает 😉
  11. Глянул. Толи предложенная эвристика используется для тех бит, для которых не нашлось альтернатив среди тестовых паттернов, толи для всех бит вообще (скорее всего действительно имеется в виду именно это - судя по оценке сложности предложенного алгоритма). Если второе - то мне такая эвристика не нравится - получается, что все биты имеют одинаковую достоверность после первого же декодирования.
  12. Там у Pyndiah один мутный момент есть - расчет LLR для битов, для которых не нашлось соответствующих слов в словаре. Широкий простор для оптимизаций разного толка (Секция V статьи).
  13. Например, tf2sos в Матлабе. В секции брать близкие пары нулей и полюсов.
  14. Примерно на том же уровне, что и стартовый вопрос.
  15. Точность выходного значения - это о чем? Квантование коэффициентов смещает нули и полюса и изменяет АЧХ фильтра. Если фильтр продолжает удовлетворять спецификации, то и бог с ним. Если нет - существует масса вариантов: Правильно разбить на секции второго порядка, изменять входные параметры, двигать уже нули и полюса... В общем, надо уметь разрабатывать такие фильтры. Но и это все может не помочь. Тогда придется обсудить изменение спецификаций.
  16. Прикольно, сначала repstosw удивился, что эходав какой-то не тот, потом остальные взяли и стали обсуждать шумодав, который совсем не эходав. Надо тоже поучаствовать :)) - имхо, эходав совсем тот, а шумодав может рокот движка, особенно когда обороты повыше, например, давануть примерно в той области где бошка человека находится
  17. Записать все в матрицу 32x32 байта. К строкам и столбцам добавить проверочных символов, хоть того же Рида-Соломона. Декодировать последовательно строки->столбцы->снова строки...
  18. Если периодов ПСП передается много, то прокатит. Вся фурьешная часть считает свертки для 1024 циклических сдвигов ПСП с куском входного сигнала.
  19. На сколько понимаю, ОСШ на входе этого устройства поиска сильно отрицательное? Тогда имхо все эти танцы с бубном в нижней ветке не нужны. Можно сразу период ПСП сунуть в Фурье. В верхней же ветке сдувают частоту дискретизации до чиповой скорости, наплевав на межсимволку. Можно, конечно, попробовать на Матлабе так и сяк, но навара от формирования - фильтрации - децимации не увидишь. Но если уж прям хочется, то можно полифазный дециматор замутить, что будет эквивалентно фильтрации на 1.023 MHz PS А вообще это все выглядит как несколько кривая попытка реализовать фильтр, согласованный с ПСП, в частотной области
  20. Плакал. У тек декодеров от Xilinx, которые видел, есть вход для подсвечивания выколотых символов.
  21. Python+Scipy доступны всегда, вместе с интернетом. Welcome To Colaboratory - Colaboratory (google.com) Можно поиграть и поквантовать коэффициенты так как надо import numpy as np from scipy import signal import matplotlib.pyplot as plt fs = 1 # Sample rate, Hz def plot_response(w, h, title): "Utility function to plot response functions" fig = plt.figure() ax = fig.add_subplot(111) ax.plot(w, 20*np.log10(np.abs(h))) ax.set_ylim(-80, 5) ax.grid(True) ax.set_xlabel('Frequency (Hz)') ax.set_ylabel('Gain (dB)') ax.set_title(title) cutoff = 0.4 # Desired cutoff frequency trans_width = 0.01/fs # Width of transition from pass to stop, Hz numtaps = 256 # Size of the FIR filter. taps = signal.remez(numtaps, [0, cutoff, cutoff + trans_width, 0.5*fs], [1, 0], fs=fs) w, h = signal.freqz(taps, [1], worN=2000, fs=fs) plot_response(w, h, "Low-pass Filter") plt.show()
  22. Ну так это имхо и есть ответ на вопрос в первом посте. Если ограничены по пиковой мощности (линейностью передатчика), что обычно и бывает, то выгоднее мультиплексировать каналы последовательно с меньшим spreading factor - можно в каждый канал больше мощности вкачать.
  23. Закрытие достигается только использованием сертифицированных алгоритмов шифрования с сессионными ключами и, опять же, сертифицированных протоколов аутентифицированного обмена ключами (АКЕ), выполняемыми на терминале и базовой станции, ну или другим надежным способом получения сессионных ключей на сторонах радиолинии. Остальные способы дают только иллюзию того, что сеть закрыта.
  24. На самом деле это крайне плохая идея. По массе причин. Если для передачи голоса в 90х еще так-сяк, то для 20х годов 21 века и передачи данных - полный швах. Защите информации на физическом уровне делать нечего.
×
×
  • Создать...