|
Оценка канала в OFDM с использованием Винеровской интерполяции |
|
|
|
Jun 30 2013, 07:26
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 30-06-13
Из: Томск
Пользователь №: 77 321

|
Доброго времени суток! Есть задача сделать эквалайзер для КВ канала на FPGA. Целевая система - SC-FDMA, соответсвенно предполагается использовать частотный эквалайзер (между большим и малым Фурье преобразованиями). Эквалайзер должен отрабатывать по одному короткому пакету (не более 40 ODFM символов), использование статистики по предыдущим суб-фреймам в общем случае не приветствуется. Для оценки канала используются 8 пилотных поднесущих на 64 поднесущих с данными. На интервале одного суб-фрейма канал считается квазистационарным (состав и мощность лучей не изменяются, но полюс замирания может перемещаться в спектре с некоторой скоростью). В модели пробовал следующий метод: - В пилотных позициях оценивается частотная характеристика канала (LS оценка) - По полученным оценкам делается интерполяция фильтром Винера (64 комплексных фильтра 8 порядка на каждую поднесущую данных соответсвенно) - Выравнивание OFDM символа с помощью полученных коэффициентов Пробовал два варианта интерполяции: - обновление коэффициентов фильтра Винера по каждому новому вектору пилотов - рассчет т.н. несогласованного фильтра Винера, когда он вычисляется заранее при той или иной конфигурации канала без AWGN составляющей и его использования для любого вектора пилотов По идее первый вариант должен был дать лучшее качество интерполяции, но я этого не заметил. Для рассчета автокорреляционной матрицы канала (в случае обновляющихся коэффициентов интерполятора) думал использовать первый OFDM символ, состоящий только из пилотов. Далее из этой матрицы строются автокорреляционная матрица и матрица взаимной корреляции, необходимые для рассчета интерполятора. Математика всей этой кухни есть например в
ofdm_channel_estimation_01.pdf ( 241.58 килобайт )
Кол-во скачиваний: 425Результат моделирования показал, что такая схема работает в случае плоских замираний, и в случае с замираниями до 10-15 дБ вполне удовлетворительно, не приводит к дополнительной деградации созвездия при низком SNR (как это может наблюдаться в случае LS оценки канала по всем поднесущим), НО при частотно-селективных замираниях 15-30 дБ (1-3 полюса) даже при высоких SNR не дает возможность работать на модуляциях выше BPSK. Вопрос: тем кто сталкивался с Винеровской фильтрацией и OFDM эквалайзерами, в чем тут может быть принципиальная ошибка? Можно в данном случае найти оптимальный фильтр, который позволил бы работать на больших индексах модуляции в канале с частотно-селективными замираниями более 15 дБ? Если у кого уже был опыт борьбы с MMSE эквалайзерами, очень интересует способ оценки автокорреляционной матрицы канала и взаимо-корреляционной матрица, которые требуются для рассчета фильтра Винера. Может кто мог бы поделиться своими изысканиями в этой области Это мой первый опыт построения эквалайзера, буду благодарен вашим советам!
|
|
|
|
|
Jun 30 2013, 09:25
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(serg1333 @ Jun 30 2013, 11:26)  Есть задача сделать эквалайзер для КВ канала на FPGA. Зачем FPGA для обработки сигнала с шириной полосы в несколько килогерц? Цитата(serg1333 @ Jun 30 2013, 11:26)  На интервале одного суб-фрейма канал считается квазистационарным (состав и мощность лучей не изменяются, но полюс замирания может перемещаться в спектре с некоторой скоростью). Значит нестационарный. Цитата(serg1333 @ Jun 30 2013, 11:26)  Это мой первый опыт построения эквалайзера, буду благодарен вашим советам!  Может для начала попроще сделать? Имеем частотно-временную ленту канала, зондируем её пилотами, оцениваем и интерполируем 2D FIR ФНЧ, полосы по частоте и по времени определяются интервалами стационарности канала по частоте и по времени соответственно. Что касается поднесущих попадающих в спектральные нули, то никакой информации там нет, тут надо не столько канал выравнивать, сколько правильно с помехоустойчивыми кодами работать.
|
|
|
|
|
Jun 30 2013, 12:08
|
Профессионал
    
Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863

