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

В принципе дорефакторил демодулятор. При хорошей энергетике довольно неплохие результаты есть, но в нем не учтена компенсация STO.

Допустим, тактовая частота 30,72 МГц и нестабильность опорника 20 ppm. Это соответствует ~640 Гц (640 отсчетам в секунду). Правильно я понимаю, что в случае feedforward алгоритмов требуется интерполяция? Как, например, тут: https://www.wirelessinnovation.org/assets/Proceedings/2011Europe/2011-europe-2a-briggs.pdf

Если остройка всегда положительная, то вроде бы можно сделать совсем тупую вещь без интерполяции. Например, по корреляции с последовательностью Задова-Чу во временной области обнаруживать смещение на целое число отсчетов и двигать окно. Пока мы находимся в диапазоне +/0,5 отсчета, то эквализация в частотной области по той же последовательности Задова-Чу довернет фазу на всех поднесущих на нужный угол. Периодичность Задова-Чу 1 мс, за это время набежит до 0,6 отсчетов. А вот уже при пропадании отсчетов просто двигать окно не выйдет, придется самому интерполяцией порождать новые. Но с быстродейтсвием всё очень плохо, а тут придется еще для 30,72 МГц интерполировать.

Или всё-таки сдвиг окна в другую сторону, если отсчет пропал, делать можно? Пусть и с большими потерями в выходном SNR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, Grizzly said:

В принципе дорефакторил демодулятор. При хорошей энергетике довольно неплохие результаты есть, но в нем не учтена компенсация STO.

Допустим, тактовая частота 30,72 МГц и нестабильность опорника 20 ppm. Это соответствует ~640 Гц (640 отсчетам в секунду). Правильно я понимаю, что в случае feedforward алгоритмов требуется интерполяция?

В основном зависит от рабочих Es/N0. В моих вляпываниях в OFDM этого не требовалось, хватало докрутки фазы весов эквалайзера в зависимости от номера поднесущей, но если рабочие отношения выше 30 dB и поднесущих много, то, наверное, можно задуматься о чем-то таком, чтобы убить ICI, которая вылезет выше остального шума.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 минут назад, andyp сказал:

рабочие отношения выше 30 dB и поднесущих много,

Поднесущих 1200, ОСШ около 20 дБ. Я пока окно двигаю. Вопрос задал потому, что удивился некоторому результату. Задал сдвиг на +/-5 отсчётов независимо от действительного значения оценки. Измерил BLER, затем сделал честную оценку по смещению положения максимума корреляции пилот-символа, BLER получился чуточку хуже. Возможно, в данном конкретном случае просто угадал :)

Теперь все больше склоняюсь к тому, что удастся без интерполяции обойтись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Grizzly said:

Поднесущих 1200, ОСШ около 20 дБ. Я пока окно двигаю. Вопрос задал потому, что удивился некоторому результату. Задал сдвиг на +/-5 отсчётов независимо от действительного значения оценки. Измерил BLER, затем сделал честную оценку по смещению положения максимума корреляции пилот-символа, BLER получился чуточку хуже. Возможно, в данном конкретном случае просто угадал :)

Теперь все больше склоняюсь к тому, что удастся без интерполяции обойтись.

вы на дробное сдвинте и еще поставьте вариацию сдвига (как в моделях petrov проверяются петли по символьной). А так, в скляре есть таблица: деградация кривой кодирования в зависимости от смещения отсчета сигнала, от оптимального. Если вас устраивает такая деградация  сигнала, при ваших параметрах, то можно и не делать.

А вообще, забавная ситуация, сколько смотрю статей, все расписывают как здорово в искажениях работают те или иные методы модуляции, эквалайзирования и кодирования, при этом забывают что для того что бы добраться до всего этого, надо восстановить символьную и несущую частоту) А вот алгоритмы их восстановления, могут не работать при тех искажениях))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, Grizzly said:

Теперь все больше склоняюсь к тому, что удастся без интерполяции обойтись.

Я бы на рабочей 20 и  таком количестве поднесущих точно обошелся  бы без ресемплера. Да и на более высоких SNR трудно получить такую деградацию SNR за счет плохого клока, чтобы в результате опуститься ниже 20, которые требуются BICM для хорошей спектральной эффективности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 minutes ago, andyp said:

Я бы на рабочей 20 и  таком количестве поднесущих точно обошелся  бы без ресемплера. Да и на более высоких SNR трудно получить такую деградацию SNR за счет плохого клока, чтобы в результате опуститься ниже 20, которые требуются BICM для хорошей спектральной эффективности.

может у него КАМ64 с кодированием рид соломона)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, des00 сказал:

КАМ64 с кодированием рид соломона)

Неа) Турбокод различных скоростей вплоть до 4/5 при QAM-64. Здесь уже на тоненького ;) Но канал хороший из-за направленной антенны, райсовский. Провалов больше 4 дБ не видел, обычно 1,5-2 дБ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, Grizzly said:

Неа) Турбокод различных скоростей вплоть до 4/5 при QAM-64. Здесь уже на тоненького ;)

ИМХО запас маловат, на пустом месте(символьная синхра) минимум 6дб терять.....))) но, решать вам)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 minutes ago, des00 said:

может у него КАМ64 с кодированием рид соломона)

Судя по остальным параметрам, про LTE разговор. 

 

9 minutes ago, des00 said:

