Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: демодуляция OFDM, эквалайзер
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
vadimuzzz
делаю OFDM-модем, никак не могу получить приличного созвездия на выходе эквалайзера. модель в матлабе и моделсиме есть и работает нормально, а вот при задействовании ВЧ-тракта (модулятор, аттенюатор,МШУ, смеситель, фильтры, УПЧ) получается фигня. вот пример созвездия (BPSK):

а вот "идеальный" сигнал - передатчик замыкается по цифре на приемник (в моделсиме примерно так же)

ВЧ тракт настроен на максимальное усиление, SNR пока не фонтан, но на полном размахе АЦП где-то дБ 60 есть. первая картинка соответствует примерно -6 дБ от полного размаха АЦП.
Видна заметная амплитудная составляющая (неравномерность по амплитуде ~2,5 дБ), эквалайзер (в полосе передается 6 маркеров, непрерывка, по ним линейно интерполируется АЧХ) не помогает.
если сравнить спектры:


то, похоже, неравномерность в полосе смахивает на белый шум. но амплитуда великовата и явно не соответствует измеренному SNR.
у меня настало "творческое пол-шестого", м.б. у кого-нибудь есть идеи?
в аттаче дампы данных и матлабовский скрипт для симуляции.
petrov
Как оценивается ЧХ канала?
vadimuzzz
Цитата(petrov @ Mar 24 2011, 17:49) *
Как оценивается ЧХ канала?

по амплитуде маркеров (она постоянная), потом интерполируется
petrov
Цитата(vadimuzzz @ Mar 24 2011, 15:30) *
по амплитуде маркеров (она постоянная), потом интерполируется


Как пилоты усредняются?
vadimuzzz
Цитата(petrov @ Mar 24 2011, 18:41) *
Как пилоты усредняются?

скользящее среднее. пробовал с разной шириной окна от 1 до 16 - без изменений. то, что на графиках выше - без усреднения
petrov
Цитата(vadimuzzz @ Mar 24 2011, 15:50) *
скользящее среднее. пробовал с разной шириной окна от 1 до 16 - без изменений. то, что на графиках выше - без усреднения


При шуме должно влиять, без усреднения пилотов по нескольким символам оценка ЧХ будет плохая.
vadimuzzz
Цитата(petrov @ Mar 24 2011, 18:58) *
При шуме должно влиять, без усреднения пилотов по нескольким символам оценка ЧХ будет плохая.

да, но я загнал приемник в такой режим, когда SNR высокое. и все равно фигня. если бы была плохая оценка АЧХ, то соседние бины различались бы мало (а не как на 3-й картинке), ошибка бы плавно менялась. я вообще отключал коррекцию амплитуды - то же самое. какая-то поганка в тракте сидит, но не могу понять, какая.
petrov
Цитата(vadimuzzz @ Mar 24 2011, 16:07) *
да, но я загнал приемник в такой режим, когда SNR высокое. и все равно фигня. если бы была плохая оценка АЧХ, то соседние бины различались бы мало (а не как на 3-й картинке), ошибка бы плавно менялась. я вообще отключал коррекцию амплитуды - то же самое. какая-то поганка в тракте сидит, но не могу понять, какая.


Аналог вылизывать, имбаланс, нелинейности, фазовые шумы, наводки и т. п.
vadimuzzz
Цитата(petrov @ Mar 24 2011, 19:16) *
Аналог вылизывать, имбаланс, нелинейности, фазовые шумы, наводки и т. п.

вот с этим и вожусь. хотелось бы понять, для чего характерна такая ошибка по амплитуде
petrov
Цитата(vadimuzzz @ Mar 24 2011, 16:26) *
вот с этим и вожусь. хотелось бы понять, для чего характерна такая ошибка по амплитуде


Можно чистый синус сгенерить, обычный QAM, посмотреть как они через аналог проходят.
Visk
Цитата(vadimuzzz @ Mar 24 2011, 16:26) *
вот с этим и вожусь. хотелось бы понять, для чего характерна такая ошибка по амплитуде