|
Надо же! Кто-то уже делает SC-FDMA. Прикольно.. :-))
Так случилось, что я последние несколько дней в свободное время пытаюсь разобраться с этой технологией, но что-то пока не догоняю, откуда берётся преимущество перед офдм. Трудно даже сформулировать конкрентный вопрос. Ну, попробуем так::
Если предположить, что "большое" и "малое" Фурье на самом деле равны, то на выходе будет то же, что и на входе, и всё теряет смысл. Если между FFT и IFFT отсчёты как-то переставить, то на выходе конечно будет уже другое, но смысл такого действия не ясен. Таким образом вроде бы выходит, что должно быть какое-то определённое соответствие между большим и малым Фурье, и определённая перестановка отсчётов/частот между ними. Какие?
|
|
|
|
|
Jun 30 2013, 15:48
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 30-06-13
Из: Томск
Пользователь №: 77 321

|
2 petrov : вариант с проще я себе представляю уже как сделать, есть интерес, пока сроки не поджимают посмотреть как работает MMSE и в чем там выгода. Кстати если уж речь пошла об обычной LS оценке + интерполяция с постоянными коэффициентами: пробовал в канале без шумов, даже зная частотную характеристику канала, при определенном сложении лучей выравнивание далеко от полного. Я себе представлял, что если шума нет, то, беря обратную характеристику канала, всегда можно получить передаваемые символы, т.е. при бесконечном SNR LS оценка является оптимальной и дает минимальную ошибку. Вопрос: возможно ли найти такой фильтр, который бы полностью убирал бы эффект замирания (при условии, что нет шумов, разумеется)? Или есть какое то ограничение исправляющей способности, которое можно убрать только увеличивая базу, на которой производится оценка канала? В случае если нет возможности померить канал на всех поднесущих, а есть только пилоты, появляется еще ошибка интерполяции, но тут все понятно, от нее никуда не уйдешь. Хотя здесь встает резонный вопрос: можно ли минимизировать ошибку интерполяции, используя фильтр с пересчитываемыми коэффициентами, например Винера, или игра не стоит свеч и интерполировать можно всегда одним и тем же фильтром (несогласованный Винер, sinc интерполятор, полином и т.д.)? Спасибо за совет! 2 Dr.Alex : Секрет прост, все дело в том, что на передающем конце используются не все поднесущии большего преобразования Фурье. Например: если база большего Фурье равна 1024, то мы можем использовать 64, 128 или 256 поднесущих, остальные оставив нулями. Таким образом PAPR модулированного сигнала уменьшается (уменьшение тем больше чем больше поднесущих не используется). Таким образом даже в обычной OFDMA схеме есть выигрыш по снижению PAPR. Добавление малого Фурье - это "трюк", который позволяет дополнительно снизить PAPR. Например, используется соотношение 1024/64. В случае обычного OFDMA это даст выигрыш порядка 3 дБ, т.е. PAPR = 12-3 = 9 дБ, если сделать SC-FDMA, то получим еще около 3 дБ, итого PAPR = 9-3 = 6 дБ. Это если на пальцах Размещать данные на базе большего Фурье можно "кучкой" или распределенно, в чем соль распределенного размещения я не разобрался, если честно. Локализованное размещение вроде бы в LTE up-link применяют. Удачи в ваших начинаниях, там все довольно просто!
|
|
|
|
|
Jun 30 2013, 20:59
|
Профессионал
    
Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863

|
Цитата(serg1333 @ Jun 30 2013, 18:48)  2 Dr.Alex : Секрет прост Окончательно всё запуталось.. :-)) Я-то думал, что от размера Фурье PAPR не зависит, а зависит именно от кол-ва ИСПОЛЬЗУЕМЫХ частот. Вы же говорите, что (1024/64) будет иметь PAPR ниже, чем (64/64). Пришлось проверять. Получилось почему-то ровно наоборот! :-// Чтоб не быть голословным:: Код 1024 (1024 used) PAPR = 8.75 dB
1024 (64 used) PAPR = 7.59 dB
1024 (16 used) PAPR = 6.24 dB
64 (64 used) PAPR = 6.82 dB
16 (16 used) PAPR = 5.44 dB Разница конечно маленькая (а я думал что её вообще не будет), но она не в ту сторону!! PAPR считал как среднее за 1024 случайных блоков. (Если в качестве пикового значения выбрать максимальное среди всех блоков, то картинка несколько меняется, но я думаю так делать не стоит.) Неужто я считаю неправильно? Цитата(serg1333 @ Jun 30 2013, 18:48)  Добавление малого Фурье - это "трюк", который позволяет дополнительно снизить PAPR. Вот! В этом с самого начала и была главная засада в понимании. Ну до этого позже доберёмся. Может быть.
|
|
|
|
|
Jul 1 2013, 08:28
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(serg1333 @ Jun 30 2013, 11:26)  По идее первый вариант должен был дать лучшее качество интерполяции, но я этого не заметил. Для рассчета автокорреляционной матрицы канала (в случае обновляющихся коэффициентов интерполятора) думал использовать первый OFDM символ, состоящий только из пилотов. Далее из этой матрицы строются автокорреляционная матрица и матрица взаимной корреляции, необходимые для рассчета интерполятора. Математика всей этой кухни есть например в
ofdm_channel_estimation_01.pdf ( 241.58 килобайт )
Кол-во скачиваний: 425Результат моделирования показал, что такая схема работает в случае плоских замираний, и в случае с замираниями до 10-15 дБ вполне удовлетворительно, не приводит к дополнительной деградации созвездия при низком SNR (как это может наблюдаться в случае LS оценки канала по всем поднесущим), НО при частотно-селективных замираниях 15-30 дБ (1-3 полюса) даже при высоких SNR не дает возможность работать на модуляциях выше BPSK. Вопрос: тем кто сталкивался с Винеровской фильтрацией и OFDM эквалайзерами, в чем тут может быть принципиальная ошибка? Можно в данном случае найти оптимальный фильтр, который позволил бы работать на больших индексах модуляции в канале с частотно-селективными замираниями более 15 дБ? Если у кого уже был опыт борьбы с MMSE эквалайзерами, очень интересует способ оценки автокорреляционной матрицы канала и взаимо-корреляционной матрица, которые требуются для рассчета фильтра Винера. Может кто мог бы поделиться своими изысканиями в этой области Это мой первый опыт построения эквалайзера, буду благодарен вашим советам!  Посмотрите на обратимость оценки автокорреляционной матрицы. При адаптивной фильтрации она может оказаться вырожденной. Вообще, так ли нужна адаптивная фильтрация в вашем случае? Насколько несогласованный ФВ проигрывает оптимальному в ОСШ?
|
|
|
|
|
Jul 1 2013, 09:03
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 30-06-13
Из: Томск
Пользователь №: 77 321

|
Матрица обратима, даже кажется доказывалось где-то, что в данном алгоритме сингулярная матрица не получится, но утверждать не буду. По поводу проигрыша несогласованного ФВ: вот этот вопрос меня как раз очень интересует, так как я не уверен, что вообще получил оптимальный фильтр Винера. Возможно я не правильно составляю автокорреляционную матрицу или матрицу взаимной корреляции. Если кто-то делал оценку матрицы канала по известным оценкам частотной характеристики в пилотных точках, было бы интересно узнать как это делается "по науке". Тогда можно было бы провести адекватное сравнение согласованной и несогласованной фильтрации и решить как реализовать это в железе.
|
|
|
|
|
Jul 1 2013, 09:36
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(serg1333 @ Jun 30 2013, 19:48)  2 petrov : вариант с проще я себе представляю уже как сделать, есть интерес, пока сроки не поджимают посмотреть как работает MMSE и в чем там выгода. Кстати если уж речь пошла об обычной LS оценке + интерполяция с постоянными коэффициентами: пробовал в канале без шумов, даже зная частотную характеристику канала, при определенном сложении лучей выравнивание далеко от полного. Я себе представлял, что если шума нет, то, беря обратную характеристику канала, всегда можно получить передаваемые символы, т.е. при бесконечном SNR LS оценка является оптимальной и дает минимальную ошибку. Вопрос: возможно ли найти такой фильтр, который бы полностью убирал бы эффект замирания (при условии, что нет шумов, разумеется)? Или есть какое то ограничение исправляющей способности, которое можно убрать только увеличивая базу, на которой производится оценка канала? Как вы будете обращать спектральный ноль? На бесконечность умножать? Вообще не очень понятно вы говорите о OFDM или SC. Для SC потребуется эквалайзер бесконечной длины чтобы полностью спектральный ноль компенсировать, нужно как минимум думать о DFE. Непонятно зачем нужна реализация эквалайзера в частотной области для КВ.
|
|
|
|
|
Jul 1 2013, 09:44
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 30-06-13
Из: Томск
Пользователь №: 77 321

