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

andyp

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

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

  • Посещение

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

    2

andyp стал победителем дня 12 января 2023

andyp имел наиболее популярный контент!

Репутация

10 Хороший

Информация о andyp

  • Звание
    Знающий
    Знающий

Посетители профиля

5 122 просмотра профиля
  1. 1. Я тоже анализировал для каждого окна. Т.е. для Вашего случая полз по выходным данным с шагом 10 мс. Этот параметр можно подбирать - метрика увеличится для большего шага (перекрытия), но если удастся выставить порог, то ОК - меньше считать придется. 2. Завист от цели всего этого. Если цель - распознавать фикс. набор слов, то длина образца подбирается так, чтобы метрики наиболее сильно отличались для отдельных слов набора. У меня длина слов в словаре была примерно 500 мс. Если у вас живой диктор, а не повторы записи, то тут уже DTW может потребоваться. 3. Не знаю.
  2. Использовал взвешенное на первый mfcc коэфф (у меня он тоже- энергия) евклидово расстояние примерно так %вычисление расстояний между выборками %mfсс-коэффициентов.Используем взвешенное расстояние в пространстве %размерности N*M (N - количество кадров в словарном слове M - количество %использованных mfcc коэффицентов) function d = compute_distance(sig, voc) len = size(voc,2); d = 0; scale = 0; for ii = 1:len %расстояние как взвешенная сумма расстояний во всех кадрах d_i = voc(1,ii) * dot(sig(2:end,ii) - voc(2:end,ii),... sig(2:end,ii) - voc(2:end,ii)); d = d + d_i; %накапливаем общую энергию слова с словаре scale = scale + voc(1,ii); end d = sqrt(d /scale); end sig - то, что принято voc - словарь Это дает а) Независимость от уровня входного сигнала ь) Кадры (окна), где энергия тестового слова маленькая, учитываются с меньшим весом. DTW вроде не особо нужно в описанном случае - тестовый фрагмент у вас короткий по времени.
  3. С большими факторами интерполяции проблем нет. Сначала полифазный интерполятор на FIR, чтобы сузить полосу процесса до 0.1 - 0.05 частоты дискретизации, а потом линейный интерполятор в нужное число раз, хоть в 20000. Когда пилил нечто подобное для имитатора канала, так и делал - процесс замираний имеет полосу практически от 0 до единиц герц, а полоса сигнала - до нескольких сотен килогерц была.
  4. Так на выходе частотного детектора будет хорошо-хорошо-хорошо, а потом, бац и плохо 🙂 Пороговый эффект называется.
  5. При выборе БЧХ исправляющая способность - входной параметр. Сколько надо, чтобы код гарантированно исправлял. А скорость кодирования будет такая, какая получится. Код этот бинарный, исправляет битовые ошибки. Например BCH(255,131,37) исправляет 37 битовых ошибок при скорости кодирования 131/255 Для количества информационных бит существует следующая граница снизу k >= n - m*t, n = 2^m - 1 - длина блока t - требуемая исправляющая способность k - количество информационных бит
  6. Как смог Целое как совокупность частей взятых в пофиг каком порядке. Как площади. Геометричненько.
  7. Вот есть матрица и требуется найти сумму ее элементов. Будет ли зависеть эта сумма от порядка суммирования ? - по строкам, а затем суммируем частичные суммы или по столбцам, а затем суммируем частичные суммы или даже по диагоналям, а потом суммируем частичные суммы. Ответ имхо достаточно очевиден.
  8. С практической точки зрения там реально пользы никакой. Для Хамминга (32,21) там под 15000 ребер оптимальная решетка. Только посмотреть, как будет декодить, и использовать как границу. Ну там примерно 0.5 dB выигрыш. А декодирований жёстких здорово больше надо. Просто как пример, как можно расширить список слов для контргипотез и того, что это что-то даёт.
  9. Как-то не очень рассматривает. Если в лоб, как он пишет, то работать не будет. Там решетку делают под эти коды и декорируют уже по ней. Здесь например (wang1999). Но и это не для реализации, а только посмотреть, сколько теряем - решетка для 32-битного кода получается приемлемого размера, чтобы моделирование погонять. На счёт того, что простор для оптимизации есть, я уверен. Например, SEW алгоритм (остальные две ссылки) позволяет часть назад вернуть. И у него сложность контролируемая Lalam2006.pdf Feng-013597728.pdf wang1999.pdf
  10. Спасибо, интересно было. Может, погоняю Ваш матлаб, посмотрю. Со временем беда какая-то постоянно :(. И всё-таки, имхо, процедура эта ещё здорово не оптимальная. Была идея подекодировать Хемминга по решетке BCJR алгоритмом, чтобы хотя бы понять, сколько на всех этих выкрутах теряется, да что-то тоже руки не дошли, бросил. А так этот код - действительно хороший варик, когда большая скорость кодирования нужна.
  11. Вуду это какое-то. Не люблю непонятное. Имхо, после первой итерации если нет норм оценок достоверности бит, Чейзу не очень хорошо должно стать - ему же наиболее плохие биты нужны в списке, а там будет залетать абы что. Мне этим и в оригинальной статье Pyndiah декодер не особо нравился. Всегда думал, что SPC как второй код именно в этом помогает. Экстринсики после полуитерации SPC залетают в Чейза и как-то норм более-менее. Хотя да, для квадратных кодов с Хеммингом по колонкам и столбцам я тоже цифры Pyndiah получал. PS С заголовками графиков не то что-то. Там же не single parity check code, а Хемминг расширенный?
  12. Да ладно, а то в первый раз публикуют то, что не работает 😉
  13. Глянул. Толи предложенная эвристика используется для тех бит, для которых не нашлось альтернатив среди тестовых паттернов, толи для всех бит вообще (скорее всего действительно имеется в виду именно это - судя по оценке сложности предложенного алгоритма). Если второе - то мне такая эвристика не нравится - получается, что все биты имеют одинаковую достоверность после первого же декодирования.
  14. Там у Pyndiah один мутный момент есть - расчет LLR для битов, для которых не нашлось соответствующих слов в словаре. Широкий простор для оптимизаций разного толка (Секция V статьи).
×
×
  • Создать...