Проверьте линейность тракта. Выставьте амплитуду синуса, посмотрите результат, снижаете амплитуду синуса в 2 раза (например, ну я так делал), смотрите результат, должен быть в 2 раза ниже. И так в нескольких местах полосы пропускания. Обратите внимание, чтоб палка синуса не влияла на соседние бины.
Если есть смеситель - переносите частоту? Уверены в правильном (точном) переносе? Если переносить неточно (даже 1-2% от расстояния между частотами) уже испортится созвездие. Неточный перенос будет виден на отдельном бине, этот бин будет большой, а соседний - поменьше. Фазовый шум гетеродина смесителя тоже также будет влиять - бин размазывается по соседним.
Пик фактор сигнала какой? Нет ограничения сигнала тракте? Нет переполнения АЦП (даже кратковременного, на 1-2 отсчетах)? А фазы не интерполируете между пилотами?
alexPec
Цитата(Visk @ Mar 24 2011, 18:26) *
Проверьте линейность тракта...

Извиняюсь, пост выше написал с другого компьютера. Кстати вот как переполнение в цифровом фильтре на нескольких отсчетах перед ффт влияет на созвездие.
vadimuzzz
Цитата
Проверьте линейность тракта

по синусоиде ничего плохого не видно. хотя, как я понимаю у OFDM пик-фактор в принципе хреновый, так что как версия очень даже пойдет.
Цитата
Если есть смеситель - переносите частоту? Уверены в правильном (точном) переносе?

точность установки частот порядка 5 ppm, должно хватать. к тому же я делал на модели sweep по частотам гетеродина, если и не оптимум по частоте, то близко. все запитано от одного опорного генератора.
Цитата
Фазовый шум гетеродина смесителя тоже также будет влиять - бин размазывается по соседним.

об этом я не писал выше - был грешок, у гетеродина на передатчике плохой спектр был. при этом точки созвездия были круглыми, как при awgn, но большими. после устранения косяков точки стали похожи на эллипсы, т.е. превалирует амплитудная компонента. джиттеры сейчас такие (гетеродин передатчика, гетеродин приемника, клок АЦП) 0.277, 0.247, 0.156 гр. rms. вроде прилично.
Цитата
Нет переполнения АЦП

нет. в цифре тоже уверен - с моделью совпадение практически полное.
Цитата
А фазы не интерполируете между пилотами?

интерполирую.

в общем пока склоняюсь к нелинейщине в тракте, будем искать.
alexPec
Цитата(vadimuzzz @ Mar 25 2011, 06:23) *
в общем пока склоняюсь к нелинейщине в тракте, будем искать.

Если действительно нелинейный тракт - то либо количество пилотов увеличивать, либо вводить предискажения, хотя в последнем случае АЧХ/ФЧХ самого канала потом будет влиять также, а то и хуже.
_Anatoliy
Цитата(alexPec @ Mar 24 2011, 19:04) *
Извиняюсь, пост выше написал с другого компьютера. Кстати вот как переполнение в цифровом фильтре на нескольких отсчетах перед ффт влияет на созвездие.


Извиняюсь,это картинки с вашего демодулятора?Вы же говорили что mer получаете около 40 дБ?
vadimuzzz
Цитата(alexPec @ Mar 25 2011, 10:31) *
Если действительно нелинейный тракт

это дело можно как-нибудь промоделировать? у меня есть расчетные данные по P1, IP3 - криминала явного нет. какие еще можно померять искажения, и как их увязать с OFDM?
MKS
В симулинке есть нелинейные модели усилителей. Возмите свой демодулятор с modelsim пристегните к simulink. В симулинке поиграйтесь нелинейностью тракта и будет видно оно или нет.
alex_os
Цитата(vadimuzzz @ Mar 25 2011, 07:56) *
это дело можно как-нибудь промоделировать? у меня есть расчетные данные по P1, IP3 - криминала явного нет. какие еще можно померять искажения, и как их увязать с OFDM?


Уровнем сигнала пробовали играться? Может все-таки где-то ограничение происходит? На мой взгляд -6 дБ от полного размаха АЦП - многовато .
vadimuzzz
Цитата(alex_os @ Mar 25 2011, 15:30) *
Уровнем сигнала пробовали играться? Может все-таки где-то ограничение происходит? На мой взгляд -6 дБ от полного размаха АЦП - многовато .

пробовал, исключил тракт передатчика. за исключением модулятора, но это отдельная тема. -6dB -это по пиковой мощности, переполнения точно нет. сейчас переделаю передатчик прямо на ПЧ, выброшу пол-приемника.

Цитата(MKS @ Mar 25 2011, 15:18) *
В симулинке есть нелинейные модели усилителей. Возмите свой демодулятор с modelsim пристегните к simulink. В симулинке поиграйтесь нелинейностью тракта и будет видно оно или нет.

паяльник ближе sm.gif на выходных помоделирую
petrov
Если есть аналоговые квадратурные модулятор-демодулятор то скорее всего нужно будет имбаланс компенсировать в цифре.
vadimuzzz
так, уже интереснее. выбросил МШУ и смеситель, петля по промчастоте:

правда, гетеродин передатчика внешний сейчас, с лабораторного генератора.

Цитата(petrov @ Mar 25 2011, 15:47) *
Если есть аналоговые квадратурные модулятор-демодулятор то скорее всего нужно будет имбаланс компенсировать в цифре.

а куда ж без модулятора. коррекция по постоянке есть, но возможности ограничены разрешением ЦАПа - 10 бит. у модулятора есть еще разбаланс по амплитуде - для подавления всякой дряни надо Q делать 697 мВ при номинальных 700 мВ на I - этого я пока не делал.
alexPec
Цитата(_Anatoliy @ Mar 25 2011, 07:54) *
Извиняюсь,это картинки с вашего демодулятора?Вы же говорили что mer получаете около 40 дБ?


Я же написал, что такой эффект (mer около 19-22дб) - если усиление увеличить до такой степени, когда переполнение возникает. Понятно что в нормальном режиме я не буду такое усиление делать - переполнений в нормальном режиме нет, соответственно картинка созвездия чистая - точки как точки.

По теме: такая картина может быть когда между пилотами АЧХ/ФЧХ перегибы имеет. Судя по первым картинкам (там просматриваются линии в скоплении точек) шума в тракте мало(иначе линий бы не видно было, просто пятно), именно АЧХ/ФЧХ кривые, хотя конечно могу ошибаться - выводы по своему опыту делаю.
Да, и все-таки попробуйте пик-фактор снизить, ведь если переполнений нет, то в аналоговом тракте при пиках серьезные нелинейности могут быть. Обрезание пиков хорошо портит картину созвездия. Попробуйте рандомизировать данные, сделайте позиции пилотов нерегулярные, несимметричные относительно центра спектра.
vadimuzzz
Цитата(alexPec @ Mar 25 2011, 16:35) *
По теме: такая картина может быть когда между пилотами АЧХ/ФЧХ перегибы имеет.

имеет, на последней картинке видна волнистая АЧХ - ПАВ-фильтр. ну, и смеситель похоже мне подгадил


Цитата(alexPec @ Mar 25 2011, 16:35) *
Да, и все-таки попробуйте пик-фактор снизить, ведь если переполнений нет, то в аналоговом тракте при пиках серьезные нелинейности могут быть. Обрезание пиков хорошо портит картину созвездия. Попробуйте рандомизировать данные, сделайте позиции пилотов нерегулярные, несимметричные относительно центра спектра.

данные рандомные. или вы про пилоты? кол-во пилотов, видимо, придется увеличить
petrov
Цитата(vadimuzzz @ Mar 25 2011, 13:12) *
а куда ж без модулятора. коррекция по постоянке есть, но возможности ограничены разрешением ЦАПа - 10 бит. у модулятора есть еще разбаланс по амплитуде - для подавления всякой дряни надо Q делать 697 мВ при номинальных 700 мВ на I - этого я пока не делал.


Он не только по амплитуде но и по фазе, оставьте один пилот тон, а остальные поднесущие занулите, на анализаторе спектра увидите недодавленный образ пилота.
alexPec
Цитата(vadimuzzz @ Mar 25 2011, 13:40) *
имеет, на последней картинке видна волнистая АЧХ - ПАВ-фильтр. ну, и смеситель похоже мне подгадил



данные рандомные. или вы про пилоты? кол-во пилотов, видимо, придется увеличить



И пилоты, и данные рандомные желательно делать, и позиции пилотов тоже несимметричные. Пилоты рандомизировать например через ПСП. А у Вас полоса-то какя? Посмотрел еще раз на АЧХ - гуляет в пределах (по графику) +-300..400 ед., у вас разброс точек примерно 150-200, вроде вяжутся эти цифры. Похоже все-таки из-за АЧХ. Желательно чтоб по крайней мере перегибов между пилотами не было.

UPD: а по времени-то точно синхронизируетесь, не захватываете куски соседних символов?
vadimuzzz
Цитата(alexPec @ Mar 25 2011, 16:49) *
А у Вас полоса-то какя?

сейчас 3МГц, потом буду переделывать на 12

Цитата
И пилоты, и данные рандомные желательно делать, и позиции пилотов тоже несимметричные. Пилоты рандомизировать например через ПСП.

а есть какое-нибудь чтиво на эту тему?

Цитата(alexPec @ Mar 25 2011, 16:49) *
UPD: а по времени-то точно синхронизируетесь, не захватываете куски соседних символов?

да, сейчас я вообще с моделью приемника в матлабе работаю. а в железе начало фрейма определяется с точностью примерно 10^-3. двигал на +/- 3 отсчета - одинаково.
alexPec
Цитата(vadimuzzz @ Mar 25 2011, 13:53) *
сейчас 3МГц, потом буду переделывать на 12
а есть какое-нибудь чтиво на эту тему?


На 3 МГц 4(6) пилотов конечно мало. Насчет чтива не скажу - все что написал сам выстрадал, без чтива. Понял что надо ВСЕ нерегулярное делать.
petrov
Цитата(alexPec @ Mar 25 2011, 13:58) *
На 3 МГц 4(6) пилотов конечно мало.


Может и не мало, от модели канала зависит.
alexPec
Цитата(petrov @ Mar 25 2011, 14:12) *
Может и не мало, от модели канала зависит.

Ну если канал - это прямая видимость, то не мало (ито судя по неравномерности АЧХ фильтра мало), а если город со всеми его переотражениями, затуханиями, помехами - на выходе такая каша, что и 10% под пилоты - под вопросом, хватит ли.
petrov
Цитата(alexPec @ Mar 25 2011, 16:10) *
Ну если канал - это прямая видимость, то не мало (ито судя по неравномерности АЧХ фильтра мало), а если город со всеми его переотражениями, затуханиями, помехами - на выходе такая каша, что и 10% под пилоты - под вопросом, хватит ли.


В данном случае количество пилотов соответствует максимальной разности путей между лучами примерно в 500 метров. Тратить ресурсы модуляции на исправления ЧХ фильтра как-то не правильно.
vadimuzzz
Цитата(petrov @ Mar 25 2011, 19:52) *
Тратить ресурсы модуляции на исправления ЧХ фильтра как-то не правильно.

кстати, как это принято делать? зашить табличку с ЧХ, обратной к фильтру?
alexPec
Цитата(vadimuzzz @ Mar 26 2011, 06:13) *
кстати, как это принято делать? зашить табличку с ЧХ, обратной к фильтру?

Похоже это и имеется ввиду, но это не правильно. Я по такой же схеме шел - плохо. ЧХ от экземпляра к экземпляру меняется, каждое устройство получается индивидуальное, кроме того ЧХ зависит (не сильно, но все-таки, подозреваю как раз в пределах заявленной неравномерности полосы пропускания) от температуры. А у Вас модель канала на Вашей несущей есть? Если да, то посмотреть как она искажает ЧХ. Если искажения (расстояние между перегибами ЧХ) по частотной оси близки по значению к ЧХ тракта - тогда только пилотами исправлять, тракт все равно ЧХ изогнет. Если перегибы модели канала реже - тогда смысл есть с трактом шаманить. Вообще у Вас стандарт какой-то или как? Если самопальный OFDM - надо смотреть оптимально ли выбрана полоса, расстояние между несущими для использования в конкретных условиях (город, поле) именно на Вашей несущей, т.е. с учетом поглощения и отражения волн в этом диапазоне этими условиями. Сколько я знаю, в стандартах на предмет оптимальности этих параметров какие-то исследования проводят. Подозреваю что исходя из этого вытекают требования к тракту и его отдельным компонентам (например фильтры под тот же wifi), а также к количеству и расположению пилотов и т.д.
vadimuzzz
Цитата(alexPec @ Mar 26 2011, 14:30) *
Похоже это и имеется ввиду, но это не правильно. Я по такой же схеме шел - плохо. ЧХ от экземпляра к экземпляру меняется, каждое устройство получается индивидуальное, кроме того ЧХ зависит (не сильно, но все-таки, подозреваю как раз в пределах заявленной неравномерности полосы пропускания) от температуры.

ну, это проблема решаемая - калибруем в лабораторных условиях, в т.ч. и по температуре (термометр на плате есть).
Цитата
А у Вас модель канала на Вашей несущей есть? Если да, то посмотреть как она искажает ЧХ. Если искажения (расстояние между перегибами ЧХ) по частотной оси близки по значению к ЧХ тракта - тогда только пилотами исправлять, тракт все равно ЧХ изогнет. Если перегибы модели канала реже - тогда смысл есть с трактом шаманить. Вообще у Вас стандарт какой-то или как? Если самопальный OFDM - надо смотреть оптимально ли выбрана полоса, расстояние между несущими для использования в конкретных условиях (город, поле) именно на Вашей несущей, т.е. с учетом поглощения и отражения волн в этом диапазоне этими условиями. Сколько я знаю, в стандартах на предмет оптимальности этих параметров какие-то исследования проводят. Подозреваю что исходя из этого вытекают требования к тракту и его отдельным компонентам (например фильтры под тот же wifi), а также к количеству и расположению пилотов и т.д.

в том то и дело, что нет. предполагалось что плата будет комплектоваться доп. конверторами частоты для переноса в произвольный диапазон. соответственно и моделей куча, на каждый конкретный случай своя. так что должна быть реализована возможность гибко менять параметры модуляции. и это я пока не сделал sm.gif
alexPec
Цитата(vadimuzzz @ Mar 26 2011, 15:58) *
ну, это проблема решаемая - калибруем в лабораторных условиях, в т.ч. и по температуре (термометр на плате есть).

в том то и дело, что нет. предполагалось что плата будет комплектоваться доп. конверторами частоты для переноса в произвольный диапазон. соответственно и моделей куча, на каждый конкретный случай своя. так что должна быть реализована возможность гибко менять параметры модуляции. и это я пока не сделал sm.gif

Да бог с ним с диапазоном, а условия какие предполагаются? Я думаю параметры гибко менять есть смысл в условиях помех, отражений, избирательных затуханий (город). А ести по прямой (какая нибудь точка-точка через вышки) то только преносом частоты и отличаться будут.
А насчет калибровки - не уверен, что ЧХ будет у разных экземпляров одинаково от температуры меняться, хотя это только догадки. Ну и если мелкая серия - вообще пофиг. Откалибровать каждый.
vadimuzzz
Цитата(alexPec @ Mar 26 2011, 19:58) *
Да бог с ним с диапазоном, а условия какие предполагаются? Я думаю параметры гибко менять есть смысл в условиях помех, отражений, избирательных затуханий (город). А ести по прямой (какая нибудь точка-точка через вышки) то только преносом частоты и отличаться будут.

город маловероятен. но один из потенциальных заказчиков - вояки. что они выдумают, какие условия - никому не известно. ну и насчет простоты ситуации "точка-точка" - рассказывали мне про случай, когда на трассе построили высотку (спустя несколько лет после установки линии). условия распространения изменились существенно sm.gif
Цитата
А насчет калибровки - не уверен, что ЧХ будет у разных экземпляров одинаково от температуры меняться, хотя это только догадки. Ну и если мелкая серия - вообще пофиг. Откалибровать каждый.

это вообще прототип wink.gif

в общем, я подбил бабки: за паразитную АМ несет ответственность смеситель, надо пересчитать динамику. оставшая часть - ПАВ-фильтр на пару с эквалайзером. последний совсем не компенсировал первый, кое-где даже наоборот.
petrov
Цитата(vadimuzzz @ Mar 26 2011, 06:13) *
кстати, как это принято делать? зашить табличку с ЧХ, обратной к фильтру?


Буржуи наверняка калибруют в микросхемах много чего в процессе работы.

Есть ещё такое направление в обработке OFDM сигналов CHANNEL SHORTENING.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.