|
Цитата Здесь есть смысл сначала записать автокорреляционную матрицу для всего символа. Ее элементы - значения АКФ канала в частотной области. А в случае если пилоты/данные занимают не всю полосу Фурье, как например в случае множественного доступа, матрица включает только канал, определенный на поднесущих данного пользователя? Т.е. например, если Фурье 1024 точки, а нас интересует только 64 поднесущие, то матрица составляется как 1024х1024 или как 64х64? Или это не имеет значения? Еще интересует такой вопрос: АКФ зависит только от профиля канала, но не зависит от фазы, в которой приходят лучи, т.е. в случае если полюс замирания "перемещается" по спектру в процессе приёма суб-фрейма, то АКФ фактически таже самая? Цитата В теории если фильтр настроен на многолучевой профиль канала, больший чем есть на самом деле, рабочие характеристики будут определяться именно фильтром и практически не будут зависеть от действительного многолучевого профиля. Если же задержка в канале неодоценена, то произойдет радикальное снижение точности оценки. Т.е., если использовать несогласованный ВФ, то его надо выбирать исходя из самого худшего ожидаемого профиля канала? Что-то такое упоминалось в прикрепленной статье и в каком-то другом источнике... Спасибо за советы! 2petrov : у меня модем сделан по схеме SC-FDMA, т.е. фактически OFDM, соответственно эквалайзер в частотной области. Согласен, что в спектральных нулях данные теряются, их можно вытянуть только декодированием, либо в случае SC-FDMA попробовать синтерполировать... Речь тут скорее идет об ухудшении выравнивания в окрестностях спектрального нуля. В некоторых случаях при моделировании видел, что выпадает до 8-10 поднесущих из 64.
Сообщение отредактировал serg1333 - Jul 1 2013, 09:48
|
|
|
|
|
Jul 1 2013, 10:07
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(serg1333 @ Jul 1 2013, 13:44)  у меня модем сделан по схеме SC-FDMA, т.е. фактически OFDM, соответственно эквалайзер в частотной области. Согласен, что в спектральных нулях данные теряются, их можно вытянуть только декодированием, либо в случае SC-FDMA попробовать синтерполировать... Речь тут скорее идет об ухудшении выравнивания в окрестностях спектрального нуля. В некоторых случаях при моделировании видел, что выпадает до 8-10 поднесущих из 64. Фактически это SC а не OFDM и не получается у вас элементарный линейный эквалайзер по критерию пикового искажения, начните с азов, глядишь и SC-FDMA не понадобится.
|
|
|
|
|
Jul 1 2013, 10:15
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 30-06-13
Из: Томск
Пользователь №: 77 321

|
Цитата Фактически это SC а не OFDM и не получается у вас элементарный линейный эквалайзер по критерию пикового искажения Да нет, это как раз OFDM, SC-FDMA надстройка над OFDMA и почти вся обработка делается в частотной области, как и в OFDM... В SC-FDMA действительно есть возрат к временной области после малого Фурье, но делать TD эквалайзер, когда частотная область предполагается физикой приёма-передачи, не резонно, т.к. он априори сложнее.
|
|
|
|
|
Jul 1 2013, 10:56
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(serg1333 @ Jul 1 2013, 13:44)  А в случае если пилоты/данные занимают не всю полосу Фурье, как например в случае множественного доступа, матрица включает только канал, определенный на поднесущих данного пользователя? Т.е. например, если Фурье 1024 точки, а нас интересует только 64 поднесущие, то матрица составляется как 1024х1024 или как 64х64? Или это не имеет значения? В этом случае вычеркиваете (или сразу не пишете) элементы, соответствующие неиспользуемым несущим. Цитата(serg1333 @ Jul 1 2013, 13:44)  Еще интересует такой вопрос: АКФ зависит только от профиля канала, но не зависит от фазы, в которой приходят лучи, т.е. в случае если полюс замирания "перемещается" по спектру в процессе приёма суб-фрейма, то АКФ фактически таже самая? Цитата(serg1333 @ Jul 1 2013, 13:44)  Т.е., если использовать несогласованный ВФ, то его надо выбирать исходя из самого худшего ожидаемого профиля канала? Что-то такое упоминалось в прикрепленной статье и в каком-то другом источнике... Да.
|
|
|
|
|
Jul 1 2013, 11:16
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 30-06-13
Из: Томск
Пользователь №: 77 321

|
Ну теперь вроде бы понятнее В MMSE еще используется такая оценка как дисперсия шума/SNR. Я правильно понимаю, что этот параметр нужен только при решении задачи MMSE оценки (в данном случае оценки канала в пилотных позициях), и не важен в задаче MMSE интерполяции? Потому, как в рассмотренных статьях/книгах в рассчете интерполятора дисперсия шума не присутствует.
|
|
|
|
|
Jul 1 2013, 11:24
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(serg1333 @ Jul 1 2013, 15:16)  Ну теперь вроде бы понятнее В MMSE еще используется такая оценка как дисперсия шума/SNR. Я правильно понимаю, что этот параметр нужен только при решении задачи MMSE оценки (в данном случае оценки канала в пилотных позициях), и не важен в задаче MMSE интерполяции? Потому, как в рассмотренных статьях/книгах в рассчете интерполятора дисперсия шума не присутствует. При MMSE-интерполяции вместо дисперсии шума у Вас будет дисперсия ошибки оценки. В приведенной выше статье, кстати, она в формуле присутствует.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|