ИМХО запас маловат, на пустом месте(символьная синхра) минимум 6дб терять.....))) но, решать вам)

Если про STO и OFDM, то потери от Es/N0 зависят - чем выше, тем больше вклад помех от других поднесущих. При 20 начинаем вообще что-то видимое терять. При 50 и 10 потерять можно - эффективный Es/N0 опустится до 40 и ниже.

С другой стороны, пропускная способность канала BICM:

20 - примерно порог для 64QAM - спектральная эффективность уже почти 6 бит на поднесущую. На 16 QAM стоит соскакивать начиная с 12 примерно.

Это всё очень оценочно конечно. Реальная схема кодирования еще свои поправки внесет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@andyp по моим измерениям, где-то при 24 дБ BLER для самих высоких MCS на уровне 0,01 и ниже. При 20 около порогового значения 0,1. Это с QAM-64. Оценка ОСШ может быть занижена, так как делается уже в частотной области после синхронизации.

С QAM-16 где-то при 16 дБ приличное качество приёма.

Материалы по BLER для MCS я видел для LTE. В 99% они получены, разумеется, для АБГШ-канала. Ещё сколько-то дБ потеряется из-за качества оценки передачи канала.

Я изначально за увеличение бюджета канала, чтобы гарантировать стабильность приема.

Вот тут интересные результаты в том числе для многолучевых каналов. Больше подобного не попадалось.

A Novel CQI Calculation Scheme in LTE-LTE-ASystems.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

52 minutes ago, Grizzly said:

@andyp по моим измерениям, где-то при 24 дБ BLER для самих высоких MCS на уровне 0,01 и ниже. При 20 около порогового значения 0,1. Это с QAM-64. Оценка ОСШ может быть занижена, так как делается уже в частотной области после синхронизации.

С QAM-16 где-то при 16 дБ приличное качество приёма.

Материалы по BLER для MCS я видел для LTE. В 99% они получены, разумеется, для АБГШ-канала. Ещё сколько-то дБ потеряется из-за качества оценки передачи канала.

Я изначально за увеличение бюджета канала, чтобы гарантировать стабильность приема.

Вот тут интересные результаты в том числе для многолучевых каналов. Больше подобного не попадалось.

A Novel CQI Calculation Scheme in LTE-LTE-ASystems.pdf

Да все за увеличение бюджета, кто ж против-то?  Просто имхо, коррекция STO при пусть даже и 20 ppm (а это плохой клок по современным понятиям) начинает влиять там, где и так уже всё более-менее. Если SNR с учетом ICI от отсутствия компенсации STO насыщается на уровне >30 dB, то большого вреда для 64QAM нет.  CFO и оценка канала гораздо более важны имхо.

А оценка ОСШ конечно занижена. Там же уже вся остаточная ICI после коррекции CFO и шум оценки канала тоже там. Ну и шум STO тоже, разумеется.

Если Вы больше 30 dB там вообще хоть в проводе измеряете, я бы вообще уже  коррекцией STO не парился :)

 

PS Я когда про отсутствие коррекции писал, имел в виду только отсутствие ресамплера. Поднесущие докручивать всяко обязательно, тем или иным образом учитывая изменение наклона ФЧХ канала из-за STO.

 

 

 

Изменено пользователем andyp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 минут назад, andyp сказал:

 это плохой клок по современным понятиям)

Возможно, будет внешний опорный генератор с более низким ppm.

Безусловно, CFO и оценка делаются. Поднесущие тоже докручиваются.

Спасибо за помощь! Перепроверю сишную реализацию на предмет ошибок. В принципе оценки смещения на несколько отсчётов из-за плохого опорника выглядят верными, вдруг где-то со сдвигом окна ошибаюсь. Ну вот явно они в 2-3 отсчёта появляются постоянно. Если двигать на меньшую величину по сравнению с оценкой, то в итоге у меня окно уползало настолько, что приходилось пересинхронизироваться. При магических взятых от балды +/-5 результат получился чуть лучше честных оценок. Что несколько странно. Хорошо, что теперь не срывается ничего, как было в переданном мне проекте :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

считайте, что частота несущей и частота отсчетов берутся от одной опоры

оценка cfo пересчитается в sto

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, FatRobot сказал:

оценка cfo пересчитается в sto

Только в случае дробной величины (в отсчётах) мне ничего с этой оценкой не сделать. У меня нет обратной связи с генератором. Дробную величину я и так подстрою по пилотам в частотной области, оценив фазовый сдвиг на каждой поднесущей.

Решил оставить, как прежде. Синхронизироваться с фреймом, длительность его 10 мс, а затем делать оценку сдвига по корреляции пилота во временной области каждый сабфрейм 1 мс. Если появилось больше одного отсчёта от ожидаемого положения, двигать окно, е следующий сабфрейм брать из буфера с учётом этого смещения. Опять же дробную величину исправлю поворотом фазы в частотной области, как уже говорил. Частотная компенсация CFO выполняется сразу для всего сабфрейма, то есть у пилотного символа скачка фазы не должно быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что делать - интерполировать во временной области в dfe

насчет подстройки по пилотам: мне кажется вы не сможете разделить sto и channel mean delay, плюс, вероятно, вариации канала будут у вас переоценены

я также не вполне понимаю смысла раздельной оценки величин, связанных коэффициентом.

но вам конечно виднее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...