soldat_shveyk 3 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба Доброго дня! Есть декодер максимального правдоподобия для небольшого блочного кода. Перемножаю принятый пакет на весь алфавит декодера, смотрю какая последовательность ближе - принимаю решение. MLE в общем. В канале есть многолучевость, поэтому по известной последовательности оцениваю h канала. И использую эту h для свертки со всем алфавитом декодера, чтобы определить какая из последовательностей ближе к принятой, которая тоже искажена этой h. Вроде бы все работает. Но смущает одна вещь: когда я сворачиваю комплексную h канала (а там сильная многолучевость) с алфавитом декодера, хэммингово расстояние между последовательностями алфавита декодера уже не то. Если оригинальные последовательности довольно сильно отличаются друг от друга, то последовательности "смазанные" h канала становятся более похожими друг на друга. И периодически из-за этого декодер принимает неверное решение, даже при приличном SNR. Возникла дилемма: с одной стороны сворачивание h канала с последовательностями декодера дает малую задержку приема, так как приемного фильтра нет вовсе, но при этом декодер не так хорошо отличает последовательности и может ошибаться. С другой стороны чтобы сохранить заложенное хэммингово расстояние между последовательностями декодера и хорошо их различать, надо исправлять исправлять многолучевость полноценным эквалайзером с DFE и инициацией по известной последовательности. Что выгоднее с точки зрения максимально достоверного приема? Задержкой можно немного поступиться. Или может я эквалайзер Витерби как-то неправильно реализую? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба сам эквалайзер витерби и турбоэквалайзер делать не приходилось, могу написать чушь, но если правильно помню, при ознакомлении с темой, сложилось мнение что там не опорные точки метрик сдвигаются, а само декодирование витерби идет по решетке канала, которую как раз и надо получить при изучении канала спец.последовательностями. Там еще вроде какие то условия должны выдвигаться на саму последовательность, прекодер делать надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба Не очень понимаю что такое - решетка канала? Если это набор всех возможных передаваемых последовательностей, которые искажены оценкой канала по известной последовательности - то тогда я так и делаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба soldat_shveyk Что выгоднее с точки зрения максимально достоверного приема? Задержкой можно немного поступиться. Эквалайзер Витерби и есть максимально правдоподобное оценивание последовательности символов с учётом памяти канала, по определению должен выигрывать у DFE. Не очень понимаю что такое - решетка канала? Канал играет роль свёрточного кодера. Или может я эквалайзер Витерби как-то неправильно реализую? Угу. Такие вещи - высший пилотаж, так наскоком эвристически правильно не сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба 29 minutes ago, petrov said: Угу. Такие вещи - высший пилотаж, так наскоком эвристически правильно не сделать. Petrov, спасибо. Значит нет смысла городить огород с DFE, а стоит добивать эквалайзер Витерби. Канал - это сверточный кодер передаваемого сигнала с h. Я могу оценить h по известной последовательности. Дальше вроде бы все логично: свернули с h c матрицей всех вариантов пакетов сигнала и посчитали метрики с принятым пакетом. Вот что здесь не так? Надо ли делать какое-то преобразование принятого пакета у учетом памяти канала перед тем как считать метрики с алфавитом декодера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба soldat_shveyk Petrov, спасибо. Значит нет смысла городить огород с DFE, а стоит добивать эквалайзер Витерби. Может на DFE уйдёт месяц, а на Витерби год или вообще не получится. Вот что здесь не так? Вот декодируем свёрточный код с помощью Витерби, какие такие пакеты? Надо ли делать какое-то преобразование принятого пакета у учетом памяти канала перед тем как считать метрики с алфавитом декодера? В литературе пишут, требуется какой-то отбеливающий фильтр. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 25 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба 21 minutes ago, petrov said: В литературе пишут, требуется какой-то отбеливающий фильтр. А например в RLS-DFE разве не отбеливающий фильтр стоит? Т.е. крутим матрицы чтобы получить белый шум... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 8 октября, 2021 Опубликовано 8 октября, 2021 · Жалоба 34 minutes ago, petrov said: Витерби год или вообще не получится. Получится, никуда не денется. 35 minutes ago, petrov said: Вот декодируем свёрточный код с помощью Витерби, какие такие пакеты? Пакет набор - набор символов блочного кода. Но можно ведь и по символам работать? Symbol-by-symbol. Тогда получается как декодирование сверточного кода. 37 minutes ago, petrov said: В литературе пишут, требуется какой-то отбеливающий фильтр. Отбеливающий фильтр (witening filter) длиной равной памяти канала? Похоже да, что-то у меня все неправильно сделано. petrov, спасибо огромное! Хоть и говорите загадками :) Но Ваши советы как всегда ценны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 11 октября, 2021 Опубликовано 11 октября, 2021 · Жалоба Попадалсь мне такие книги Hanzo ADAPTlVE WlRELESS TRANSCElVERS Turbo-Coded, Turbo-Equalized and Space-Time Coded TDMA, CDMA and OFDM Systems, Quadrature Amplitude Modulation : From Basics to Adaptive Trellis-Coded, Turbo- Equalized and Space-Time Coded OFDM, CDMA and MC-CDMA Systems посмотрите, может чем поможет) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 11 октября, 2021 Опубликовано 11 октября, 2021 · Жалоба 1 hour ago, des00 said: Попадалсь мне такие книги Hanzo Спасибо, огромное! Уже скачал, изучу ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 11 октября, 2021 Опубликовано 11 октября, 2021 · Жалоба On 10/8/2021 at 6:07 PM, petrov said: В литературе пишут, требуется какой-то отбеливающий фильтр. Так получается, что принятый сигнал надо пропустить через фильтр обратный rrc-фильтру. Rx signal = tx_symbs * hrrc * h_channel (* - свертка) Импульсная характеристика rrc-фильтра передатчика нам известна. Попробовал поделить принятый сигнал на fft(h_rrc), чтобы сделать deconvolution - ничего не вышло ) Спектр rrc-харатктеристики имеет нули и после ifft(1/fft(hrrc)) получается черти что. Или все-таки надо во временной форме умножать сигнал на обратную импульсную характеристику rrc? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 11 октября, 2021 Опубликовано 11 октября, 2021 · Жалоба On 10/8/2021 at 4:15 PM, petrov said: Эквалайзер Витерби и есть максимально правдоподобное оценивание последовательности символов с учётом памяти канала А brute-force MMSE ведь может заменить Витерби? Я так понимаю, что Витреби эквалайзер выгоден когда длина памяти канала M намного меньше вариантов передаваемых последовательностей N? В GSM (самом частом примере использования Витерби) перебирать все варианты последовательностей нереально, а память канала довольно короткая. Допустим, есть ресурс на перебор всех N последовательностей. Тогда можно не тратить время на Learning to love the Trellis? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 12 октября, 2021 Опубликовано 12 октября, 2021 · Жалоба soldat_shveyk получается черти что. Этот фильтр должен под канал подстраиваться, не делают DFE без линейной части. Тогда можно не тратить время Наоборот изобретение велосипеда и есть пустая трата времени, а сделать по литературе простейший эквалайзер Витерби для BPSK и известного короткого канала - продвижение вперёд, только потом может и получится применить для другого случая. Если речь о модуляции с низкой плотностью передачи информации на герц, то там вообще можно всё сильно упростить за счёт формы сигнала устойчивой к искажениям. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 12 октября, 2021 Опубликовано 12 октября, 2021 · Жалоба 17 minutes ago, petrov said: Этот фильтр должен под канал подстраиваться Если я правильно понимаю, АЧХ отбеливающего фильтра должна быть обратна АЧХ канала? Вот с этим фильтром сейчас непонятнее всего. Пропустив через канал известную тестовую последовательность я получаю кросс-корреляцию которая представляет собой свертку автокорреляции последовательности и импульсной характеристики канала. Ryx = conv(Rxx,h) Отсюда я могу получить h канала. Вот как из нее сделать фильтр с обратной АЧХ, и при этом устойчивый? Читаю книгу Прокиса - не доходит ( Отбеливающий фильтр ведь не представляет собой полностью обратную импульсную характеристику канала, а только какую-то ее часть (мин.фазовую) которая отвечает за компенсацию АЧХ? После отбеливающего фильтра вроде бы все понятно - как использовать трелис для известного канала и BPSK я вроде разобрался. 31 minutes ago, petrov said: Наоборот изобретение велосипеда и есть пустая трата времени Это справедливый упрек, но у всех свои недостатки. Мне надо сразу что-то делать руками, я не очень люблю долго разбираться в теории. 33 minutes ago, petrov said: можно всё сильно упростить за счёт формы сигнала устойчивой к искажениям Вы имеете ввиду MMS-модуляцию? У меня действительно низкая плотность бит/Гц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dragonfly 0 12 октября, 2021 Опубликовано 12 октября, 2021 · Жалоба On 10/8/2021 at 10:56 AM, soldat_shveyk said: В канале есть многолучевость, поэтому по известной последовательности оцениваю h канала. И использую эту h для свертки со всем алфавитом декодера, чтобы определить какая из последовательностей ближе к принятой, которая тоже искажена этой h. Вроде бы все работает. эээ... такой момент: Был алфавит (число состояний). Можно по аналогии ввести понятие "кодовое ограничение". Далее Вы сворачиваете с h канала. Пусть в h охватывает L символов. Получаем новое кодовое ограничение на L-1 символов больше. Вы так делали? Или Вы применяете некое не являющееся MLSD упрощение? Короткую свёртку для получения первичных метрик, за которой уже идёт Витерби? On 10/8/2021 at 6:07 PM, petrov said: Может на DFE уйдёт месяц, а на Витерби год или вообще не получится. Скорее с DFE может ничего не получиться. DFE работает в специфических случаях. У нас великие гуру Кловский с Николаевым из Самары уповали на DFE. Не сказал бы что вышло сопоставимо с вариантами без этого упования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться