|
|
  |
Интерполяторы при тактовой синхронизации? |
|
|
|
Dec 15 2007, 19:02
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Leshii @ Dec 15 2007, 12:32)  Задача в принципе "элементарная". Есть QPSK с SNR=10dB. Бодовая скорость порядка 1мегабода. Частота дискретизации примерно в 4 раза больше, т.е. около 4Мгц. Отношение между бодовой скоростью и частотой дискретизации в общем считается некратным. Задач предложить и ОБОСНОВАТЬ схему и элементы тактовой синхронизации. Теперь более понятно. Однако, не до конца. Какая кратность модуляции? Какой метод выделения тактовой частоты/фазы предполагается использовать? Задачей системы тактовой синхронизации является выдача числа, пропорционального временнОму сдвигу по такту. В этом смысле, никаких интерполяций делать не нужно. Скажите, а в системе предполагается использование адаптивного следящего фильтра (эквалайзера)? ........................................... Если идёт речь о "сдвиге во времени" демодулирующей функции, то могут быть разные начальные "железные" условия. 1. Частотой и фазой выборки АЦП можно управлять. 2. - // - управлять нельзя. В первом случае, использовал цифровой демодулирующий фильтр с фиксированными к-тами. Во втором случае поступал трояко: - "честно" вычислял к-ты демодулирующего полинома, если позволяла производительность "молотилки"; - записывал в память "опорную" демодулирующую функцию, с последующей её интерполяцией для необходимых временнЫх параметров выборки (квадратично, есси склероз не изменяет) - требует меньших выч. затрат; - хранил в памяти "длинную и подробную" последовательность значений демодулирующего полинома, с выбором нужной подпоследовательности его значений при демодуляции - когда вычислительный ресурс процессора не позволяет делать вышеприведённых экзерсиций. Эту последовательность, для экономии ПЗУ, можно также рассчитать аналитически при запуске системы, и хранить в ОЗУ. ЗЫ.Практическую разницу (в смысле качества демодулирования) всех трёх подходов невооружённым глазом обнаружить не удаётся - они имеют различия только по соотношению производительность/память.
Сообщение отредактировал Stanislav - Dec 15 2007, 19:13
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Dec 15 2007, 19:23
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(Leshii @ Dec 15 2007, 20:53)  Если рассмотреть случай описанный мной выше - сигнал/шум 10dB, QPSK. Исходный сигнал-шум и так на пределе, поэтому потерять при интерполяции можно максимум 1dB. Как на основе этих данных можно предьявить требования к интерполятору?, оценить на сколько больше чем 4.5 должно быть отсчетов? Или наоборот, зная что имеем 1 к 4.5 и используем кубический интерполятор, то сколько в сигнал-шум мы потеряем при интерполяции? При демодуляции нужно использовать оптимальный фильтр, усечённый во времени по определённому закону (спектральному окну). Цитата(petrov @ Dec 15 2007, 22:15)  А что такое демодулирующий фильтр? Демодулирующий полином? Постановка задачи мне не совсем понятна, поэтому я и предположил, что речь идёт о временнОм сдвиге демодулирующего полинома. Демодулирующий фильтр и демодулирующий полином - это одно и то же.  Точнее, к-ты демод. фильтра являются к-тами демод. полинома: Y(n)= sum(Xn*k1 + Xn-1*k2+...+Xn-N*kN), где k - данные к-ты. Для оптимального приёмника, к-ты демодулирующего фильтра должны быть пропорциональными дискретным значениям модулирующей функции (символа) в данный момент времени, определяемый системой тактовой синхронизации. Если сигнал проходит через канал с частотно-фазовыми искажениями (а это бывает почти всегда), для оптимального приёма используют два подхода: 1. Адаптивный эквалайзер - фильтр, имеющий обратную ЧФХ по отношению к каналу, через который пропускается входной сигнал для последующей демодуляции; 2. Модификация к-тов демодулирующего полинома, выполняющая ту же функцию - выравниванию ЧФХ принимаемого сигнала. ЗЫ.В "продвинутых" приёмниках все составные части реализуются в виде единого фильтра, на выходе которого один раз за символьный период появляется (комплексное) число - оценка значения полезного сигнала.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Dec 15 2007, 19:49
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(petrov @ Dec 15 2007, 22:44)  А в чём разница то? То что во втором случае эквалайзер с согласованным фильтром совмещён? Практической разницы в качестве приёма нет, при должном уровне исполнения, ессно. В "едином" подходе есть только вычислительные бонусы. "По блокам" делать удобнее, если над проектом работает команда, а не один человек. Или работа выполняется поэтапно, с последовательным вылизыванием глюков. Будучи единым разработчиком, совмещал в одном сложном фильтре ещё и адаптивный эхоподавитель (при работе на телефонную линию).
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Dec 15 2007, 20:06
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(petrov @ Dec 15 2007, 22:55)  Stanislav как вы делали символьную синхронизацию в цифре когда, когда точности частоты выборок с АЦП недостаточно? А что здесть такого? Товарищи Шеннон и Котельников нам доказали, что численное представление сигнала, должным образом ограниченного в частотной полосе, является полным, т.е., несёт всю информацию о сигнале без каких-либо потерь. Вопроса, честно говоря, не понял. Для принимаемой последовательности (пусть, для начала, идеальной - без ЧФ сдвигов), сущестует только одна оптимальная демодулирующая последовательность. Её нетрудно получить, зная форму модулирующей функции и величину сдвига по такту. Как делал - ну, разные условия были, и делал везде немножечко по-разному.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Dec 15 2007, 20:13
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Stanislav @ Dec 15 2007, 23:06)  А что здесть такого? Товарищи Шеннон и Котельников нам доказали, что численное представление сигнала, должным образом ограниченного в частотной полосе, является полным, т.е., несёт всю информацию о сигнале без каких-либо потерь. Вопроса, честно говоря, не понял. Для принимаемой последовательности (пусть, для начала, идеальной - без ЧФ сдвигов), сущестует только одна оптимальная демодулирующая последовательность. Её нетрудно получить, зная форму модулирующей функции и величину сдвига по такту. Как делал - ну, разные условия были, и делал везде немножечко по-разному.  Ну это всё понятно. Как практически вы поступали? Например делали полифазный фильтр с необходимым количеством отсчётов и выбирали нужную фазу символьной синхронизацией?
Сообщение отредактировал petrov - Dec 15 2007, 20:13
|
|
|
|
|
Dec 15 2007, 21:15
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(petrov @ Dec 15 2007, 23:13)  Ну это всё понятно. Как практически вы поступали? Например делали полифазный фильтр с необходимым количеством отсчётов и выбирали нужную фазу символьной синхронизацией? Ещё раз: если была возможность управлять временем момента выборки АЦП, делал дубовую автономную систему поддержания этого времени. Информация о тактовом сдвиге бралась из самогО сигнала, без всяких эквализаций. Система работала устойчиво, даже когда в канале шли сплошные ошибки (С/Ш в /модели/ телефонной линии был менее 0 дБ при скорости передачи 4800 бит/с). Границы устойчивости системы не проверял, по причине отсутствия практического в этом смысла. Если такой возможности не было, "сдвигал" демодулирующую функцию на величину тактового рассогласования, путём прямого её вычисления или интерполяции базовой последовательности. При достижении порога, делал скачок на один символьный период. бОльшее значение, на мой взгляд, имеет способ выделения тактовой частоты из сложного сигнала. Вот об этом, наверное, и стоило бы поговорить.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Dec 16 2007, 09:58
|
Частый гость
 
Группа: Новичок
Сообщений: 120
Регистрация: 28-01-05
Пользователь №: 2 256

|
Цитата Конечно же можно всё теоретически посчитать, только есть ли время этим заниматься в инженерной практике? Всего должно быть в меру. Часто бывает необходимо на лету, без наличия под рукой считалок хотя бы грубо оценить ситуацию. Потом конечно можно спокойно уточниться, обсчитать все более точно. Например, при фильтрации для оценки порядка фильтра существуют ряд формул, которые в голове хрен просчитаешь, но сдругой стороны ты знаешь, что основной вклад дает крутизна и соответственно первую грубую оценку ты можещь получить высчитав в уме 1/крутизна (если более точным быть то 4/крутизна для прямоугольного окна). Все остальные нюансы связанные с уровнями пульсаций и т.д. дадут конечно другое значение, но не принципиальное. Если по первой грубой прикидке у тебя получается порядок фильтра около 200, то после всяких уточнений ну будет 150 или 250, но ты уже знаешь что это еденицы сотен, а не десятков или тысяч. Такие примеры можно привести по многим вопросам. Так что строго научно считать не всегда есть время заниматься, а примерную оценку получить на лету бывает очень часто нужно. Цитата То что во втором случае эквалайзер с согласованным фильтром совмещён А насколько эквивалентны ситуации когда согласованный фильтр стоит отдельно от эквалайзера и когда при T/2 эквалайзере он оказывается совмещенным с эквалайзером, коэффициенты которого рассчитываются по созвездию (QPSK например)? Классический согласованный фильтр имеет АЧХ идентичную сигналу, а эквалайзер пытается вывернуть наизнанку искажения канала - всегда ли можно эти задачи совместить? Если работать по тренингу, то где то понятно, что добиваясь минимальных отличий от тренинга ты и согласовываешься и канал корректируешь и т.д. А если эквалайзер без тренинга - только посозвездию работает? Получим то же самое? Цитата бОльшее значение, на мой взгляд, имеет способ выделения тактовой частоты из сложного сигнала. Вот об этом, наверное, и стоило бы поговорить А что Вы под сложным сигналом понимате, база которого много больше единицы?, или какой-нибудь многопозиционный в тяжелых условиях? Цитата Какая кратность модуляции? Так вроде QPSK. Цитата Постановка задачи мне не совсем понятна Корень задачи в примерной аргументации тех или иных решений. Тактовую я предлагаю вытягивать через Фурье огибающей, в качестве сигнала ошибки предлагаю Гаднера (не чувствителен к ошибке по несущей, работает с T/2, что согласуется с дробным эквалайзером). По эти двум пунктам пока непонятно насколько данный выбор удачен для небольших сигнал-шум. На всякий случай уточнение - работаем без тренинга. Остался неясен вопрос с интерполяцией (управлять АЦП возможности нет, да и вредно это для качества АЦП). Как не пальцем в небо тыкнуть и типа приказать - будем брать 4 отсчета на символ, или 20? И соответственно пока еще и не брался за вопрос выбора типа и парметров петлевого тактового фильтра, это чуть позже, когда с этими этапами разберусь. Еще раз, решений подсказывают много, но мало кто может их обосновать, ответ звучит везде примерно так - я делал так, а почему так не помню, или просто где-то нашел готовое решение которое заработало и бог с ним, чего тогда разбираться.
|
|
|
|
|
Dec 16 2007, 12:11
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Leshii @ Dec 16 2007, 12:58)  Всего должно быть в меру. Часто бывает необходимо на лету, без наличия под рукой считалок хотя бы грубо оценить ситуацию. Потом конечно можно спокойно уточниться, обсчитать все более точно.
Например, при фильтрации для оценки порядка фильтра существуют ряд формул, которые в голове хрен просчитаешь, но сдругой стороны ты знаешь, что основной вклад дает крутизна и соответственно первую грубую оценку ты можещь получить высчитав в уме 1/крутизна (если более точным быть то 4/крутизна для прямоугольного окна). Все остальные нюансы связанные с уровнями пульсаций и т.д. дадут конечно другое значение, но не принципиальное. Если по первой грубой прикидке у тебя получается порядок фильтра около 200, то после всяких уточнений ну будет 150 или 250, но ты уже знаешь что это еденицы сотен, а не десятков или тысяч. Такие примеры можно привести по многим вопросам. Так что строго научно считать не всегда есть время заниматься, а примерную оценку получить на лету бывает очень часто нужно. А насколько эквивалентны ситуации когда согласованный фильтр стоит отдельно от эквалайзера и когда при T/2 эквалайзере он оказывается совмещенным с эквалайзером, коэффициенты которого рассчитываются по созвездию (QPSK например)? Классический согласованный фильтр имеет АЧХ идентичную сигналу, а эквалайзер пытается вывернуть наизнанку искажения канала - всегда ли можно эти задачи совместить? Если работать по тренингу, то где то понятно, что добиваясь минимальных отличий от тренинга ты и согласовываешься и канал корректируешь и т.д. А если эквалайзер без тренинга - только посозвездию работает? Получим то же самое? А что Вы под сложным сигналом понимате, база которого много больше единицы?, или какой-нибудь многопозиционный в тяжелых условиях? Так вроде QPSK. Корень задачи в примерной аргументации тех или иных решений. Тактовую я предлагаю вытягивать через Фурье огибающей, в качестве сигнала ошибки предлагаю Гаднера (не чувствителен к ошибке по несущей, работает с T/2, что согласуется с дробным эквалайзером). По эти двум пунктам пока непонятно насколько данный выбор удачен для небольших сигнал-шум. На всякий случай уточнение - работаем без тренинга. Остался неясен вопрос с интерполяцией (управлять АЦП возможности нет, да и вредно это для качества АЦП). Как не пальцем в небо тыкнуть и типа приказать - будем брать 4 отсчета на символ, или 20? И соответственно пока еще и не брался за вопрос выбора типа и парметров петлевого тактового фильтра, это чуть позже, когда с этими этапами разберусь.
Еще раз, решений подсказывают много, но мало кто может их обосновать, ответ звучит везде примерно так - я делал так, а почему так не помню, или просто где-то нашел готовое решение которое заработало и бог с ним, чего тогда разбираться. В любимой книге Петрова - Низами, RF Architectures & DSP Aspects... приводятся много фактов по этому поводу. Общей теории нет поскольку затрагивается слишком много факторов. Вернее она там есть, но становится бесполезной. Но для выбора фазы тактовой для QPSK (при идеальной синхронизации в отношении других факторов) приводится кривая. Получается, что при ошибке 15% (1/7 символьного интервала) энергетические потери составляют 1.5дб. Т.е если Вас устроят такие энергетические потери - то при 4-х отсчётах на символ можно вообще ничего не делать (при 4-х отсчётах Вы не сможете сделать ошибку выборки больше 1/8 после кадровой синхронизации корреляционным способом). Если имеется в наличие эквалайзер - тем более он сам вытянет практически полностью эти потери. Вообще, в книге утверждается, что 4 самое комфортное число выборок на символ. Вообще-то 4 это не совсем спортивно в том смысле, что мы идём на поводу у аналоговых методов конструирования модемов и используем DSP не вполне эффективно. Существуют алгоритмы для полностью цифровой реализации всех синхронизаций при 2-х отсчётах. Но если есть запас выч. ресурса для решения задачи - 4 наиболее актуально адекватно в качестве компромисса. Если говорить только о тактовой синхронизации, то идельный сдвиговый интерполятор - это синк (вернее синкс поправкой на RFC). Это идеальный интерполятор. Полифазные фильтры - это уже компромиссы, тем более сплайн-интерполяторы. Интересно зачем Вам подавление боковиков 60 дб сплайн-интерполятором, если соседние каналы уже надёжно подавлены до этого, а рабочий snr порядка 10 дб. Мне кажется дефективность интерполятора дрлжна быть как раз только чуть лучше этих 10 дб. Полиномиальные интерполяторы используются только для упрощения вычислений. Понятно, чем выше порядок полиномов и больше интервалов сплайна - тем лучше мы этот как-бы синк выписываем. Я приводил уже как-то ссылку на реализацию очень хорошего кубического интерполятора с кол-вом интервалов больше 4 для частного случая 2-х точек на символ. Кубические интерполяторы очевидно лучше квадоатичных или тем более линейных, даже при очень низких snr
|
|
|
|
|
Dec 16 2007, 12:29
|
Частый гость
 
Группа: Новичок
Сообщений: 120
Регистрация: 28-01-05
Пользователь №: 2 256

|
Цитата при ошибке 15% (1/7 символьного интервала) 7*15 примерно 100 - это понятно Цитата при 4-х отсчётах Вы не сможете сделать ошибку выборки больше 1/8 после кадровой синхронизации Как это так? 4*8 примерно 32. А если кадровой синхры типа нет? Далее, что означает 4 отсчета на символ. Я интерпретирую это так, что частота дискретизации у меня в 4 раза выше бодовой скорости, т.е. полоса сигнала 0.25 от частоты дискретизации. А то что мне удалось разрознено найти говорится, что удовлетворительные искажения получаются при 0.1. Мож речь идет о том, что при удовлетворительном сигнал-шум и 4 достаточно? Цитата Если говорить только о тактовой синхронизации, то идельный сдвиговый интерполятор - это синк (вернее синкс поправкой на RFC). Это идеальный интерполятор. Полиномиальные интерполяторы используются только для упрощения вычислений. Понятно, чем выше порядок полиномов и больше интервалов сплайна - тем лучше мы этот синк выписываем. Вы о полиноминальной или сплайновской интерполяции говорите? RFC это что такое?
|
|
|
|
|
Dec 16 2007, 12:38
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Leshii @ Dec 16 2007, 15:29)  7*15 примерно 100 - это понятно Как это так? 4*8 примерно 32. А если кадровой синхры типа нет?
Далее, что означает 4 отсчета на символ. Я интерпретирую это так, что частота дискретизации у меня в 4 раза выше бодовой скорости, т.е. полоса сигнала 0.25 от частоты дискретизации. А то что мне удалось разрознено найти говорится, что удовлетворительные искажения получаются при 0.1. Мож речь идет о том, что при удовлетворительном сигнал-шум и 4 достаточно? Вы о полиноминальной или сплайновской интерполяции говорите? RFC это что такое? Кадровая синхра всегда есть, даже если Вы её не делаете :-) Это Вы обманываете себя или заказчика :-) Или бывает ещё проблема яйца или курицы - что делается раньше. Даже у самого непрерывного модема есть первый передаваемый бит. Именно 4 отсчёта на один бодовый интервал. Нормальный паллеатив Полиномиальная интерполяция она и есть сплайновая. Полиномиальный сплайн. Ничего другого ведь не получится. RFC - это RCF :-) root-cosine интерполятор, но не фильтр. Если бы была полоса прямоугольной, то был бы в точности синк Формула 4- 16 у Низами
|
|
|
|
|
Dec 16 2007, 13:02
|
Частый гость
 
Группа: Новичок
Сообщений: 120
Регистрация: 28-01-05
Пользователь №: 2 256

|
Цитата Интересно зачем Вам подавление боковиков 60 дб сплайн-интерполятором, если соседние каналы уже надёжно подавлены до этого, а рабочий snr порядка 10 дб. Мне кажется дефективность интерполятора дрлжна быть как раз только чуть лучше этих 10 дб. Так вроде при интерполяции ты давишь не соседние каналы, а свои копии, кажись. Насчет 10 и 60 в принципе согласен. Если бы было 100 и 60, тогда вопросов не возникает, худо дело, а в моем случае вроде как на первый взгляд и не страшно. С другой стороны полиноминальные интерполяторы и так славятся тем, что между базовыми точками могут быть значительные выбросы и соответственно закрадывается мысль - если сигнал-шум и так не большой и складывается ситуация когда мю=0.5, т.е. там где выбросы максимальные, то что? на это внимание не обращать?, выбросы есть но они не смертельны? Цитата Кадровая синхра всегда есть, даже если Вы её не делаете :-) Это Вы обманываете себя или заказчика :-) Или бывает ещё проблема яйца или курицы - что делается раньше. Даже у самого непрерывного модема есть первый передаваемый бит Вопрос интересный. Чтоб мне зацепиться за кадровую синхру, я перед этим должен эти битики получить (в общем случае, особенно когда кадровая синхра по тем или иным причинам халявная, т.н. не типа Баркера), а следовательно рассчитывать на кадровую зацепку при тактовой синхронизации как то не клеется. Ну и честно говоря я все равно не понял как завязана кадровая синхронизация - 4 отсчета на символ - и 1/8 ошибки (а не 1/4) связаны. Цитата Полиномиальная интерполяция она и есть сплайновая. Полиномиальный сплайн. Ничего другого ведь не получится. Полиномиальная интерполяция, Интерполяция сплайнами, Рациональная интерполяция - да они все могут быть разного порядка, в том или ином виде в их описаниях присутствуют полиномы, но они по сути то разные, имеют разные свойства. Иль я где-то глубоко заблуждаюсь?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|