Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ Математика и Физика _ модель 8PSK модема

Автор: petrov Nov 16 2006, 10:15

Модель 8PSK модема fast feedforward symbol sync fast feedforward phase sync для simulink из matlab 7.0.

 psk8_fast_ff_nda_symbol_sync_fast_ff_nda_phase_sync_2006_11_15.rar ( 11.36 килобайт ) : 3916
 

Автор: petrov Apr 6 2007, 15:14

Модель QPSK модема fast feedforward symbol sync fast feedforward phase sync fast gain control для simulink из matlab 7.0.

 qpsk_fast_symbol_sync_fast_phase_sync_fast_agc_2007_03_06.rar ( 11.95 килобайт ) : 2738
 

Автор: Serg76 Apr 6 2007, 16:28

Цитата(petrov @ Apr 6 2007, 16:14) *
Модель QPSK модема fast feedforward symbol sync fast feedforward phase sync fast gain control для simulink из matlab 7.0.


Благодарю, обязательно посмотрю модельку (остальось только Matlab поставить smile.gif )

Автор: petrov May 21 2007, 13:10

Модель QPSK модема fast feedforward symbol sync farrow interpolator fast feedforward phase sync fast gain control для simulink из matlab 7.0.

 qpsk_ff_symbol_farrow_sync_ff_phase_sync_fast_agc_2007_05_20.rar ( 13.72 килобайт ) : 1968
 

Автор: petrov Jun 18 2007, 18:20

Модель QAM16 модема feed-back gardner symbol sync farrow interpolator decision feed-back phase sync gain control для simulink из matlab 7.0.

 qam_fb_gardner_symbol_farrow_sync_fb_phase_sync_agc_2007_06_18.rar ( 14.47 килобайт ) : 2018
 

Автор: petrov Jul 10 2007, 09:08

Отправлено Валерий_П 06 июля 2007 г. 14:39

Например, мне нужно передать информацию с символьной скоростью 2400бод, 3000бод. Они не кратны моей Fs=8кГц. Как обновлять информацию с некратной частотой?
Только одно на ум приходит - Нужно делать передискретизацию? Это ведь неудобно.
Как в модемах V.34 это дело реализовано ?
Подскажите, пожалуйста!

 qam_modulatort2400baud8000dac_2007_07_10.rar ( 14.17 килобайт ) : 1428
 

Автор: mikalaha Jul 10 2007, 12:45

Цитата(petrov @ Jul 10 2007, 13:08) *
Отправлено Валерий_П 06 июля 2007 г. 14:39

Например, мне нужно передать информацию с символьной скоростью 2400бод, 3000бод. Они не кратны моей Fs=8кГц. Как обновлять информацию с некратной частотой?
Только одно на ум приходит - Нужно делать передискретизацию? Это ведь неудобно.
Как в модемах V.34 это дело реализовано ?
Подскажите, пожалуйста!


Больше, увы, никак.
Только формировать сигнал на частоте кратной частоте дискретизации и бодовой скорости, а потом
производить прореживание символов, например для 2400 и 8000 - эта частота будет = 24000 Гц, чтобы получить 8кГц - берем каждый третий отсчет из сформированного потока.
Кстати, насчет V.34 - там бодовая скорость может быть вообще не целым числом.

Автор: petrov Jul 10 2007, 12:55

Цитата(mikalaha @ Jul 10 2007, 16:45) *
Больше, увы, никак.
Только формировать сигнал на частоте кратной частоте дискретизации и бодовой скорости, а потом
производить прореживание символов, например для 2400 и 8000 - эта частота будет = 24000 Гц, чтобы получить 8кГц - берем каждый третий отсчет из сформированного потока.
Кстати, насчет V.34 - там бодовая скорость может быть вообще не целым числом.


Это не так.

Автор: petrov Jul 18 2007, 11:57

Модель QAM16 модема feed-back gardner symbol sync farrow interpolator decision feed-back phase sync gain control variable delay channel для simulink из matlab 7.0.

 qam_fb_symbol_sync_fb_phase_sync_agc_var_ch_delay_2007_07_10.rar ( 15.44 килобайт ) : 1397
 

Автор: petrov Jul 24 2007, 17:35

Модель QAM16 модема feed-back gardner symbol sync farrow interpolator decision feed-back phase sync gain control variable delay channel linear equalizer godard decision directed для simulink из matlab 7.0.

 qam_fb_symbol_sync_fb_phase_sync_agc_var_ch_delay_eq_2007_07_21.rar ( 17.49 килобайт ) : 1223
 

Автор: petrov Jul 27 2007, 13:29

Модель QAM16 модема feed-back gardner mueller muller symbol sync farrow interpolator decision feed-back phase sync gain control variable delay channel decision feed-back equalizer blind godard decision directed для simulink из matlab 7.0.

 qam_fb_symbol_sync_fb_phase_sync_agc_dfe_2007_07_26.rar ( 18.93 килобайт ) : 1352
 

Автор: petrov May 12 2008, 11:42

DQPSK

 dqpsk_ff_symbol_farrow_sync_fast_agc_2008_05_12.rar ( 13.62 килобайт ) : 2028
 

Автор: petrov May 15 2008, 12:30

Модель QPSK модема feed-back gardner symbol sync farrow interpolator decision directed phase sync gain control variable delay для simulink из matlab 7.0.

 qpsk_fb_symbol_sync_fb_phase_sync_agc_2008_05_15.rar ( 15.09 килобайт ) : 2012
 

Автор: petrov Jun 22 2008, 09:52

msk modulator primer

 msk_modulator_2008_06_22.rar ( 6.92 килобайт ) : 1419
 

Автор: RadioJunior Jun 23 2008, 14:00

Цитата(petrov @ Jun 22 2008, 13:52) *
msk modulator primer

не могли бы вы привести математические формулы и источник, с которого взят алгоритм формирования!

Автор: petrov Jun 24 2008, 08:41

Цитата(RadioJunior @ Jun 23 2008, 18:00) *
не могли бы вы привести математические формулы и источник, с которого взят алгоритм формирования!


Он вам известен - «Цифровая связь» Прокис :)

Автор: RadioJunior Jun 24 2008, 11:11

Цитата(petrov @ Jun 24 2008, 12:41) *
Он вам известен - «Цифровая связь» Прокис smile.gif


хм... sad.gif что то в модели не по Прокису...я делал квадратурную схему и у меня она несколько отличается от вашей 07.gif
Вот посмотрите здесь http://electronix.ru/redirect.php?http://matlab.exponenta.ru/simulink/book3/4.php

Автор: petrov Jun 24 2008, 12:40

Цитата(RadioJunior @ Jun 24 2008, 15:11) *
хм... sad.gif что то в модели не по Прокису...я делал квадратурную схему и у меня она несколько отличается от вашей 07.gif
Вот посмотрите здесь http://electronix.ru/redirect.php?http://matlab.exponenta.ru/simulink/book3/4.php


И что же не по Прокису? Посмотрите свой Рисунок 2. 6 и 7 - временные диаграммы комплексной огибающей , то же самое что и на выходе моего модулятора. У меня сделано в общем виде формирование cpfsk сигнала а не частный случай суммы двух смещённых ВPSK с косинусоидальной формой импульса.

Автор: petrov Aug 25 2008, 13:51

BPSK Costas loop

 bpsk_costas_2008_08_25.rar ( 14.86 килобайт ) : 1304
 

Автор: связист Aug 26 2008, 12:00

Цитата(petrov @ Nov 16 2006, 14:15) *
Модель 8PSK модема fast feedforward symbol sync fast feedforward phase sync для simulink из matlab 7.0.

Копаюсь в этой модели и возник вопрос.
В блоке symbol_synk/FIR_filter идёт свёртка с синусоидой.
Для чего надо делать сопряжение сигнала, с которым сворачивается чинусоида ведь он и так действительный?
Какой физ. смысл этого фильтра? Правильно ли я понимаю, что таким образом выделяется частота, равная частоте следования модемных посылок? Если так, то фильтр должен быть похож на полосовой КИХ фильтр. А здесь свёртка с синусоидой.

Правильно ли я понял, что в блоке symbol_synk вычитание задержанной на один отсчёт выделенной несущей нужна для того чтобы просто задержать её на четверть периода или сместить её фазу на 90градусов? Если так, тогда вопрос откуда известно, что она должна быть задержана именно на четверть периода, а не на другую величину. Это Вы подсчитали исходя из суммарных задержек во всех обрабатывающих элелентах или как-то иначе?

Автор: petrov Aug 26 2008, 12:29

Цитата(связист @ Aug 26 2008, 16:00) *
Копаюсь в этой модели и возник вопрос.
В блоке symbol_synk/FIR_filter идёт свёртка с синусоидой.
Для чего надо делать сопряжение сигнала, с которым сворачивается чинусоида ведь он и так действительный?
Какой физ. смысл этого фильтра? Правильно ли я понимаю, что таким образом выделяется частота, равная частоте следования модемных посылок? Если так, то фильтр должен быть похож на полосовой КИХ фильтр. А здесь свёртка с синусоидой.


На сопряжение не обращайте внимания, просто скопировал фильтр из другой модели там была работа с комплесными сигналами, в блоке скалярного произведения встроено сопряжение одного из сигналов, поэтому пришлось поставить снаружи сопряжение чтобы это скомпенсировать. Этот фильтр на один период символьной частоты совместно с последующим CIC образует полосовой фильтр длиной 32 символьных интервала, снимите их общую импульсную характеристику увидите отрезок синусоиды в 32 символьных интервала.

Цитата(связист @ Aug 26 2008, 16:00) *
Правильно ли я понял, что в блоке symbol_synk вычитание задержанной на один отсчёт выделенной несущей нужна для того чтобы просто задержать её на четверть периода или сместить её фазу на 90градусов? Если так, тогда вопрос откуда известно, что она должна быть задержана именно на четверть периода, а не на другую величину. Это Вы подсчитали исходя из суммарных задержек во всех обрабатывающих элелентах или как-то иначе?


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

Автор: связист Aug 26 2008, 13:35

Пока пытался сформулировать вопрос про CIC вроде бы понял ответ на него. smile.gif
Поэтому вопрос будет по источникам.
Нашёл у Прокиса в главе 6.2.1 "МП оценка несущей" в примере схему и формулу МП оценки несущей. Вы не туда случайно смотрели, когда делали эту модель?

А в блоке psk8_fast_ff_nda_symbol_sync_fast_ff_nda_phase_sync_2006_11_15/symbol_synk первый символьный дифференциатор (разность с задержкой в 8 отсчётов) тоже можно отбросить или всё-таки есть какой-то смысл в нём?

Автор: petrov Aug 26 2008, 13:52

Цитата(связист @ Aug 26 2008, 17:35) *
Пока пытался сформулировать вопрос про CIC вроде бы понял ответ на него. smile.gif
Поэтому вопрос будет по источникам.
Нашёл у Прокиса в главе 6.2.1 "МП оценка несущей" в примере схему и формулу МП оценки несущей. Вы не туда случайно смотрели, когда делали эту модель?


нет

Цитата(связист @ Aug 26 2008, 17:35) *
А в блоке psk8_fast_ff_nda_symbol_sync_fast_ff_nda_phase_sync_2006_11_15/symbol_synk первый символьный дифференциатор (разность с задержкой в 8 отсчётов) тоже можно отбросить или всё-таки есть какой-то смысл в нём?


Ну такой примитивный можно и отбросить, а вообще существует полосовой фильтр каким-то образом согласованный с сигналом чтобы выделять ту часть спетра в которой больше всего информации о символьной частоте, подробнее ищите статьи.

Автор: petrov Sep 11 2008, 09:28

fir filter identification

 fir_filter_identification_2008_09_11.rar ( 7.4 килобайт ) : 706
 

Автор: links Oct 8 2008, 08:24

Работа разомкнутой (feedforward) схемы тактовой синхронизации по квадрату огибающей, как, например, в psk8_fast_ff_nda_symbol_sync_fast_ff_nda_phase_sync_2006_11_15, ухудшается при rolloff<1 в RCF. Здесь два возможных варианта повышения стабильности её работы. В принципе, во 2-м варианте тоже можно поставить ПИФ, но это даст не много.

 psk8_clock_feedforward.rar ( 13.76 килобайт ) : 635
 

Автор: petrov Oct 8 2008, 08:47

Цитата(links @ Oct 8 2008, 12:24) *
Работа разомкнутой (feedforward) схемы тактовой синхронизации по квадрату огибающей, как, например, в psk8_fast_ff_nda_symbol_sync_fast_ff_nda_phase_sync_2006_11_15, ухудшается при rolloff<1 в RCF. Здесь два возможных варианта повышения стабильности её работы. В принципе, во 2-м варианте тоже можно поставить ПИФ, но это даст не много.


Не открывается что-то, какая версия матлаба?

Автор: links Oct 8 2008, 10:54

Цитата(petrov @ Oct 8 2008, 12:47) *
Не открывается что-то, какая версия матлаба?


Matlab 7.6.0.324 (R2008a)

Автор: petrov Dec 8 2008, 13:25

Filtered Multitone (FMT) Modulation, noncritically sampled filter bank, timing frequency phase tracking primer

simulink matlab 7.0

 fmt_timing_freq_tracking_primer_2008_12_08.rar ( 24.28 килобайт ) : 683
 

Автор: petrov Jun 27 2009, 15:37

fast transform domain normalized leaky LMS DFE

matlab 7.0

 qpsk_fast_dfe_2009_06_26.rar ( 20.9 килобайт ) : 703
 

Автор: Oldring Jun 28 2009, 11:05

Цитата(petrov @ Jun 27 2009, 19:37) *
fast transform domain normalized leaky LMS DFE


BTW ради любопытства я запустил эту модель и отвлекся. Через некоторое время эквалайзер развалился...

Автор: petrov Jun 28 2009, 11:22

Цитата(Oldring @ Jun 28 2009, 15:05) *
BTW ради любопытства я запустил эту модель и отвлекся. Через некоторое время эквалайзер развалился...


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

Автор: Oldring Jun 28 2009, 11:53

Цитата(petrov @ Jun 28 2009, 15:22) *
Да может разваливаться, в этом и проблема эквалайзеров и совместной синхронизации, от любого чиха разваливаются или уходят в паразитное устойчивое состояние, тут в общем просто демонстрация алгоритма адаптации более быстрого чем обычный LMS, здесь нет решения всех проблем которые возникают.



Меня тоже удивило что не упоминается в литературе взаимодействие эквалайзера с синхронизатором и AGC. Хотя то что неприятности неизбежны, после прочтения базовой теории, изложенной в Хайкине, становится очевидным. Вы не встречали статей по этой теме?

Автор: petrov Jun 28 2009, 12:00

Цитата(Oldring @ Jun 28 2009, 15:53) *
Меня тоже удивило что не упоминается в литературе взаимодействие эквалайзера с синхронизатором и AGC. Хотя то что неприятности неизбежны, после прочтения базовой теории, изложенной в Хайкине, становится очевидным. Вы не встречали статей по этой теме?


В том то и дело что не встречалось. Всяких супер алгоритмов адаптации полно, синхронизаторы отдельно рассматривают, а вот совместных робастных схем что-то не видно. Ну и видимо не случайно кругом OFDM.

Автор: des00 Jun 29 2009, 05:23

Цитата(petrov @ Jun 28 2009, 05:22) *
Да может разваливаться, в этом и проблема эквалайзеров и совместной синхронизации, от любого чиха разваливаются или уходят в паразитное устойчивое состояние, тут в общем просто демонстрация алгоритма адаптации более быстрого чем обычный LMS, здесь нет решения всех проблем которые возникают.


спасибо за модель, но есть несколько вопросов. Сначала по методу :

1. Почему вы нормируете дельту не на мощность сигнала, а на амплитуду?
2. Почему у вас при нормировке есть дополнительная задержка на следующий такт?

ИМХО из за этого слетает алгоритм обновления. Тот же Diniz пишет следующее (см. атач)

я заменил в FSE плече амплитуду на мощность с бесконечной памятью канала эквалайзер стал вести себя более спокойно.

Теперь по структуре:

Я отключил DF звено ( выход на терминатор, на вход сумматора 0). И эквалайзер вообще не может найти решение, странно по идее оно должно быть, пусть и с более плохим качеством. Почему так происходит?

И вопрос всем по реализации.

По идее мощность это квадрат сигнала, но вот как поступают при переносе вычислений в форматы с фиксированной запятой. Например есть созвездие 0.5+i0.5, в этом случае мощность составит 0.5, при нормировке это даст 1, но если рассмотреть реальное железо, пусть это будут 8ми битные точки 128 +128i, тогда мощность составит 32768 и нужно вводить скалирующие коэффициенты, что бы привести это к общему знаменателю. В принципе для созвездия 0.5+i0.5 это просто, но как быть когда созвездие например такое [0.5+i0.5 1.5+i0.5 0.5+i1.5 1.5+i1.5] ведь в этом случае так просто отскалировать не получиться?

Я вижу решение в нормировке созвездия к единице, т.е. привести его к виду [0.25+i0.25 0.75+i0.25 0.25+i0.75 0.75+i0.75] и дальше идти обычному пути. Делать надо так или я изобретаю велосипед?

Спасибо.



Цитата(Oldring @ Jun 28 2009, 06:53) *
Меня тоже удивило что не упоминается в литературе взаимодействие эквалайзера с синхронизатором и AGC. Хотя то что неприятности неизбежны, после прочтения базовой теории, изложенной в Хайкине, становится очевидным. Вы не встречали статей по этой теме?


в книге The Theory and Practice of Modem Design, John A.C. Bingham, (с) 1988 John Wiley & Sons, Inc есть главы 7.5 Timing Recovery for Symbol-Rate Adaptive Equalizers и 7.6 Timing Recovery for Fractionally Rate Adaptive Equalizers

 

Автор: petrov Jun 29 2009, 09:47

Цитата(des00 @ Jun 29 2009, 09:23) *
1. Почему вы нормируете дельту не на мощность сигнала, а на амплитуду?


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

Цитата(des00 @ Jun 29 2009, 09:23) *
2. Почему у вас при нормировке есть дополнительная задержка на следующий такт?


Просто перетащил фильтр из другой модели, конечно можно задержку убрать, но в самом фильтре есть задержка, тем больше чем меньше альфа.


Цитата(des00 @ Jun 29 2009, 09:23) *
Я отключил DF звено ( выход на терминатор, на вход сумматора 0). И эквалайзер вообще не может найти решение, странно по идее оно должно быть, пусть и с более плохим качеством. Почему так происходит?


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


Цитата(des00 @ Jun 29 2009, 09:23) *
По идее мощность это квадрат сигнала, но вот как поступают при переносе вычислений в форматы с фиксированной запятой. Например есть созвездие 0.5+i0.5, в этом случае мощность составит 0.5, при нормировке это даст 1, но если рассмотреть реальное железо, пусть это будут 8ми битные точки 128 +128i, тогда мощность составит 32768 и нужно вводить скалирующие коэффициенты, что бы привести это к общему знаменателю. В принципе для созвездия 0.5+i0.5 это просто, но как быть когда созвездие например такое [0.5+i0.5 1.5+i0.5 0.5+i1.5 1.5+i1.5] ведь в этом случае так просто отскалировать не получиться?

Я вижу решение в нормировке созвездия к единице, т.е. привести его к виду [0.25+i0.25 0.75+i0.25 0.25+i0.75 0.75+i0.75] и дальше идти обычному пути. Делать надо так или я изобретаю велосипед?


В общем тут без комментариев, сам всегда мучаюсь с такими вопросами, [0.5+i0.5 1.5+i0.5 0.5+i1.5 1.5+i1.5] и [0.25+i0.25 0.75+i0.25 0.25+i0.75 0.75+i0.75] - по сути это одно и то же, ведь нет же никакой запятой в 8-ми битной шине, она у нас в голове.

Автор: petrov Aug 19 2009, 11:26

8PSK feed-back gardner symbol sync farrow interpolator decision directed phase sync gain control variable delay

simulink matlab 7.0.

 psk8_fb_symbol_sync_fb_phase_sync_agc_2009_08_19.rar ( 15.25 килобайт ) : 1467

Автор: voloda Apr 10 2010, 14:29

Добавил в модель petrov-а петлю костаса для qam16.
matlab 2009b

 qam_fb_gardner_costac.rar ( 19.35 килобайт ) : 643
 

Автор: petrov Apr 15 2010, 10:53

Цитата(voloda @ Apr 10 2010, 17:44) *
Добавил в модель petrov-а петлю костаса для qam16.
matlab 2009b


Уже обсуждалось, к статье Костаса это отношения не имеет.

Непонятно зачем использовать плохой вариант управления решениями, если можно использовать управление решениями?

Автор: voloda Apr 23 2010, 16:20

Цитата(petrov @ Apr 15 2010, 15:08) *
К статье Костаса это отношения не имеет.


Собирал по книжке Незами ст. 110 рис. 3-20.

Цитата(petrov @ Apr 15 2010, 15:08) *
Уже обсуждалось


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

Цитата(petrov @ Apr 15 2010, 15:08) *
Непонятно зачем использовать плохой вариант управления решениями, если можно использовать управление решениями?


Опять же, ссылку на модель/статью/на словах обьясните, как сделать правильное управление решениями. Я не волшебник, я только учусьsmile.gif)

Автор: petrov Apr 23 2010, 16:52

Все ответы есть в "Цифровая Связь" - Прокис.

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

Автор: voloda Apr 24 2010, 15:43

Впринципе, конечно, управление решениями, выложенное во всех моделях этой ветки - точнее. Но вычисление фазы комплексного сигнала процесс не быстрый. Может быть, модель, в которой используются только умножатели - пошустрее будет?

Если тема уже обсуждалась, дайте ссылку.

Автор: petrov Apr 24 2010, 16:33

Цитата(voloda @ Apr 24 2010, 19:58) *
Впринципе, конечно, управление решениями, выложенное во всех моделях этой ветки - точнее. Но вычисление фазы комплексного сигнала процесс не быстрый. Может быть, модель, в которой используются только умножатели - пошустрее будет?

Если тема уже обсуждалась, дайте ссылку.


В моделях вычисление аргумента так сделано для очевидности того что является ошибкой - угол поворота принимаемого созвездия относительно решений, можно и без вычисления аргумента это делать - Im(conj(soft)*decision), только надо учитывать что коэффициент передачи такого такого детектора зависит от амплитуды сигнала. Так и сделано в том детекторе для QPSK с управлением решениями который все почему-то неправильно называют Костасом. Так почему бы сразу не использовать управление решениями для 16QAM не извращаясь с детектором для QPSK?


http://electronix.ru/forum/index.php?showtopic=71563

Автор: voloda Apr 27 2010, 13:08

Цитата(petrov @ Apr 24 2010, 20:33) *
В моделях вычисление аргумента так сделано для очевидности того что является ошибкой - угол поворота принимаемого созвездия относительно решений, можно и без вычисления аргумента это делать - Im(conj(soft)*decision), только надо учитывать что коэффициент передачи такого такого детектора зависит от амплитуды сигнала. Так и сделано в том детекторе для QPSK с управлением решениями который все почему-то неправильно называют Костасом. Так почему бы сразу не использовать управление решениями для 16QAM не извращаясь с детектором для QPSK?


http://electronix.ru/forum/index.php?showtopic=71563


1) Пока что не совсем понял, откуда можно вывести Im(conj(soft)*decision) - из управления решениями или из той модели, которую по ошибке называют Костасом? Или все три решения - одинаковы и два других можно вывести из третьего?

2) В созвездии 16QAM можно взять точки, не лежащие на QPSK. Но неоднозначность фазы там будет 2pi/8, а не 2pi/4 , как для под-QPSK созвездий. Возможна ситуация, когда по точкам под-QPSK будет выдаваться ошибка одного знака, а по не под-QPSK - другого. Тоесть они будут вращать частоту в разные стороны. При расстройке частоты 0.03 0.04, модель, которая работает только по под-QPSK созвездиям ищет решение быстрее.

3) Добавил управление по решению Im(conj(soft)*decision). Впринципе находит решение и без учета зависимости коэффициента передачи от амплитуды сигнала.

4) Спасибо за ссылку. Интересно.

 qam_fb_gardner_conj_soft_decision.rar ( 20.27 килобайт ) : 442
 

Автор: petrov Apr 27 2010, 14:14

Цитата(voloda @ Apr 27 2010, 17:08) *
1) Пока что не совсем понял, откуда можно вывести Im(conj(soft)*decision)


Это же очевидно чему это выражение пропорционально, синусу разности фаз между решением и принимаемым вектором.

Цитата(voloda @ Apr 27 2010, 17:08) *
2) В созвездии 16QAM можно взять точки, не лежащие на QPSK. Но неоднозначность фазы там будет 2pi/8, а не 2pi/4 , как для под-QPSK созвездий. Возможна ситуация, когда по точкам под-QPSK будет выдаваться ошибка одного знака, а по не под-QPSK - другого. Тоесть они будут вращать частоту в разные стороны. При расстройке частоты 0.03 0.04, модель, которая работает только по под-QPSK созвездиям ищет решение быстрее.


Для сопровождения характеристики этого детектора будут хуже, а для большей полосы захвата и более быстрой настройки на начальном этапе лучше использовать непосредственно BPSK, QPSK.


Цитата(voloda @ Apr 27 2010, 17:08) *
3) Добавил управление по решению Im(conj(soft)*decision). Впринципе находит решение и без учета зависимости коэффициента передачи от амплитуды сигнала.


Имелось ввиду что коэффициент передачи детектора нужно учитывать при анализе ФАПЧ.

Автор: petrov May 7 2010, 09:12

pi/4 dqpsk coherent demodulation

simulink matlab R2010a

 pi4_qpsk_2010_05_07.rar ( 24.97 килобайт ) : 1653

Автор: Alex65111 May 14 2010, 05:12

Есть немного вопросов по поводу символьной синхронизации.

1. Почему в литературе в основном применяют feedback подход , а не feedforward?

2. Встречал две схемы
- TED, loop filter с прямой и интегрирующей ветками, интерполятор
- TED, loop filter первого порядка с одним полюсом, а затем последовательно еще интегратор, далее интерполятор.
В чем принципиальная разница между этими схемами и получается, что по сути во втором варианте последовательно два интегратора стоит (так как вроде фильтр с одним полем в том или ином виде и есть интегратор).

Автор: petrov May 14 2010, 07:51

Цитата(Alex65111 @ May 14 2010, 09:12) *
1. Почему в литературе в основном применяют feedback подход , а не feedforward?


Спорное утверждение.

Цитата(Alex65111 @ May 14 2010, 09:12) *
2. Встречал две схемы
- TED, loop filter с прямой и интегрирующей ветками, интерполятор
- TED, loop filter первого порядка с одним полюсом, а затем последовательно еще интегратор, далее интерполятор.
В чем принципиальная разница между этими схемами и получается, что по сути во втором варианте последовательно два интегратора стоит (так как вроде фильтр с одним полем в том или ином виде и есть интегратор).


Одним интегратором является NCO, если имеется второй интегратор, то он с параллельным пропорциональным звеном должен быть, иначе неустойчивая ФАПЧ будет. Давайте ссылку на схемы.

Автор: voloda May 14 2010, 08:17

Перевел модель petrov-а для QPSK на пакетный режим работы.
Некоторые комментарии по работе модели:

Пакет
Преамбула (BPSK – 29 символов, маркер начала данных(конец преамбулы) 7 символов QPSK); сами данные (1414 символов); хвост (10 QPSK символов). Всего 1450 символов. После хвоста, для разделения пакетов друг от друга передаем нули(200 нулевых символов).

Приемник и обнаружитель сигнала.
Обнаружитель сигнала срабатывает, если энергия сигнала на протяжении 8 выборок (1 символ) больше заданного порога. Обнаружитель запускает счетчик выборок, включает работу собственно приемника. В приемнике используется две петли АРУ. Первая грубо регулирует сигнал на входе обнаружителя, работает на частоте выборок, без всех синхронизаций и фильтраций, по первым 25 символам пакета. Блок FIR RRC Filter стоит сразу после первой петли АРУ, работает на протяжении всего пакета (1450 символов).
После FIR RRC Filter стоит блок resiver. В нем синхронизации, демодуляция, вторая петля АРУ. Работает не по всему пакету, а выкидывая по символу в конце и в начале пакета (1448 символов). (Их выкидываем на переходные процессы в FIR RRC Filter). Вторая петля АРУ работает на частоте символов, после всех синхронизаций и интерполяции сигнала, с 25 по 200 символы. Тактовая синхронизация по схеме Гардена работает с 0 по 200 символы. То есть и тактовая и АРУ работают по преамбуле + по части пакета. Вроде, это лучше, чем пускать длинную преамбулу и синхронизировать все по ней. Для подстройки частоты и фазы используется схема с управлением по решению, так же неправильно называемая петлей Костаса для QPSK. Пока не понял, как ее отключить, по прошествии определенного количества символов, поэтому работает по всему пакету целиком. Неоднозначность фазы pi/4 устраняется по маркеру начала пакета (концу преамбулы). Конец пакета ищется на отрезке 0-46 символов. Если он там не находится, пакет отбрасывается. Синхронизации Гардена и квази-Костаса не учитывают значений, полученных в предыдущем пакете, и по каждому пакету настраиваются заново, с нуля. Обе системы АРУ начинают подстройку от значений, полученных в предыдущем пакете. Есть система подсчета БЕР по пакетам.

Работает до соотношения сигнал/шум 10-8 дБ.

Посмотревших модель прошу оставлять комментарии/замечания/вопросы. В личку или сюда. Если есть ссылки на аналогичные модели или на литературу, как такие схемы надо собирать – прошу в студию. Я не волшебник, я только учусь rolleyes.gif

 qpsk_frame_based.rar ( 35.42 килобайт ) : 440
 

Автор: Alex65111 May 14 2010, 20:41

Цитата(petrov @ May 14 2010, 11:51) *
Спорное утверждение.


Да я особо то и не утверждаю, просто так показалось. Кратко можно плюсы/минусы feedback/feedforward?

Цитата
Давайте ссылку на схемы.





Какой порядок у данной схемы, третий?

 

Автор: petrov May 15 2010, 08:38

Цитата(Alex65111 @ May 15 2010, 00:41) *
Кратко можно плюсы/минусы feedback/feedforward?


Очевидно что feedforward быстрее. Но например feedback подстройка частоты/фазы управляемая решениями для QAM в режиме сопровождения(tracking) очень хорошо работаeт, непонятно как сделать так же feedforward. Вопрос слишком общий, смотрите конкретные схемы и выбирайте то что вам нужно.


Цитата(Alex65111 @ May 15 2010, 00:41) *
Какой порядок у данной схемы, третий?


На первом рисунке порядок астатизма первый(один интегратор), такая ФАПЧ не сможет отслеживать линейно изменяющуюся фазу без ошибки, схема бестолковая.

На втором рисунке классическая ФАПЧ с астатизмом второго порядка(два интегратора), в отличие от первой схемы может без ошибки отслеживать не только скачёк фазы но и сдвиг по частоте.

Автор: Alex65111 May 15 2010, 10:01

Цитата(petrov @ May 15 2010, 12:38) *
Очевидно что feedforward быстрее. Но например feedback подстройка частоты/фазы управляемая решениями для QAM в режиме сопровождения(tracking) очень хорошо работаeт, непонятно как сделать так же feedforward. Вопрос слишком общий, смотрите конкретные схемы и выбирайте то что вам нужно.


А что означает очень хорошо работает, по какому критерию? Ведь если feedforward быстрее, то вроде бы это как раз и есть хорошо?


Цитата(petrov @ May 15 2010, 12:38) *
На первом рисунке порядок астатизма первый(один интегратор), такая ФАПЧ не сможет отслеживать линейно изменяющуюся фазу без ошибки, схема бестолковая.


А single pole filter разве порядок не добавляет? Вроде бы порядок системы определяется по числу интеграторов (полюсов), а в данном случае у нас получается два полюса?

Автор: petrov May 15 2010, 10:58

Цитата(Alex65111 @ May 15 2010, 14:01) *
А что означает очень хорошо работает, по какому критерию? Ведь если feedforward быстрее, то вроде бы это как раз и есть хорошо?


Хорошо то хорошо, но только бывает невозможно сделать feedforward для работы по полезному сигналу, а только по специальной преамбуле. В общем схемы синхронизации очень разные каждая для своих целей, некорректно так влоб говорить хуже-лучше, плюсы-минусы.



Цитата(Alex65111 @ May 15 2010, 14:01) *
А single pole filter разве порядок не добавляет? Вроде бы порядок системы определяется по числу интеграторов (полюсов), а в данном случае у нас получается два полюса?


Ну добавляет и что? Для ФАПЧ важно количество интеграторов, там интегратор один.

Автор: thermit May 15 2010, 14:25

Цитата
Ну добавляет и что? Для ФАПЧ важно количество интеграторов, там интегратор один.


Фапч в обоих случаях 2-го порядка. т к ПФ петель имюет по 2 полюса.

Автор: petrov May 15 2010, 14:36

Цитата(thermit @ May 15 2010, 18:25) *
Фапч в обоих случаях 2-го порядка. т к ПФ петель имюет по 2 полюса.


И? А порядок астатизма какой? Какого порядка могут сигнал отслеживать без ошибки?

Автор: thermit May 15 2010, 15:35

Цитата
И? А порядок астатизма какой? Какого порядка могут сигнал отслеживать без ошибки?


2


зы
Астатизм - это не "без ошибки" а "ассимптотически к 0"

ззы

Сегодня, типа, выходной... Может пеффка?

Автор: Alex65111 May 18 2010, 07:28

Пусть имеется просчитанная цепочка - некий TED, Loop Filter, кубический интерполятор. Если будет заменен либо тип TED, либо интерполятор с кубического на другой порядок, либо форма реализации интерполятора будет не Фарроу - придется ли менять все параметры петлевого фильтра?, или только надо будет изменить общий масштабирующий множитель на выходе фильтра?

Автор: thermit May 18 2010, 07:48

Цитата
Alex65111:
Если будет заменен либо тип TED, либо интерполятор с кубического на другой порядок, либо форма реализации интерполятора будет не Фарроу - придется ли менять все параметры петлевого фильтра?, или только надо будет изменить общий масштабирующий множитель на выходе фильтра?


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

Автор: Alex65111 May 18 2010, 07:52

Цитата(thermit @ May 18 2010, 11:48) *
Порядок интерполятора, равно как и способ его реализации (фарроу - просто способ организации вычислений) значения не имеют. А вот теды могут быть разными (иметь различные детекторные характеристики) и смена детектора может повлечь за собой пересчет к-та передачи петли.


Примерно понял, спасибо.

В ряде источников встречал утверждения типа следующего, что для петли по несущей полосу петли выбирают примерно 1/1000 от символьной, а для символьной петли примерно 1/3000. Чем обусловлены такие цифры, почему например не 1/10 от символьной и для несущей и для символьной?

Автор: petrov May 18 2010, 08:03

Цитата(Alex65111 @ May 18 2010, 11:52) *
Примерно понял, спасибо.

В ряде источников встречал утверждения типа следующего, что для петли по несущей полосу петли выбирают примерно 1/1000 от символьной, а для символьной петли примерно 1/3000. Чем обусловлены такие цифры, почему например не 1/10 от символьной и для несущей и для символьной?


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

Автор: alex_os May 18 2010, 08:16

Цитата(Alex65111 @ May 18 2010, 11:52) *
Примерно понял, спасибо.

В ряде источников встречал утверждения типа следующего, что для петли по несущей полосу петли выбирают примерно 1/1000 от символьной, а для символьной петли примерно 1/3000. Чем обусловлены такие цифры, почему например не 1/10 от символьной и для несущей и для символьной?

Из практических соображений, имеем дешевый опорник точность установки его частоты 100ppm. Т.е. ошибка для тактовой и будет эти же 100ppm.
Для несущей же ошибка получается гораздо больше + еще может доплер быть.

Автор: Alex65111 May 18 2010, 08:18

Цитата(petrov @ May 18 2010, 12:03) *
Для большего усреднения, посмотрите в какие жирные облака превращается созвездие при наихудшем рабочем сигнал/шум, да если у вас ещё хороший турбокод будет использоваться... Для символьной петля уже т. к. символьные переходы не всегда есть в отличие от фазовой информации для петли по несущей которая в каждом символе есть.



Понятно, сэнкс

Автор: thermit May 18 2010, 08:27

Добавлю, что конкретные числа 1/1000 и 1/3000 могут рассматриваться лишь в качестве ориентировочных.
Исходить нужно из конкретной задачи учитывая общую нестабильность опорных частот.

Автор: Alex65111 May 18 2010, 08:30

Цитата(thermit @ May 18 2010, 12:27) *
Добавлю, что конкретные числа 1/1000 и 1/3000 могут рассматриваться лишь в качестве ориентировочных.
Исходить нужно из конкретной задачи учитывая общую нестабильность опорных частот.



Насколько эти цифры могут поплыть с учетом того, что сегодня вроде бы хуже чем 10^-6 не бывает?

Автор: alex_os May 18 2010, 09:27

Цитата(Alex65111 @ May 18 2010, 12:30) *
Насколько эти цифры могут поплыть с учетом того, что сегодня вроде бы хуже чем 10^-6 не бывает?


Где это хуже 1E-6 не бывает? Если взять скажем простой телефонный модем то согласно всяким V32, V34 должно работать
при ошибке по несущей 7Гц. При несущей 1800 Гц относительная расстройка 0.004.

Автор: petrov May 18 2010, 09:31

Цитата(Alex65111 @ May 18 2010, 12:30) *
Насколько эти цифры могут поплыть с учетом того, что сегодня вроде бы хуже чем 10^-6 не бывает?


Каков вопрос - таков ответ. Вплоть до невозможности сделать ФАПЧ. Попробуйте с такой нестабильностью на 10 ГГц захватить обычной ФАПЧ сигнал с символьной частотой 1 кГц. Почитайте литературу по ФАПЧ.

Автор: Alex65111 May 18 2010, 09:54

Цитата(petrov @ May 18 2010, 13:31) *
Каков вопрос - таков ответ. Вплоть до невозможности сделать ФАПЧ. Попробуйте с такой нестабильностью на 10 ГГц захватить обычной ФАПЧ сигнал с символьной частотой 1 кГц. Почитайте литературу по ФАПЧ.


Согласен, вопрос не слишком конкретно поставил. Но тем не менее, Ваш пример жизненый?, не могу ли я сперва этот килогерц скинуть к нулю и уже там захватывать?
Литературой по ФАПЧ облажился выше крыши, читаю, но пока с трудом sad.gif

Цитата(alex_os @ May 18 2010, 13:27) *
Где это хуже 1E-6 не бывает? Если взять скажем простой телефонный модем то согласно всяким V32, V34 должно работать
при ошибке по несущей 7Гц. При несущей 1800 Гц относительная расстройка 0.004.



Т.е. необходимую полосу петли в этом случае надо принять 0.004*2?

Автор: thermit May 18 2010, 09:56

Цитата
Alex65111:
Насколько эти цифры могут поплыть с учетом того, что сегодня вроде бы хуже чем 10^-6 не бывает?


Ну, 10^-6 это 1ппм, что есть офигенно круто. Если мне не изменяет память, такую нестабильность могут обеспечить термокомпенсированные генераторы. Меньше - термостатированные. Ширпотреб - десятки и сотни ппм.
Что касается цифр:
Для 1ппм эти цифры можно и уменьшить. С другой стороны имеет смысл смотреть на переходную х-ку фап (реакция на ступенчатое воздействие), вернее на длительность переходного процесса, которая связана с полосой bw=a/pi (Hz) где a - постоянная времени петли фап. Возможно, есть необходимость в скорейшем завершении переходного процесса слегка жертвуя шумностью фап. Все зависит от конкретного приложения.

Автор: petrov May 18 2010, 10:07

Цитата(Alex65111 @ May 18 2010, 13:54) *
не могу ли я сперва этот килогерц скинуть к нулю и уже там захватывать?


В том то и дело что в ноль вы будете скидывать этим самым нестабильным гетеродином и в передтчике с нуля переносить на несущую тоже.

Автор: thermit May 18 2010, 10:19

Цитата
Alex65111:
Согласен, вопрос не слишком конкретно поставил. Но тем не менее, Ваш пример жизненый?, не могу ли я сперва этот килогерц скинуть к нулю и уже там захватывать?


Угу.

Цитата
Литературой по ФАПЧ облажился выше крыши, читаю, но пока с трудом


Поищите книшку "An introduction to digital communications" Jack Kurzweil
Начиная со страницы 302 подробнейшим образом, простым, правда английским, языком разобрана подсистема фап.

Цитата
Т.е. необходимую полосу петли в этом случае надо принять 0.004*2?


Угу. Но лучше сделать побольше процентов на 40-50...

Автор: voloda May 25 2010, 13:36

Покопавшись в моделях petrov-а, пробую сделать на их основе пакетную систему связи. QPSK-модель выложил в начале дискуссии с Alex65111. Теперь тоже для QAM-16. Если у кого есть опыт разработки, подскажите, пожалуйста, так вообще делаю, или не так?

 qam_16_frame_based.rar ( 36.78 килобайт ) : 314
 

Автор: MKS May 26 2010, 11:36

Модулятор в вашей модели поражает воображение. Simulink конечно не очень предназначен для генерации всяких сложных преамбул и автоматов управления (схема получается громоздкая и потом сложно в ней что то менять). Наверно для этого надо свой блок в виде s-function писать, хотя мои эксперименты с ними пока закончились неудачей. Как компромиссное решение когда надо было генерировать сложное тестовое воздействие писал логику управления на verilog а потом с помощю блока link to modelsim подключал её в модель. Работает правда медленнее но зато можно быстро менять структуру преамбулы. Вот http://electronix.ru/redirect.php?http://embedders.org/content/sovmestnoe-modelirovanie-proektov-v-modelsim-qusestasim-i-simulink есть пример такой связки.

Автор: des00 May 26 2010, 12:05

Цитата(MKS @ May 26 2010, 05:36) *
Simulink конечно не очень предназначен для генерации всяких сложных преамбул и автоматов управления (схема получается громоздкая и потом сложно в ней что то менять).

можно и на embedded функции сделать, а через persistent сохранить состояние в КА на m языке %)

Автор: voloda May 27 2010, 12:52

des00, MKS, спасибо. Дойдут руки -попробую.
Хотел сначала всю преамбулу через один look-up table делать. Но потом решил - уж лучше так.

Автор: Alex65111 Jun 28 2010, 04:56

Подскажите такой вопросик. Есть этап синхронизации по фазе несущей. Рассматривается два варианта - первый это корректировка фазы опорных колебаний при формировании квадратур, второй это ротация после выхода согласованного фильтра взятого в тактовые моменты (рассматриваем полностью цифровые реализации, т.е. сигнал ацепируется и дальше понеслось). При этом говорят, что вариант с фазировкой опорных колебаний лучше чем ротация выхода согласованного фильтра, почему?

Автор: petrov Jun 28 2010, 07:28

Цитата(Alex65111 @ Jun 28 2010, 08:56) *
Подскажите такой вопросик. Есть этап синхронизации по фазе несущей. Рассматривается два варианта - первый это корректировка фазы опорных колебаний при формировании квадратур, второй это ротация после выхода согласованного фильтра взятого в тактовые моменты (рассматриваем полностью цифровые реализации, т.е. сигнал ацепируется и дальше понеслось). При этом говорят, что вариант с фазировкой опорных колебаний лучше чем ротация выхода согласованного фильтра, почему?


При большом сдвиге частоты первый вариант позволит избежать МСИ от согласованного фильтра, но при этом будет больше задержка в петле ФАПЧ, придётся заужать полосу петли для сохранения устойчивости, также больше вычислительных затрат будет, нельзя так однозначно сказать что лучше, от многих других условий может зависеть.

Автор: Alex65111 Jun 28 2010, 19:25

Цитата(petrov @ Jun 28 2010, 11:28) *
При большом сдвиге частоты первый вариант позволит избежать МСИ от согласованного фильтра, но при этом будет больше задержка в петле ФАПЧ, придётся заужать полосу петли для сохранения устойчивости, также больше вычислительных затрат будет, нельзя так однозначно сказать что лучше, от многих других условий может зависеть.



1. Какова природа МСИ от согласованного фильтра? И как это связанно с коррекцией фазы именно по опорам при формировании квадратур?

2. При описании ФАПЧ встречал такие понятия, как время/скорость коррекции, которое обратно пропорционально полосе петли, но не встречал такого понятия как задержка ФАПЧ - что это за зверь такой, чем определяется и как управляется?

Автор: MKS Jun 28 2010, 21:04

Цитата(Alex65111 @ Jun 28 2010, 22:25) *
1. Какова природа МСИ от согласованного фильтра? И как это связанно с коррекцией фазы именно по опорам при формировании квадратур?

Видимо речь о том что если вы будете подстраивать частоту до согласованного фильтра то ваш сигнал всегда будет точно попадать в его центр. Если же это делать после фильтра то сигнал может сильно съехать по частоте и обрезаться фильтром. Это справедливо для коррекции частоты, а для фазы всё равно в какой точке её компенсировать.

Автор: petrov Jun 29 2010, 07:04

Цитата(Alex65111 @ Jun 28 2010, 23:25) *
2. При описании ФАПЧ встречал такие понятия, как время/скорость коррекции, которое обратно пропорционально полосе петли, но не встречал такого понятия как задержка ФАПЧ - что это за зверь такой, чем определяется и как управляется?


В петлю будет включена задержка равная задержке согласованного фильтра.

Автор: Alex65111 Jun 29 2010, 10:46

1.

Цитата
В петлю будет включена задержка равная задержке согласованного фильтра.


Согласованный фильтр вносит задержку. Вроде понятно, вроде должно быть на длительность символа. Теперь мы говорим, что это плохо и предлагаем сузить полосу петли. Но с сужением полосы петли увеличивается и ее время подстройки, т.е. мы к задержке от согласованного фильтра еще привносим замедление от сужения полосы. Точно полосу надо зауживать, а не расширять?


2. По поводу согласованного фильтра.
Как уживаются понятия критерия Найквиста для отсутствия МСИ и согласованного фильтра для максимизации SNR на выходе?
Есть ли какие требования/рекомендации/ограничения для типа фильтра применяемого при формировании квадратур? Если мне например надо хорошенько отсечь близзко по частоте стоящие мешающие сигналы, то мне приходится применять фильтр с большой крутизной, и соответственно большого порядка (с длинной ИХ). Кроме того, в этом случае этот фильтр оказывается достаточно далек от согласованного и тем более от фильтра типа приподнятых косинусов и т.д. Тогда получается, что при необходимости выфильтровки рядом стоящих сигналов я своим фильтром сам себе создаю МСИ?

Автор: petrov Jun 29 2010, 11:16

Цитата(Alex65111 @ Jun 29 2010, 14:46) *
Вроде понятно, вроде должно быть на длительность символа.


Неправильно, смотрим в литературе чему равна задержка FIR фильтра с симметричной импульсной характеристикой

Цитата(Alex65111 @ Jun 29 2010, 14:46) *
Теперь мы говорим, что это плохо и предлагаем сузить полосу петли. Но с сужением полосы петли увеличивается и ее время подстройки. Точно полосу надо зауживать, а не расширять?


Ну попробуйте расширять, получите неустойчивую петлю, смотрим литературу по ФАПЧ, ТАУ.



Цитата(Alex65111 @ Jun 29 2010, 14:46) *
По поводу согласованного фильтра.
Как уживаются понятия критерия Найквиста для отсутствия МСИ и согласованного фильтра для максимизации SNR на выходе?
Есть ли какие требования/рекомендации/ограничения для типа фильтра применяемого при формировании квадратур? Если мне например надо хорошенько отсечь близзко по частоте стоящие мешающие сигналы, то мне приходится применять фильтр с большой крутизной, и соответственно большого порядка (с длинной ИХ). Кроме того, в этом случае этот фильтр оказывается достаточно далек от согласованного и тем более от фильтра типа приподнятых косинусов и т.д. Тогда получается, что при необходимости выфильтровки рядом стоящих сигналов я своим фильтром сам себе создаю МСИ?


Можно сделать фильтр корень из приподнятого косинуса с любым подавлением за пределами полосы пропускания и со сколь угодно малой вносимой МСИ, всё в итоге упирается лишь в порядок фильтра и разрядность.


Автор: Alex65111 Jun 29 2010, 11:34

Цитата(petrov @ Jun 29 2010, 15:16) *
1. Ну попробуйте расширять, получите неустойчивую петлю, смотрим литературу по ФАПЧ, ТАУ.


2. Можно сделать фильтр корень из приподнятого косинуса с любым подавлением за пределами полосы пропускания и со сколь угодно малой вносимой МСИ, всё в итоге упирается лишь в порядок фильтра и разрядность.



1. Попробую посмотреть. Сейчас в основном смотрю их применение для синхронизации, а там как рассчитывать коэффициенты фильтра формулы есть, но про устойчивость что-то не особо заикаются.
Но немного логика непонятна. Получается вроде раз СФ дает задержку, то мы в дополнение еще свою добавляем путем сужения полосы. Если бы звучало типо так - согласованный фильтр в петле расширяет ее полосу, что приводит к неустойчивости, а поэтому необходимо сужать петлю, то было бы чисто на первый взгляд более понятно.

2. Вообще насколько критично применение фильтра отличного от приподнятого косинуса? Другие фильтры на самом деле будут привносить свою МСИ?, насколько существенно можно залететь?

Автор: petrov Jun 29 2010, 12:09

Цитата(Alex65111 @ Jun 29 2010, 15:34) *
Но немного логика непонятна. Получается вроде раз СФ дает задержку, то мы в дополнение еще свою добавляем путем сужения полосы. Если бы звучало типо так - согласованный фильтр в петле расширяет ее полосу, что приводит к неустойчивости, а поэтому необходимо сужать петлю, то было бы чисто на первый взгляд более понятно.


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

Цитата(Alex65111 @ Jun 29 2010, 15:34) *
Вообще насколько критично применение фильтра отличного от приподнятого косинуса? Другие фильтры на самом деле будут привносить свою МСИ?, насколько существенно можно залететь?


Такой подход к разработке приведёт к плачевному результату.

Автор: Alex65111 Jun 29 2010, 12:29

Цитата(petrov @ Jun 29 2010, 16:09) *
Представьте что вы управляете дистанционно с земли вездеходом на марсе, задержка распространения сигнала туда-обратно в лучшем случае 6 минут, а вы пытаетесь управлять будто вездеход находится прямо перед вами, большие управляющие воздействия привели к тому что вездеход упал в пропасть, а вы об этом только через 6 минут узнаете.


По крайне мере физика явления понятна. Сэнкс

По поводу приподнятого косинуса.
Вопрос каналовыделения, сноса в нуль, ормирования квадратуры решается с привлечением многостадийной фильрации с децимацией (сигнал выфильтровывается из достаточно широкой исходной полосы по отношению к самому сигналу). Возможно ли в этом случае приподнятый косинус применять только на последней стадии с учетом того, предыдущие стадии будут иметь АЧХ немного больше полосы сигнала?
И еще, для МСИ что более страшно - мелкие (например 0.1дБ для QPSK) но высокочастотные колебания АЧХ, или плавные но глубокие (не до нуля но дБ так 3-5)?

Автор: petrov Jun 29 2010, 12:37

Цитата(Alex65111 @ Jun 29 2010, 16:29) *
По поводу приподнятого косинуса.
Вопрос каналовыделения, сноса в нуль, ормирования квадратуры решается с привлечением многостадийной фильрации с децимацией (сигнал выфильтровывается из достаточно широкой исходной полосы по отношению к самому сигналу). Возможно ли в этом случае приподнятый косинус применять только на последней стадии с учетом того, предыдущие стадии будут иметь АЧХ немного больше полосы сигнала?


Конечно.




Цитата(Alex65111 @ Jun 29 2010, 16:29) *
И еще, для МСИ что более страшно - мелкие (например 0.1дБ для QPSK) но высокочастотные колебания АЧХ, или плавные но глубокие (не до нуля но дБ так 3-5)?


Не понял о чём речь, в любом случае на моделях всё проверяйте.

Автор: Alex65111 Jun 30 2010, 19:25

Цитата
Two important observations should be
noted. First, the phase error exhibits discontinuities that are a consequence of the fact that phase
adjustments are being made at the IF frequency rather than at baseband. The interaction between
small phase adjustments and the carrier frequency is more likely to cause 180± phase jumps in the
error signal e(k). Second, the error signal takes a long time to settle to zero. This is a consequence
of the inclusion of the matched filters in the closed loop path.


Как я понял из данного абзаца, схема корректировки фазы через опоры квадратур приводит к более длинному времени отработки ошибки и кроме того к возможным скачкам сигнала ошибки на 180 градусов.

Увеличение времени как я понимаю связано с задержками и сужением полосы.
Но не понял природу скачков фазы именно при корректировке опор квадратур. И соответственно вопрос - а эти скачки смертельны, или они невилируются петлевым фильтром?

Автор: petrov Jul 1 2010, 07:07

Цитата(Alex65111 @ Jun 30 2010, 23:25) *
Как я понял из данного абзаца, схема корректировки фазы через опоры квадратур приводит к более длинному времени отработки ошибки и кроме того к возможным скачкам сигнала ошибки на 180 градусов.

Увеличение времени как я понимаю связано с задержками и сужением полосы.
Но не понял природу скачков фазы именно при корректировке опор квадратур. И соответственно вопрос - а эти скачки смертельны, или они невилируются петлевым фильтром?


Давайте ссылку на источник.

Автор: Alex65111 Jul 1 2010, 10:05

Цитата(petrov @ Jul 1 2010, 11:07) *
Давайте ссылку на источник.


http://electronix.ru/redirect.php?http://ece485web.groups.et.byu.net/ee485.fall.03/lectures/synchronization_notes.pdf

Автор: petrov Jul 1 2010, 11:53

За исключением задержи и МСИ из-за фильтра, включённого в петлю, нету никакой разницы что на нулевой частоте регулировать что на несущей. Просто у автора чуток начальные условия изменились в модели, он ведь подавал ступенчатое воздействие pi/4 на ФАПЧ, посмотрите на характеристику детектора в точке pi/4, это неустойчивая точка, ошибка может из-за ничтожного шума менять знак, такое и для подстройки на нулевой частоте можно наблюдать, в общем автор там и сам не понял что написал.

Автор: des00 Jul 1 2010, 15:21

вопрос как раз в тему:
Собрал модельку со спектром на нуле и демодулятор с гарднером и tanlock со смесителем по входу RRC фильтра. Настроил все петли, всё работает. Потом перенес спектр на ПЧ, добился работоспособности немного перенастроив петлю по несушке.

Затем начал "играть" частотой ПЧ в модуляторе и вижу что при определенной расстройке несушка не захватывается (ну это нормально), но вот если после работы на отстройке (когда петля в расколбасе) вернуть ПЧ модулятора в начальные условия несушка не восстанавливается. Исследование причины привели к тому, что детектор tanlock уходит в край и не может вернуться назад.
Как в таких случаях поступают? Закладывают цепи сброса петлевого фильтра по несушке? или закладывают в демодулятор систему AFC ?

Спасибо.

Автор: petrov Jul 1 2010, 15:49

Цитата(des00 @ Jul 1 2010, 19:21) *
вопрос как раз в тему:
Собрал модельку со спектром на нуле и демодулятор с гарднером и tanlock со смесителем по входу RRC фильтра. Настроил все петли, всё работает. Потом перенес спектр на ПЧ, добился работоспособности немного перенастроив петлю по несушке.

Затем начал "играть" частотой ПЧ в модуляторе и вижу что при определенной расстройке несушка не захватывается (ну это нормально), но вот если после работы на отстройке (когда петля в расколбасе) вернуть ПЧ модулятора в начальные условия несушка не восстанавливается. Исследование причины привели к тому, что детектор tanlock уходит в край и не может вернуться назад.
Как в таких случаях поступают? Закладывают цепи сброса петлевого фильтра по несушке? или закладывают в демодулятор систему AFC ?

Спасибо.


А ограничитель если поставить, например в интегратор ФАПЧ который частоту хранит?
Сброс, всякие детекторы качества сигнала и таймауты определённо нужны, мало ли из-за чего приёмник заклинит в каком-нибудь хитром состоянии, сам бы почитал как в таких случаях правильно поступать, но что-то об этом не пишут, видимо нужно поработать в коллективе матёрых разработчиков.

Автор: des00 Jul 1 2010, 16:06

Цитата(petrov @ Jul 1 2010, 09:49) *
А ограничитель если поставить, например в интегратор ФАПЧ который частоту хранит?

да всяко разно с бубном танцевал и диапазон перестройки DDS ограничивал и на интеграторы ограничители ставил, не выходит цветок. Завтра типовых моделей наделаю и выложу.

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

Вот и приходится часто по месту изворачиваться, но сброс петли по несушке это ИМХО не правильно.

Автор: vadimuzzz Jul 1 2010, 22:43

Цитата(des00 @ Jul 1 2010, 23:06) *
да всяко разно с бубном танцевал и диапазон перестройки DDS ограничивал и на интеграторы ограничители ставил, не выходит цветок. Завтра типовых моделей

странно, у меня именно так и работает. ограничители настроены так, что ФАПЧ гарантировано вытянет (края чуток поуже, чем полоса захвата)

Автор: des00 Jul 2 2010, 03:16

вот характерный косяк, которого можно добиться различными вариантами расстроек ПЧ.

Видно, что tanlock дает правильные показания, но колебания сигнала управления DDS, не дают ему выйти из "ямы". Если петлю по несушке расширить, тогда в статике точки сильно размазывает

 modem_qpsk_gardner_bandwidth_R14.zip ( 18.13 килобайт ) : 356
 

Автор: vadimuzzz Jul 2 2010, 03:55

сделайте детектор фазо-частотный, полоса значительно шире станет. в статике тоже нормально будет (я ухудшения не наблюдал).

Автор: des00 Jul 2 2010, 04:26

Цитата(vadimuzzz @ Jul 1 2010, 21:55) *
сделайте детектор фазо-частотный, полоса значительно шире станет. в статике тоже нормально будет (я ухудшения не наблюдал).

можно подробнее, какой именно детектор вы имеете в виду? Я не до конца понимаю как по данным оценить несущую частоту спектра (Есть способ сделать это с помощью DFT, но это в запасе) .

Автор: vadimuzzz Jul 2 2010, 04:54

Цитата(des00 @ Jul 2 2010, 11:26) *
можно подробнее, какой именно детектор вы имеете в виду? Я не до конца понимаю как по данным оценить несущую частоту спектра (Есть способ сделать это с помощью DFT, но это в запасе) .

берете разность фазы текущего отсчета и предыдущего - это частотный детектор. затем суммируете выход частотного и фазового детекторов (подобрать подходящие веса) и - на петлевой фильтр. у схемы 2 основных режима: захват и слежение. в режиме захвата, когда созвездие крутится быстро проинтегрированное значение фазы равно 0, управление идет от частотного детектора. как только он вытянет частоту достаточно близко (созвездие начнет крутиться медленно) начнет доминировать сигнал ошибки с фазового детектора и созвездие встанет, это и есть слежение, тут управление фазой идет (выход частотного детектора в среднем равен 0). по-моему, у Nezami эта схема есть.

Автор: petrov Jul 2 2010, 07:42

Цитата(des00 @ Jul 2 2010, 07:16) *
вот характерный косяк, которого можно добиться различными вариантами расстроек ПЧ.


Поставил в ограничителе в интеграторе петлевого фильтра +-0.001, перестало зависать.

Автор: des00 Jul 2 2010, 10:23

Цитата(vadimuzzz @ Jul 1 2010, 22:54) *
берете разность фазы текущего отсчета и предыдущего - это частотный детектор. затем суммируете выход частотного и фазового детекторов (подобрать подходящие веса) и - на петлевой фильтр. у схемы 2 основных режима: захват и слежение. в режиме захвата, когда созвездие крутится быстро проинтегрированное значение фазы равно 0, управление идет от частотного детектора. как только он вытянет частоту достаточно близко (созвездие начнет крутиться медленно) начнет доминировать сигнал ошибки с фазового детектора и созвездие встанет, это и есть слежение, тут управление фазой идет (выход частотного детектора в среднем равен 0). по-моему, у Nezami эта схема есть.

хммм, чую здесь некоторый подвох, пока возьму таймаут. Порою книги гуру и feedfordard модели petrov, знаний не хватает %)

Цитата(petrov @ Jul 2 2010, 01:42) *
Поставил в ограничителе в интеграторе петлевого фильтра +-0.001, перестало зависать.

настолько сильно аккумулятор я не зажимал %) вообще какой диапазон аккумулятора принято использовать? И еще вопрос, по диагонали глянул ваши feedforward модели, вы не пробывали делать гибриды? Эстимация несушки и ее коррекция в DDS + петля по фазе ?

Автор: petrov Jul 2 2010, 11:34

Цитата(des00 @ Jul 2 2010, 14:23) *
настолько сильно аккумулятор я не зажимал %) вообще какой диапазон аккумулятора принято использовать?


Если только ФАПЧ используется для синхронизации, то наверное нет смысла использовать диапазон шире полосы захвата, а иначе ну утянет её шумом, включится нормальный сигнал и не сможет она захватить него.


Цитата(des00 @ Jul 2 2010, 14:23) *
И еще вопрос, по диагонали глянул ваши feedforward модели, вы не пробывали делать гибриды? Эстимация несушки и ее коррекция в DDS + петля по фазе ?


Да вроде нет никаких проблем так сделать, имеет смысл для пакетного режима и если канал не слишком плохой.

Автор: des00 Jul 2 2010, 11:36

Цитата(petrov @ Jul 2 2010, 06:34) *
Да вроде нет никаких проблем так сделать, имеет смысл для пакетного режима и если канал не слишком плохой.

а если модем с непрерывным режимом? В качестве цепи анализа первоначальной расстройки, что бы снизить требования к стабильности СВЧ синтезаторов.

Автор: petrov Jul 2 2010, 11:53

Цитата(des00 @ Jul 2 2010, 15:36) *
а если модем с непрерывным режимом? В качестве цепи анализа первоначальной расстройки, что бы снизить требования к стабильности СВЧ синтезаторов.


Скорее всего смысла нету, те синхронизаторы не дают какую-то принципиально более широкую полосу захвата.
Можно для первоначальной настройки полосу ФАПЧ пошире сделать и модуляцию BPSK использовать.
Делайте полосу сигнала шире чтобы снизить требования к стабильности синтезаторов. %)

Автор: des00 Jul 2 2010, 12:25

Цитата(petrov @ Jul 2 2010, 06:53) *
Скорее всего смысла нету, те синхронизаторы не дают какую-то принципиально более широкую полосу захвата.

самое интересное что есть линейный модем, который именно так работает. у него требования к стабильности синтезаторов под 200ppm на частотах 2/4/8гиг (если мне память не изменяет).

ЗЫ. при этом, это на узких спектрах.

Автор: petrov Jul 2 2010, 12:43

Цитата(des00 @ Jul 2 2010, 16:25) *
самое интересное что есть линейный модем, который именно так работает. у него требования к стабильности синтезаторов под 200ppm на частотах 2/4/8гиг (если мне память не изменяет).


Да можно сделать хоть поиск, хоть в параллель несколько несколько модемов, стоит ли это дешевле более стабильных опорных генераторов?

Автор: des00 Jul 2 2010, 12:48

Цитата(petrov @ Jul 2 2010, 07:43) *
Да можно сделать хоть поиск, хоть в параллель несколько несколько модемов, стоит ли это дешевле более стабильных опорных генераторов?

насколько мне известно, в том решении модем один, поиска нет, сделано именно оценка несушки и ее вколачиваение в DDS. Всё в цифре на плис. Хороший генератор от 200 баксов, 10к логики на такой эстиматор вряд ли стоят больше %)

Автор: petrov Jul 2 2010, 13:06

Цитата(des00 @ Jul 2 2010, 16:48) *
насколько мне известно, в том решении модем один, поиска нет, сделано именно оценка несушки и ее вколачиваение в DDS. Всё в цифре на плис. Хороший генератор от 200 баксов, 10к логики на такой эстиматор вряд ли стоят больше %)


Да можно наверное всё сделать. Но всё же если есть возможность лучше упрощать, усложнение синхронизации надёжности не добавляет, всё же какие-нибудь ADF4360+GTXO92 дешевле 200 баксов стоят.

Автор: vadimuzzz Jul 2 2010, 13:18

Цитата(des00 @ Jul 2 2010, 17:23) *
хммм, чую здесь некоторый подвох, пока возьму таймаут. Порою книги гуру и feedfordard модели petrov, знаний не хватает %)

да нет тут никакого подвоха, всего делов-то сумматор в вашу схему добавить. если не жалко логики на 2 приемных фильтра вместо одного, то у незами есть еще одна классная схема. посмотрите у него главу про AFC

Автор: des00 Jul 2 2010, 13:28

Цитата(vadimuzzz @ Jul 2 2010, 07:18) *
если не жалко логики на 2 приемных фильтра вместо одного, то у незами есть еще одна классная схема. посмотрите у него главу про AFC

если вы про схему на двух фильтрах +-1/2T, то перекос(наклон) спектра в 10 дБ положит эту синхру только в путь %)

Автор: vadimuzzz Jul 2 2010, 14:01

Цитата(des00 @ Jul 2 2010, 20:28) *
если вы про схему на двух фильтрах +-1/2T, то перекос(наклон) спектра в 10 дБ положит эту синхру только в путь %)

а почему он наклонен? д.б. симметричен отн-но несущей

Автор: des00 Jul 2 2010, 14:45

Цитата(vadimuzzz @ Jul 2 2010, 08:01) *
а почему он наклонен? д.б. симметричен отн-но несущей

это частый вид искажений в линейных трактах, лечится эквалайзером наклона или эквалайзером с обратными связями.

Автор: petrov Jul 15 2010, 10:08

pi/4 dqpsk coherent demodulation feedforward NDA 4-power phase sync

simulink matlab R2010a

 pi4_qpsk_feedforward_4_power_phase_sync_2010_07_15.rar ( 25.63 килобайт ) : 547

Автор: _Anatoliy Jul 15 2010, 11:45

Цитата(petrov @ Jul 15 2010, 12:08) *
pi/4 dqpsk coherent demodulation feedforward NDA 4-power phase sync

simulink matlab R2010a

 pi4_qpsk_feedforward_4_power_phase_sync_2010_07_15.rar ( 25.63 килобайт ) : 547

Та же версия матлаба,но ругается на блок 8psk_data_mapper,не нравится запись exp(i*([0:7]*pi/4+pi/4)).Переписать не проблема,просто интересно - ваш матлаб не ругается?
Везде нужно заменить i на 1i.

Автор: petrov Jul 15 2010, 12:56

Цитата(_Anatoliy @ Jul 15 2010, 15:45) *
Та же версия матлаба,но ругается на блок 8psk_data_mapper,не нравится запись exp(i*([0:7]*pi/4+pi/4)).Переписать не проблема,просто интересно - ваш матлаб не ругается?
Везде нужно заменить i на 1i.


Нет не ругается.

Автор: MKS Jul 15 2010, 13:36

А мне вот что интересно уважаемый petrov. Что это за блок channel_delay который есть во многих ваших моделях. Если это просто задержка в канале, то мне не понятно зачем там матричные операции нужны. Раскройте тайну предназначения smile.gif .


Автор: petrov Jul 15 2010, 17:08

Цитата(MKS @ Jul 15 2010, 17:36) *
А мне вот что интересно уважаемый petrov. Что это за блок channel_delay который есть во многих ваших моделях. Если это просто задержка в канале, то мне не понятно зачем там матричные операции нужны. Раскройте тайну предназначения smile.gif .


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

Автор: Alex65111 Jul 26 2010, 05:19

Подскажите, пожалуйста, такой вопрос.
Есть проблема синхронизации по несущей - по частоте и по фазе.
Есть проблема синхронизации по такту - по частоте и по фазе.

Когда речь идет о несущей, то считается, что ФАПЧ помимо фазы в состоянии еще и небольшие отклонения/скачки частоты отслеживать/корректировать.

Когда речь идет о такте, то даже при отклонении частоты отсчетов всего на 1/400 частоты символов люди вставляют дополнительную процедуру либо вставки, либо удаления нулей. Почему петля корректировки фазы такта, вырабатывающая соответствующий сигнал ошибки не в состоянии сама постоянно подтягивать момент взятия отсчета и вроде как корректировать небольшое отклонение частоты отсчетов от частоты символов?

Автор: petrov Jul 26 2010, 08:01

Почему же не в состоянии? В состоянии. Откуда нам знать что там у людей? Давайте конкретику.

Автор: Alex65111 Jul 26 2010, 15:57

Цитата(petrov @ Jul 26 2010, 12:01) *
Почему же не в состоянии? В состоянии. Откуда нам знать что там у людей? Давайте конкретику.


Старая ссылка http://electronix.ru/redirect.php?http://ece485web.groups.et.byu.net/ee485.fall.03/lectures/synchronization_notes.pdf

стр267-270

Автор: petrov Jul 26 2010, 17:50

Цитата(Alex65111 @ Jul 26 2010, 19:57) *
Старая ссылка http://electronix.ru/redirect.php?http://ece485web.groups.et.byu.net/ee485.fall.03/lectures/synchronization_notes.pdf

стр267-270


Ну там же всё так замечательно расписано, возникают сложности при работе с сигналом продискретизированым с частотой 2 отсчёта на символ. Например когда частота чуть меньше 2-х отсчётов периодически возникает ситуация когда не хватает такта чтобы запустить схему 2 раза за символ. Это проблема с манипуляциями с отсчётами сигнала но не с принципами работы ФАПЧ.

Автор: Alex65111 Jul 27 2010, 02:49

Цитата(petrov @ Jul 26 2010, 21:50) *
Ну там же всё так замечательно расписано, возникают сложности при работе с сигналом продискретизированым с частотой 2 отсчёта на символ. Например когда частота чуть меньше 2-х отсчётов периодически возникает ситуация когда не хватает такта чтобы запустить схему 2 раза за символ. Это проблема с манипуляциями с отсчётами сигнала но не с принципами работы ФАПЧ.


Формально вроде бы понятно, но понятно только в следующем ключе - берутся два отсчета с частотой чуть меньше двух отсчетов, без всякой коррекции фазы взятия отсчета опять беруться два отсчета и т.д., тогда в итоге наступает момент, когда происходит перехлест.

Но если не просто брать два отсчета, а еще состояние счетчика корректировать сигналом ошибки, то тогда вроде бы накопление ошибки не должно происходить, так как переполнение/обнуление счетчика будет происходить примерно в правильный момент времени.

Просто получается интересная вещь. В принципе идеально невозможно обеспечить равенство/кратность взятия отсчетов частоте символов, всегда будет хоть микроскопическая, но ошибка, ты будешь думать, что частоты такие то, а на самом деле они будут как то разъежаться. Как в этом случае, по какому критерию осуществлять коррекцию?, т.е. известно что частота чуть меньше/больше 2-х отсчётов, но неизвестно насколько чуть. Тогда в этом случае получается, что либо это несоответствие как бы само корректируется (на базе сигнала ошибки от TED, который корректирует состояние счетчика), либо рано или поздно должен происходить перехлест и соответственно ошибка.

Автор: petrov Jul 27 2010, 07:28

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

Автор: des00 Jul 27 2010, 09:58

Цитата(petrov @ Jul 27 2010, 02:28) *
Для таких случаев нужно специально вычисления организовывать, о чём в книжке и написано.

все вынашиваю идею сделать 2sps приемник с FSE эквалайзером, как нить доберусь

Автор: petrov Jul 27 2010, 10:08

Цитата(des00 @ Jul 27 2010, 13:58) *
все вынашиваю идею сделать 2sps приемник с FSE эквалайзером, как нить доберусь


И чтобы на 500 МГц работало. smile.gif

Автор: des00 Jul 27 2010, 10:42

Цитата(petrov @ Jul 27 2010, 04:08) *
И чтобы на 500 МГц работало. smile.gif

ну 500 достаточно сложно сделать, а вот 150-200 вполне на третьем сыклоне, правда он должен будет быть толстым %)

Автор: tim_s80 Aug 11 2010, 22:06

Начал изучать главу 6 Незами и сразу же пошли вопросы.
1. При описании формулы 6-4 не говорится о соотношении Ts и T. Далее выводится 6-8, 6-9 где нет упоминания ни о Ts ни о T. Разве для этих формул соотношение Ts и T неважно?
2. 6-9 в каких единицах измеряется? MCRB=10^-2 для 10кбит/сек и для 1000кбит/сек это одно и тоже или разное?
3. Как так получается, что в формуле 6-8 под знаком суммы стоят чистые комплексные символы (а), а не пропущенные через формирующий фильтр (g)? Если я правильно понял, то в 6-8 по сути рассчитывается корреляция между выходом согласованного фильтра и опорной последовательностью и если так, то вроде бы логичнее и надежнее было считать не с (а), а с (sum(аg)) или даже с (sum(аg)) пропущенной через согласованный фильтр?
4. На стр 6-5 после формулы 6-17 рассматривается пример. Правильно ли я понимаю, что для его реализации необходимо чтобы отсчеты (z) были взяты уже с правильной символьной частотой и только с неизвестной фазой?
5. На стр 6-7 как то непонятна логика. Вроде бы как и ранее решается задача нахождения смещения/фазы такта эпсилон. В 6-19 вроде как берут квадрат огибающей и говорят что оно циклостационарно с частотой символов. Но далее вдруг говорят о решении задачи не оценки фазы, а о оценке именно частоты символов (the symbol rate clock is estimated by solving for the value …). Потом о symbol rate вроде дальше ни слова, а начинают вертеться вокруг эпсилон. Кроме того, если 6-19 циклостационарен с символьной частотой, то почему разложение Фурье делается относительно эпсилон?, она разве является циклической частотой? В итоге крутят туда сюда и получают формулу 6-25. Не понятно как они перешли к параметру N (ratio of samples to symbols)? Если на 6-25 посмотреть без цепочки ее вывода, то внешне она напоминает вычисление корреляции предварительно нелинейно преобразованного выхода согласованного фильтра с одной частотой, определяемой коэффициентом передискретизации N. Получается, что в этом случае опять предварительно необходимо четко знать symbol rate?
6. Если в формуле 6-9 играет Roll-off, то как все таки соотносятся 6-25 и 6-17 по отношению к Roll-off?, кто из них менее чувствителен к Roll-off?
7. И на сколько рассмотренные два метода чувствительны к неточности/ошибке по symbol rate?

Буду признателен если сообщество поможет разобраться хотя бы с частью вопросов.


Автор: voloda Aug 13 2010, 10:18

1) Тs - частота выборок, T - частота символов. Тs всегда больше Т.
2)измеряется оно в рад^2. Для разных скоростей соотношение сигнал/шум - разное, что учитывается в формуле. Посмотри,как и для чего MCBR применяется, станет понятнее.
3)Там внизу есть ряд условий, при которых произведена эта оценка. Если я правильно понял - это условия идеального фильтра.
4)В примере как раз рассматривается восстановление символьной частоты (грубо - частота следования нулей и еденичек). Сам он работает на частоте выборок (частота АЦП, если грубо). Частота выборок в несколько раз ( 2 -8 ) больше частоты символов. Разберись с понятиями частоты символов и выборок - все станет ясно.
5) Особо в вопрос не вникал. Вроде - см п. 4)
6) - не готов ответить.
7) неточность в восстановлении тактовой можно выразить как добавление шума. Дальше, на вход блока синхронизации фазы и частоты сигнал поступает с добавлением шума канала + шум символьной синхронизации.

Почитай Скляра про частоту символов и выборок. Про соотношение сигнал/шум там тоже хорошо изложено.

Автор: tim_s80 Aug 13 2010, 11:34

Цитата
1) Тs - частота выборок, T - частота символов. Тs всегда больше Т.

Ну то что больше это понятно, вопрос на сколько - 1 отсчет на символ,2,4? или 1,333..., неужели формула одинакова для любого соотношения?

Цитата
2)измеряется оно в рад^2. Для разных скоростей соотношение сигнал/шум - разное, что учитывается в формуле. Посмотри,как и для чего MCBR применяется, станет понятнее.

Просто не пойму, если подставить все размерности в формулу 6-9, то вроде бы рад^2 не получается. MCBR как я понимаю это предельная точность (дисперсия) оценки. Только это формула дает точность символьной частоты или ее фазы? И все таки при MCRB=10^-2 что будет для 10кбит/сек и для 1000кбит/сек?

Цитата
3)Там внизу есть ряд условий, при которых произведена эта оценка. Если я правильно понял - это условия идеального фильтра.

Эти условия я вроде бы видел, но все равно как то не клеится. Если у нас есть цепочка обработки с контрольными точками на выходе каждого обработчика 1,2,3, и т.д. Тогда, если мы берем сигнал с точки, например, 3 (что в книге соответствуе z-выходу согласованного фильтра, то и в качестве опоры логичнее было бы подставлять наш известный/идеальный сигнал прошедший этот же согласованный фильтр, а не скакой либо другой контрольной точки, например, 1.)

Цитата
4)В примере как раз рассматривается восстановление символьной частоты (грубо - частота следования нулей и еденичек). Сам он работает на частоте выборок (частота АЦП, если грубо). Частота выборок в несколько раз ( 2 -8 ) больше частоты символов. Разберись с понятиями частоты символов и выборок - все станет ясно.

Что вообще понимается под термином восстановление символьной частоты? В этом примере написано -error is equal to 12 to 13 samples, т.е. ответ содержит смысл именно сдвижки/фазы, а не измерения самой частоты как я понимаю. И откуда цифры 2-8?, а сколько достаточно?, как это вытекает из 6-9 и 6-8?


Цитата
7) неточность в восстановлении тактовой можно выразить как добавление шума. Дальше, на вход блока синхронизации фазы и частоты сигнал поступает с добавлением шума канала + шум символьной синхронизации.

В рамках одного символа для задачи его детектирования вроде бы понятно, что это можно описать дополнительным шумом, а в рамках задачи восстановления фазы символьной частоты просто описание доп шумом пока не понятно, потому что по сути формулами 6-17 и 6-25 мы будем сравнивать что то, что никогда выравнить друг относительно друга невозможно (из-за набега смещения из-за неравенства символьных частот опорного и принимаемого колебаний). Хотя кажись для 6-25 такой проблемы не должно получаться, так как мы опорник из саого принимаемого сигнала формируем, но для 6-17 вопрос остается.

Автор: voloda Aug 13 2010, 12:03

Цитата
Что вообще понимается под термином восстановление символьной частоты?


Читай 2-ую главу. или у Прокиса посмотри. Подробнее сейчас не могу ответить.

Автор: tim_s80 Aug 13 2010, 12:06

Цитата(voloda @ Aug 13 2010, 16:03) *
Читай 2-ую главу. или у Прокиса посмотри. Подробнее сейчас не могу ответить.

Как я понял решаются две задачи - определение/восстановление самой частоты и ее фазы. А в примере ни слова о частоте, только о смещении я увидел разговор.

Автор: voloda Aug 16 2010, 15:34

Открываем Скляр -а "Цифровая связь". Листаем на главу 10 "синхронизация" (ст.620). Абзац 3-ий

Цитата
Кроме того, предпологается, что приемник точно знает, где начинается поступающий сигнал, и где он заканчивается...


И дальше там посмотри.

то же, но в картинках и на английском есть тут
http://electronix.ru/redirect.php?http://www.mathworks.com/company/events/webinars/wbnr30818.html?id=30818&p1=47199&p2=47201

При синхронизации приемник должен восстановить фазу и частоту принимаемого сигнала. Это фазовая и частотная подстройка. Это есть даже в аналоговых системах связи. Кроме того, при приеме цифровых сообщений, необходимо провести символьную синхронизацию (термина "восстановление символьной частоты" нет, это я неправильно написал). Иногда так же применяется термин тактовая синхронизация. Это одно и то же. Провести символьную синхронизацию - значит узнать, где один символ заканчивается ( в принятом сигнале), и начинается другой. Есть еще кадровая синхронизация - в пакетных системах связи.

У Незами термин Symbol Timing Estimation Algorithms - алгоритмы символьной синхронизации. И то, что мы рассматриваем - алгоритм тактовой синхронизации. Там выводиться, что (timing estimate) - оценка символьной частоты - может быть проведена без оценки фазы (phase information). Выводится условие, как тактовую оценивать.

MCRB - по ней идет оценка качества работы алгоритмов синхронизации. Ее вывод и подробное обсуждение есть, скажем, в
U. Mengali and N.D’ Andrea. Synchronization techniques for digital recevers. – Plenum press, New York, 1997. У Незами такого вывода нет, он просто берет эту формулу, и поэтому понять, что и откуда - по его формулам сложно.

MCRB учитывает и нерочности символьной синхронизации, и неточночти фазовой/частотной синхронизации. Считаем, что два других параметра у нас синхронизированны идеально, строим график для третьего пар-ра. Тут лучше на примерах посмотреть.

От скорости связи зависит соотношение сигнал/шум в системе, что учтено в формуле для MCRB.

В цифровых системах связи один символ описывается несколькими отсчетами (выборками). Минимум - 2 отсчета на символ. Но, чаще берут больше. В моделях petrov-а, например, 8 отсчетов на символ. Больше 8 - обычно не берут. Как у Незами это учтено - не знаю. Не смотрел.

Автор: petrov Aug 27 2010, 13:33

qpsk flat fading SIMO channel maximal ratio combining

simulink matlab R2010a

 simo_maximal_ratio_combining_2010_08_27.rar ( 27.31 килобайт ) : 417


Автор: Oldring Aug 27 2010, 13:59

Цитата(petrov @ Aug 27 2010, 17:33) *
qpsk flat fading SIMO channel maximal ratio combining

simulink matlab R2010a

 simo_maximal_ratio_combining_2010_08_27.rar ( 27.31 килобайт ) : 417


А относительная фаза двух лучей как тут корректируется?

Автор: petrov Aug 27 2010, 14:10

Цитата(Oldring @ Aug 27 2010, 17:59) *
А относительная фаза двух лучей как тут корректируется?


В адаптивном фильтре комплексные коэффициенты поворачивают лучи. Или что-то другое имеется ввиду?

Автор: Oldring Aug 27 2010, 16:55

Цитата(petrov @ Aug 27 2010, 18:10) *
В адаптивном фильтре комплексные коэффициенты поворачивают лучи. Или что-то другое имеется ввиду?


Куда они их поворачивают? Они должны их повернуть под одинаковый угол. Но зачем-то после эквалайзера всё равно стоит схема доворота, до неё итоговая констелляция вращается. Так каким же образом обеспечивается исправление разности фаз лучей? Я пока что в модели до конца не разобрался - мне это непонятно.

Автор: petrov Aug 27 2010, 17:18

Цитата(Oldring @ Aug 27 2010, 20:55) *
Куда они их поворачивают? Они должны их повернуть под одинаковый угол. Но зачем-то после эквалайзера всё равно стоит схема доворота, до неё итоговая констелляция вращается. Так каким же образом обеспечивается исправление разности фаз лучей? Я пока что в мождели до конца не разобрался - мне это непонятно.


Эквалайзер складывает сигналы с антенн в фазе минимизируя MMSE на выходе детектора ошибки Годарда, сумма на выходе может быть повёрнута на произвольный угол и вращаться с разностной частотой между передатчиком и приёмником, последующая схема фазовой синхронизации это устраняет.

Автор: Oldring Aug 28 2010, 14:36

Цитата(petrov @ Aug 27 2010, 21:18) *
Эквалайзер складывает сигналы с антенн в фазе минимизируя MMSE на выходе детектора ошибки Годарда, сумма на выходе может быть повёрнута на произвольный угол и вращаться с разностной частотой между передатчиком и приёмником, последующая схема фазовой синхронизации это устраняет.


Теперь вижу, спасибо. В Симулинке не всегда оцевидны размерности сигналов.

Автор: petrov Oct 3 2010, 09:10

GMSK suboptimal coherent demodulation feedback phase sync feedback timing sync


simulink matlab R2010a


 gmsk_coherent_demodulation_2010_10_03.rar ( 23.91 килобайт ) : 1068

Автор: Sleepin' Cat Smile Oct 14 2010, 09:26

Всем прывет!

Возник вопрос по поводу модели qam_fb_gardner_symbol_farrow_sync_fb_phase_sync_agc_2007_06_18.mdl, может кто подскажет.
Проектирую демодулятор QAM-16, пока в исследовательско-учебных целях; сигнал - типичный для телефонного модема, несущая 1800 Гц,
символьная скорость 2400 Бод. Есть несколько записей отсчетов оцифрованного сигнала, частота дискретизации 8000 Гц. После преобразования частоты с несущей на нулевую и выделения квадратур с помощью согласованной фильтрации восстанавливается тактовая частота. Пока сделал двумя способами. Первый: передискретизация квадратур, чтобы получить 4 отсчета на символ, вычисление квадратов модулей отсчетов, DFFT по 4 отсчетам и т.п. (из книжки Meyr'а). Второй: сделал как в указанной модели petrov'а, предварительно передискретизировав квадратуры, чтобы получить 8 отсчетов на символ. Первый способ дал вполне приемлемые для дальнейшей работы результаты. Второй после долгих попыток пока не увенчался успехом: созвездия почти не видно. Есть несколько мыслей на этот счет:

1) либо у меня где-то ошибки в реализации (ищу, пока не нашел);
2) символьная синхронизация в модели petrov'а полностью невозможна без восстановления несущей и АРУ (их я пока не трогал), но это вряд ли, ведь из литературы => схема Гарднера не зависит от проблем с несущей + в моей тестовой записи сигнал имеет постоянную амплитуду, без искажений и др.
3) самое вероятное, на мой взгляд: схема в модели petrov'a требует больше отсчетов на символ, а я не могу повысить частоту дискретизации в записи, могу только передискретизировать, из-за этого результаты получаются хуже?

Подскажите, плиз, если есть идеи. Заранее, спасибо, если где-то сказал глупость, прошу сильно не бить rolleyes.gif

Автор: petrov Oct 14 2010, 10:16

В модели ведь работает? Покажите на модели условия при которых синхронизация не работает. И с 4-мя отсчётами есть модели. Для Гарднера нужно всего 2 отсчёта, 4-8 отсчётов для простоты интерполяции сделано.



Автор: Sleepin' Cat Smile Oct 14 2010, 10:27

Цитата(petrov @ Oct 14 2010, 14:16) *
В модели ведь работает? Покажите на модели условия при которых синхронизация не работает. И с 4-мя отсчётами есть модели. Для Гарднера нужно всего 2 отсчёта, 4-8 отсчётов для простоты интерполяции сделано.


Спасибо, да я уж и сам догадался, для Гарднера, действительно, не важно, не стал последнее предположение из поста стирать не стал.
Кстати, пробовал свои квадратуры скинуть в mat-файл, и подать в Simulink на вход интерполятора Фарроу и т.д. по Вашей схеме, к сожалению, не прокатило. Разбираюсь сейчас почему. ??? Попытки подстроить фильтр петли: пересчитать или подобрать коэффициенты пока не помогли.

Автор: thermit Oct 14 2010, 13:10

Тут еще такая штука может быть:

В телефонных модемах для ограничения полосы используется фильтр с довольно крутой х-кой (большая крутизна ската).
И характеристика его - не корень из приподнятого косинуса. В моделях уважаемого Петрова на входе приемника стоит фильтр корень из приподнятого косинуса с альфа=1. В таких условиях детектор гарднера работать будет плохо...

Автор: Sleepin' Cat Smile Oct 15 2010, 03:52

Цитата(thermit @ Oct 14 2010, 17:10) *
Тут еще такая штука может быть:

В телефонных модемах для ограничения полосы используется фильтр с довольно крутой х-кой (большая крутизна ската).
И характеристика его - не корень из приподнятого косинуса. В моделях уважаемого Петрова на входе приемника стоит фильтр корень из приподнятого косинуса с альфа=1. В таких условиях детектор гарднера работать будет плохо...


Спс. Удалось несколько улучшить результаты изменив характеристику согласованного фильтра, но по ходу еще где-то у меня ошибка, буду дальше работать...

Автор: Sleepin' Cat Smile Oct 20 2010, 14:57

Цитата(petrov @ Oct 14 2010, 14:16) *
В модели ведь работает? Покажите на модели условия при которых синхронизация не работает. И с 4-мя отсчётами есть модели. Для Гарднера нужно всего 2 отсчёта, 4-8 отсчётов для простоты интерполяции сделано.


Моя программа демодуляции QAM-16, созданная по алгоритму, предложенному в Вашей модели qam_fb_symbol_sync_fb_phase_sync_agc_var_ch_delay_2007_07_10, после обезвреживания всех багов заработала на реальной записи, все три петли (по тактовой, несущей и АРУ) отслеживают изменения соответствующих параметров синхронизации. Но у меня осталась неясность с парой моментов, хотел бы задать Вам вопросы unsure.gif

1. Интерполятор Фарроу (ИФ). Для получения интерполированного отсчета x_interp[nT] (выходной сигнал ИФ на n-ом такте) используются отсчеты x[(n-1)T], x[nT], x[(n+1)T] и x[(n+2)T]. Другими словами, для получения интерполянта на текущем такте нужны входные отсчеты в следующие моменты времени: на предыдущем такте, на текущем и на 2-ух последующих тактах. То есть получается алгоритмическая задержка на 2 такта, если так можно выразиться. Однако, это НЕ требует задерживать сигнал overflow на 2 такта, так как NCO/TCU (timing control unit) формирует сигнал overflow по выходным отсчетам интерполятора, оптимальный момент для взятия значений квадратур соответствует моменту сброса NCO/TCU, когда вырабатывается строб-сигнал overflow. Задержка на 2 такта в ИФ не влияет на работу NCO/TCU. Вроде бы такая логика... Расписываю так подробно такие вещи, потому что просто столкнулся с примером в хелпе MatLab, которые ввели меня в заблуждение относительно этой задержки ИФ, видимо, в этом примере задержка сигнала overflow на 2 такта имела какой-то другой смысл и не связана с ИФ + я не силен в Simulink, привык работать в m-языке.

2. Вы используете блок Downsample в данных моделях, чтобы понизить частоту следования квадратур с 1/8 (частота дискретизации) до 1 (символьная скорость) перед выводом точек на блок просмотра созвездия. Было бы справедливо следующее: запихнуть Discrete-Time Scatter Plot Scope в Subsystem с блоком Enabled и "включать" эту подсистему стробом overflow, а на вход ей подавать квадратуры с выхода ИФ. Такой блок выводил бы интерполированные квадратуры в оптимальный момент для взятия отсчета. У меня вроде бы так работает, но хотел понять почему Вы сделали по другому smile.gif

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

Спасибо!

PS. Кстати, еще по поводу согласованной фильтрации. Если неизвестны параметры SRRC-фильтра применявшегося в модуляторе в моей тестовой записи, можно ли как-то оценить их (частота среза, rolloff-фактор, порядок), чтобы добиться оптимальных результатов. Методом поиска я какие-то подобрал, но...правильный ли это путь?

Автор: petrov Oct 20 2010, 17:55

Цитата(Sleepin' Cat Smile @ Oct 20 2010, 18:57) *
Моя программа демодуляции QAM-16, созданная по алгоритму, предложенному в Вашей модели qam_fb_symbol_sync_fb_phase_sync_agc_var_ch_delay_2007_07_10, после обезвреживания всех багов заработала на реальной записи, все три петли (по тактовой, несущей и АРУ) отслеживают изменения соответствующих параметров синхронизации. Но у меня осталась неясность с парой моментов, хотел бы задать Вам вопросы unsure.gif

1. Интерполятор Фарроу (ИФ). Для получения интерполированного отсчета x_interp[nT] (выходной сигнал ИФ на n-ом такте) используются отсчеты x[(n-1)T], x[nT], x[(n+1)T] и x[(n+2)T]. Другими словами, для получения интерполянта на текущем такте нужны входные отсчеты в следующие моменты времени: на предыдущем такте, на текущем и на 2-ух последующих тактах. То есть получается алгоритмическая задержка на 2 такта, если так можно выразиться. Однако, это НЕ требует задерживать сигнал overflow на 2 такта, так как NCO/TCU (timing control unit) формирует сигнал overflow по выходным отсчетам интерполятора, оптимальный момент для взятия значений квадратур соответствует моменту сброса NCO/TCU, когда вырабатывается строб-сигнал overflow. Задержка на 2 такта в ИФ не влияет на работу NCO/TCU. Вроде бы такая логика... Расписываю так подробно такие вещи, потому что просто столкнулся с примером в хелпе MatLab, которые ввели меня в заблуждение относительно этой задержки ИФ, видимо, в этом примере задержка сигнала overflow на 2 такта имела какой-то другой смысл и не связана с ИФ + я не силен в Simulink, привык работать в m-языке.


Здесь не нужно никак эту задержку учитывать, хоть по 1000 отсчётам интерполятор работал бы, путь сигнала по mu не задержан относительно enable. Не забывайте что комбинационную часть интерполятора можно внести в домен двух отсчётов на символ. Есть ошибки в этой модели, исправленные в последующих, интерполятор работает не в оптимальном диапазоне mu, при 8 отсчётах на символ это незаметно, здесь и линейного интерполятора хватит. Ещё временная ошибка на NCO должна действовать в домене одного отсчёта на символ.


Цитата(Sleepin' Cat Smile @ Oct 20 2010, 18:57) *
2. Вы используете блок Downsample в данных моделях, чтобы понизить частоту следования квадратур с 1/8 (частота дискретизации) до 1 (символьная скорость) перед выводом точек на блок просмотра созвездия. Было бы справедливо следующее: запихнуть Discrete-Time Scatter Plot Scope в Subsystem с блоком Enabled и "включать" эту подсистему стробом overflow, а на вход ей подавать квадратуры с выхода ИФ. Такой блок выводил бы интерполированные квадратуры в оптимальный момент для взятия отсчета. У меня вроде бы так работает, но хотел понять почему Вы сделали по другому smile.gif


Всё верно, правильно располагать в домене одного отсчёта на символ, где-то давно читал рекомендацию не размещать графики внутри Subsystem, не помню с чем это связано, в данном случае нет большой разницы.

Цитата(Sleepin' Cat Smile @ Oct 20 2010, 18:57) *
Вроде все. Теперь, когда согласованная фильтрация и системы синхронизации готовы, возьмусь за эквалайзер, начну с Ваших моделей, так что новые вопросы, наверное, скоро появятся, если, конечно, Вас не напрягает отвечать rolleyes.gif


Спасибо!


На здоровье! С эквалайзерами тема мутная, вопрос много раз поднимался, но так никто и не написал как делать правильно.


Цитата(Sleepin' Cat Smile @ Oct 20 2010, 18:57) *
PS. Кстати, еще по поводу согласованной фильтрации. Если неизвестны параметры SRRC-фильтра применявшегося в модуляторе в моей тестовой записи, можно ли как-то оценить их (частота среза, rolloff-фактор, порядок), чтобы добиться оптимальных результатов. Методом поиска я какие-то подобрал, но...правильный ли это путь?


С помощью эквалайзера можно оценить при условии что в вашей записи канал искажений не вносит.


Автор: Sleepin' Cat Smile Oct 21 2010, 06:13

Цитата(petrov @ Oct 20 2010, 21:55) *
Здесь не нужно никак эту задержку учитывать, хоть по 1000 отсчётам интерполятор работал бы, путь сигнала по mu не задержан относительно enable. Не забывайте что комбинационную часть интерполятора можно внести в домен двух отсчётов на символ.


Ага. Так примерно и думал, теперь все встало на свои места.

Цитата(petrov @ Oct 20 2010, 21:55) *
интерполятор работает не в оптимальном диапазоне mu


??? 07.gif А что здесь можно изменить? В каком-то другом масштабе считать mu?

Цитата(petrov @ Oct 20 2010, 21:55) *
Ещё временная ошибка на NCO должна действовать в домене одного отсчёта на символ.


Кстати, как раз заинтересовал этот момент. Я вижу два варианта реализации подачи временной ошибки (выходного сигнала фильтра петли) на вход NCO:

1) На каждом такте из текущего значения NCO вычитается 1 (номинальное изменение) и сигнал ошибки, который обновляется 1 раз за символ.

Код
...
NCO = NCO - 1 - timing_pll_signal;
...


2) На каждом такте из текущего значения NCO вычитается 1 (номинальное изменение) и, при наличие сигнала overflow, сигнал ошибки (1 раз за символ), если нет сигнала overflow, то 0.

Код
...
if (overflow)
   NCO = NCO - 1 - timing_pll_signal;
else
   NCO = NCO - 1; % timing_pll_signal = 0
end;
...


По сути получается просто разные способы upsample-инга выходного сигнала фильтра петли: либо повторять на каждом такте в течение символа значение timing_pll_signal до следующего строба overflow, после которого значение timing_pll_signal обновится; либо между двумя значениями timing_pll_signal вставляем нули. Система символьной синхронизации является multirate-системой, фильтр петли выполняет еще и роль "интерполирующего" фильтра, между блоками TED (обновляет выходной сигнал 1 раз за символ) и NCO (выдает выходной сигнал 1*OSR раз за символ, OSR - коэффициент передискретизации).

Вы имели в виду 2-ой вариант smile.gif ?


Цитата(petrov @ Oct 20 2010, 21:55) *
С эквалайзерами тема мутная, вопрос много раз поднимался, но так никто и не написал как делать правильно.


Точно. Нашел теорию у Скляра, вроде у Прокиса тоже есть + Ваши модели, чтобы связать эту теорию с практикой + IEEE.
К сожалению, Майкл Райс этой темы в своей книге "Digital Communications. A Discrete-Time Approach" не касался. Очень хорошая книга по цифровой связи, про петли синхронизации в ней здорово написано.

Автор: petrov Oct 21 2010, 15:57

Цитата(Sleepin' Cat Smile @ Oct 21 2010, 10:13) *
Вы имели в виду 2-ой вариант smile.gif ?


Посвежее модели посмотрите...

Автор: Sleepin' Cat Smile Oct 22 2010, 06:01

Цитата(petrov @ Oct 21 2010, 19:57) *
Посвежее модели посмотрите...


Данке шон)

Автор: rrr345 Nov 2 2010, 17:26

Разбираюсь с моделью psk8_fast_ff_nda_symbol_sync_fast_ff_nda_phase_sync_2006_11_15 и возникают вопросы.
1 Какое назначение phase_unwrap в блоке фазовой синхронизации?
2 Приведенная схема отличается от аналогичной у Прокиса отсутствием петли после полосового фильтра. Насколько петля очищает несущую, или достаточно узкополосного фильтра? Понятно что полоса фильтра ограничена всеми суммарными нестабильностями.
3 Пытаюсь перевести приведенную модель на си, и не знаю как поделить частоту несущей на 8. Не могу найти описания реализации. Не ужели частоту делят как в классических синтезаторах(обычный бинарный сигнал и счетчик)? Или существует другие решения?

Автор: petrov Nov 2 2010, 17:54

Там же показано как фаза на 8 делится, phase_unwrap нужен чтобы после этого деления фазу развернуть до 2pi устойчиво, здесь усреднение фильтром осуществляется дополнительная ФАПЧ не нужна.

Автор: rrr345 Nov 3 2010, 15:40

Цитата(petrov @ Nov 2 2010, 20:54) *
Там же показано как фаза на 8 делится, phase_unwrap нужен чтобы после этого деления фазу развернуть до 2pi устойчиво, здесь усреднение фильтром осуществляется дополнительная ФАПЧ не нужна.

Сапсибо, все понятно.

Автор: MKS Feb 15 2011, 16:00

Цитата(petrov @ Dec 8 2008, 15:25) *
Filtered Multitone (FMT) Modulation, noncritically sampled filter bank, timing frequency phase tracking primer
simulink matlab 7.0
Здравствуйте, начал разбираться с FMT и наткнулся на вашу модель. Не могли бы вы объяснить каким образом у вас в блоке полифазного фильтра после фурье получается 36 подканалов? Такое ощущение что вы как то на 32-х точечьном ДПФ получили коэфициент интерполяции 36 (в пользу этого говорит и частота среза опорного фильтра) но как это получилось не понятно. В той информации которую удалось найти в интернете обычно коэффициент интерполяции == числу отсчётов ДПФ и если у нас 32 точечное ДПФ то соответственно будет интерполяция в 32 раза и опорный фильтр надо считать на 32 отсчёта на символ. Но если так делать и распологать поднесущие в плотную то они начинают сильно перекрыватся и мешать друг другу, если ставить через один то большие зазоры остаются. У вас похоже как то получилось "плавненько" их сдвинуть. Если не трудно хотелось бы про это поподробней узнать.
Заранее спасибо.

Автор: petrov Feb 15 2011, 18:36

http://electronix.ru/forum/index.php?s=&showtopic=35679&view=findpost&p=517896

Автор: Alex65111 Mar 1 2011, 08:04

На входе программных демодуляторов часто рисуют что-то типа согласованного фильтра (СФ) как правило что то из корней приподнятых косинусов. СФ имеет импульсную характеристику согласованную с сигналом. Но если еще не выполнена тактовая синхронизация,т.е. не только фаза такта не подстроена (это вроде бы и не страшно для СФ), а самое главное точно не выравнены частоты символов передатчика и оцифровки приемника, то насколько корректно применять СФ?, он же на самом деле не будет согласован (их-за разных временных шкал).

Автор: MKS Mar 1 2011, 08:41

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

Автор: petrov Mar 1 2011, 08:45

Цитата(Alex65111 @ Mar 1 2011, 11:04) *
На входе программных демодуляторов часто рисуют что-то типа согласованного фильтра (СФ) как правило что то из корней приподнятых косинусов. СФ имеет импульсную характеристику согласованную с сигналом. Но если еще не выполнена тактовая синхронизация,т.е. не только фаза такта не подстроена (это вроде бы и не страшно для СФ), а самое главное точно не выравнены частоты символов передатчика и оцифровки приемника, то насколько корректно применять СФ?, он же на самом деле не будет согласован (их-за разных временных шкал).


Как правило этим можно пренебречь поскольку разность частот тактовых генераторов много много меньше полосы сигнала.

Автор: petrov May 17 2011, 11:35

complex graphic equlizer spectrum analyzer 16 band linear phase non-critically sampled filter bank near perfect reconstruction pseudo alias free



simulink matlab R2010a


 graphic_equalizer_16_band_2011_05_17.rar ( 19.08 килобайт ) : 425

Автор: petrov May 19 2011, 08:59

Milewski sequence channel impulse response estimation

simulink matlab R2010a

 milewski_sequence_2011_05_19.rar ( 9.51 килобайт ) : 491

Автор: MWS Apr 2 2013, 07:25

2 petrov
У Вас изумительные модели. Спасибо, что сочли возможным их выложить. Это действительно отличные модели с комплексным подходом. Кроме того, Ваша манера их рисовать, не используя стандартные блоки готовых алгоритмов, очень сильно помогает при разборе и реализации.

Благодарю!

Автор: ccuser Sep 16 2015, 04:46

Привет. Те Simulink модели timing recovery, которые я видел, используют 4 отсчёта на символ. Как их модифицировать,
чтобы они заработали с двумя отсчётами на символ? В лоб не получается, делаешь 2 отсчёта на символ, линейный интерполятор,
система не работает. Модификация loop filter не помагает, не совсем понятно, как он строится. Спасибо.

Автор: des00 Sep 16 2015, 07:56

Цитата(ccuser @ Sep 16 2015, 11:46) *
Привет. Те Simulink модели timing recovery, которые я видел, используют 4 отсчёта на символ. Как их модифицировать,
чтобы они заработали с двумя отсчётами на символ? В лоб не получается, делаешь 2 отсчёта на символ, линейный интерполятор,
система не работает. Модификация loop filter не помагает, не совсем понятно, как он строится. Спасибо.

как минимум NCO поменять wink.gif а вот замена интерполятора зря

Автор: ccuser Sep 16 2015, 08:34

Цитата(des00 @ Sep 16 2015, 08:56) *
как минимум NCO поменять wink.gif а вот замена интерполятора зря


NCO забыл упомянуть, это естественно, но тут вроде всё просто. Но вот управляющий nco сигнал, от него зависит сигнал на выходе income, и сигнал должен получиться таким же, как был, но прореженный, по идее. Вот этого не получается. Как параметры loop фильтра рассчитать кто-нибудь подскажет?

Автор: petrov Sep 19 2015, 21:37

Цитата(ccuser @ Sep 16 2015, 07:46) *
Привет. Те Simulink модели timing recovery, которые я видел, используют 4 отсчёта на символ. Как их модифицировать,
чтобы они заработали с двумя отсчётами на символ? В лоб не получается, делаешь 2 отсчёта на символ, линейный интерполятор,
система не работает. Модификация loop filter не помагает, не совсем понятно, как он строится. Спасибо.


В лоб не получится во времени разместить два отсчёта на символ на частоте передатчика, т. к. символьноя частота передачика может быть больше, остаётся размещать в ширину, то есть параллельно.

pi/4 qpsk 2 samples per symbol timing recovery, quintic Farrow structure

matlab simulink R2014a

 pi4_qpsk_2_sps_timing_recovery_2015_09_19.mdl.zip ( 56.74 килобайт ) : 192

Автор: ccuser Sep 23 2015, 09:30

Цитата(petrov @ Sep 19 2015, 21:37) *
В лоб не получится во времени разместить два отсчёта на символ на частоте передатчика, т. к. символьноя частота передачика может быть больше, остаётся размещать в ширину, то есть параллельно.

pi/4 qpsk 2 samples per symbol timing recovery, quintic Farrow structure

matlab simulink R2014a

 pi4_qpsk_2_sps_timing_recovery_2015_09_19.mdl.zip ( 56.74 килобайт ) : 192


Спасибо за ответ!

Автор: ccuser Oct 5 2015, 07:28

Добрый день. У меня следующий вопрос. Важной частью timing recovery является loop filter. В симулинке есть инструмент для автоматического подбора параметров этого блока, PID. Но в примерах его использования PID обычно входит в состав системы с некоторым явно заданным фильтром. Кто-нибудь пробовал использовать PID tuning для системы timing recovery, как это сделать в симулинке?

Автор: petrov Oct 5 2015, 14:25

Цитата(ccuser @ Oct 5 2015, 10:28) *
Добрый день. У меня следующий вопрос. Важной частью timing recovery является loop filter. В симулинке есть инструмент для автоматического подбора параметров этого блока, PID. Но в примерах его использования PID обычно входит в состав системы с некоторым явно заданным фильтром. Кто-нибудь пробовал использовать PID tuning для системы timing recovery, как это сделать в симулинке?


Не такой уж и важной. PID, а нужны ли I и D? Если речь о скрости настройки, то даже самая оптимальная ФАПЧ это всё равно очень медленно, есть быстрые методы синхронизации без обратных связей. Промоделируйте максимальный частотный сдвиг вследствие нестабильности реальных кварцевых генераторов с одним лишь пропорциональным звеном, возможно полученной фазовой ошибкой можно будет пренебречь. Не забывайте, что коэффициент передачи фазового детектора зависит от наличия символьных переходов. По сути важно лишь обеспечить в наихудшем случае негативный вклад от остаточного фазового дрожания много меньше чем от шума. Это всё на глаз по медели подобрать можно, никакого смысла в супер оптимальности коэффициентов нет, на FPGA беру степень двойки, чтобы не тратить логику на умножение.

Автор: petrov Oct 28 2015, 19:03

matlab simulink R2014a
 perfect_reconstruction_kaiser_window_fir_2015_10_28.slx.zip ( 29.95 килобайт ) : 150

Автор: petrov Nov 11 2015, 17:05

real tone frequency estimation, Eric Jacobsen and Peter Kootsookos trick
matlab simulink R2014a
 jacobsen_trick_2015_11_11.slx.zip ( 29.93 килобайт ) : 179

Автор: ElectroKarp Dec 7 2015, 12:43

Здравствуйте! Пытаюсь разобрабраться с этой моделью.

Цитата(petrov @ Aug 25 2008, 16:51) *
BPSK Costas loop
http://electronix.ru/forum/index.php?act=attach&type=post&id=24165

Вопрос такой каков смысл блоков NCO в верхнем уровне и в two_sps_clock_domain. может есть литература с описанием. Остальное вроде ясно

Автор: petrov Dec 7 2015, 22:18

Цитата(ElectroKarp @ Dec 7 2015, 15:43) *
Здравствуйте! Пытаюсь разобрабраться с этой моделью.

Вопрос такой каков смысл блоков NCO в верхнем уровне и в two_sps_clock_domain. может есть литература с описанием. Остальное вроде ясно


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

Автор: ElectroKarp Dec 8 2015, 08:09

Цитата(petrov @ Dec 8 2015, 01:18) *
Просто частота enable импульсов пополам делится, соответственно вычисления в one_sps_clock_domain один раз на символьном интервале запускаются, читать ничего не надо, можно любым удобным способом сделать, посмотрите другие модели, в некоторых чуть иначе сделано.

Спасибо за оперативный ответ!

Автор: ElectroKarp Jan 26 2016, 06:39

Реализовал эту схему в FPGA http://electronix.ru/forum/index.php?act=attach&type=post&id=24165 Петля символьной синхронизации захватывает в 50% случаев при отношении с/ш более 60 дБл (пока тестирую на столе). причем в случаи незахвата timing error detector ошибку видит, mu меняется но захвата не происходит. Пытался разобраться по статьям Гарднера Interpolation in digital modems части 1 и 2. Итак вопросы:
1. Почему mu в модели менятеся от -1 до 0 в статье пункт 3.B утверждает что от 0 до 1? Могу предположить что fractional interval берется из предыдущего периода.
2. Не совсем понятен механизм извлечения mu из NCO. (в первой части пункт 4.А и рисунок 6)
Ссылки на статьи
часть 1 http://electronix.ru/redirect.php?https://www.google.by/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwj8g8fn68bKAhVHRBQKHbBfDj4QFggbMAA&url=http%3A%2F%2Fread.pudn.com%2Fdownloads101%2Fsourcecode%2Fmobile%2Fj2me%2F412428%2Ftime%2520syn%2F%5B23%5DInterpolation%2520in%2520digital%2520modems.%2520I.%2520Fundamentals.pdf&usg=AFQjCNF6JY_5FImZEZxRJFZeaXxmhTR42g&sig2=MjO0sK-jYUgGty4gE6fOuA&cad=rjt
часть 2 http://electronix.ru/redirect.php?https://www.google.by/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0ahUKEwjQioy97sbKAhVC1hQKHaZyD7YQFgg2MAM&url=http%3A%2F%2Felectronix.ru%2Fforum%2Findex.php%3Fact%3DAttach%26type%3Dpost%26id%3D91697&usg=AFQjCNEUzehfgjVI6_DVCOaX_kpXgFTZTA&sig2=CIGJROlRQR1cZ8xoMK_8-g

Автор: des00 Jan 26 2016, 07:28

Цитата(ElectroKarp @ Jan 26 2016, 13:39) *
Петля символьной синхронизации захватывает в 50% случаев при отношении с/ш более 60 дБл (пока тестирую на столе). причем в случаи незахвата timing error detector ошибку видит, mu меняется но захвата не происходит.

99% что аккумулятор петлевого фильтра уходит в сторону и вы вываливаетесь из полосы захвата

Цитата
1. Почему mu в модели менятеся от -1 до 0 в статье пункт 3.B утверждает что от 0 до 1? Могу предположить что fractional interval берется из предыдущего периода.

разные реализации интерполяторов
Цитата
2. Не совсем понятен механизм извлечения mu из NCO. (в первой части пункт 4.А и рисунок 6)

остаток от деления символьного интервала?


Автор: petrov Jan 26 2016, 08:22

Цитата(ElectroKarp @ Jan 26 2016, 09:39) *
1. Почему mu в модели менятеся от -1 до 0 в статье пункт 3.B утверждает что от 0 до 1? Могу предположить что fractional interval берется из предыдущего периода.


Оптимальный диапазон фарроу 0..1, смотрите более свежие модели.



Цитата(ElectroKarp @ Jan 26 2016, 09:39) *
2. Не совсем понятен механизм извлечения mu из NCO. (в первой части пункт 4.А и рисунок 6)


NCO - дискретный накапливающий сумматор(синус вычислять как в DDS смысла нет), считающий по модулю 2^разрядность(0..2^N -> 0..2*pi), например переполнение указывает на пересечение синусом нуля, по значению на выходе сумматора в этот момент можно установить точную точку пересечения, отсюда mu и извлекается.

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

Автор: AlexeyD May 30 2016, 20:35

Добрый вечер, немного не по теме, но все же: имеется вот такая схемка(example- упрощенная для понимания материала и laboratoryWork-сама работа(лабораторная) ну и метода) это кодовое разделение канала, по средствам генератора кодов Уолша. В example есть источник, формирователь и обработчик, если с источником и формирователем я разобрался худо бедно, то с обработчиком- совсем беда. Не получается выделить обратно каждый сигнал в свой канал.

P.S. сильно тапками не кидайте, написал после того как пошерстил интернет и разную литературу. Если кто настроит example, буду примного благодарен.

 lab2.rar ( 23.14 килобайт ) : 106


метода(2 лаб.работа) http://electronix.ru/redirect.php?http://libeldoc.bsuir.by/bitstream/123456789/506/1/%D0%A7%D0%B5%D1%80%D0%B4%D1%8B%D0%BD%D1%86%D0%B5%D0%B2,%20%D0%92.%20%D0%90.%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0_%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80_%D0%B8_%D0%BE%D0%B1%D1%80%D0%B0%D0%B1_%D1%81%D0%B8%D0%B3_%D0%B2_%D1%86%D0%B8%D1%84%D1%80_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%9B%D0%B0%D0%B1_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D1%83%D0%BC.pdf

Автор: Retter Apr 4 2017, 07:32

Спасибо большое уважаемому Petrov за замечательные модели. У меня есть пару вопросов новичка по поводу модели субоптимального приемника GMSK. Не могли бы Вы ткнуть пальцем новичку на принцип расчета первого фильтра приемника и указать где почитать про символьную синхронизацию примененную в этом случае.

Автор: petrov Apr 4 2017, 10:42

Цитата(Retter @ Apr 4 2017, 10:32) *
принцип расчета первого фильтра приемника


Эвристический, согласованного фильтра не существует, ищется компромисс между схлопавынием глазки из-за шума и из-за МСИ вносимой фильтром.


Цитата(Retter @ Apr 4 2017, 10:32) *
где почитать про символьную синхронизацию примененную в этом случае.


http://electronix.ru/redirect.php?https://www.mathworks.com/help/comm/ref/msktypesignaltimingrecovery.html

Автор: altral Jun 7 2018, 08:10

Цитата(petrov @ Jun 18 2007, 18:20) *
Модель QAM16 модема feed-back gardner symbol sync farrow interpolator decision feed-back phase sync gain control для simulink из matlab 7.0.

Возникло несколько вопросов.
  1. По какому принципу подбираются значения параметров (1/2^16 и 1/2^8) в петле "timing_error_loop_filter"?
  2. Можно ли по сигналу "timing_error" на выходе синхронизатора восстановить значение целочисленного тактового сдвига ("integer_symbol_clock_phase_offset"), вносимого после модуляции?
  3. Можно ли побороть зашумление в оценке фазового и тактовых сдвигов, если допустить, что сами сдвиги постоянны?

Автор: petrov Jun 7 2018, 11:15

Цитата(altral @ Jun 7 2018, 11:10) *
По какому принципу подбираются значения параметров (1/2^16 и 1/2^8) в петле "timing_error_loop_filter"?


По устойчивости, длительности переходного процесса, остаточному шуму.

Цитата(altral @ Jun 7 2018, 11:10) *
Можно ли по сигналу "timing_error" на выходе синхронизатора восстановить значение целочисленного тактового сдвига ("integer_symbol_clock_phase_offset"), вносимого после модуляции?


NCO в символьной петле ФАПЧ подстраивается, чтобы разность фаз с принимаемым сигналом к нулю свести. Можно только разность фаз восстановить между NCO из петли и таким же местным неуправляемым NCO.

Цитата(altral @ Jun 7 2018, 11:10) *
Можно ли побороть зашумление в оценке фазового и тактовых сдвигов, если допустить, что сами сдвиги постоянны?


Уже полосу ФАПЧ сделать.

Автор: altral Jun 8 2018, 07:39

Цитата(petrov @ Jun 7 2018, 11:15) *
По устойчивости, длительности переходного процесса, остаточному шуму.

Существуют ли формулы или описание, связывающие коэффициенты в совместной схеме с символьной скоростью, величиной рассинхронизации по фазе и такту и уровнем шума?

Цитата(petrov @ Jun 7 2018, 11:15) *
NCO в символьной петле ФАПЧ подстраивается, чтобы разность фаз с принимаемым сигналом к нулю свести. Можно только разность фаз восстановить между NCO из петли и таким же местным неуправляемым NCO.

То есть из схемы нельзя извлечь величину, аналогичную "mu" для фильтра Фарроу, на которую делается "поправка" для того, чтобы попадать на начало символа? И относится ли это к схеме Гарднера или любой схеме?
Попробовал к сигналу "timing_error" добавить интегрирующий фильтр (по аналогии с фазовой синхронизацией) - при длительности символа в 4 такта на выходе получилась сумма целого и дробного сдвигов (без учета шума). При более высокой длительности уже не так.

Автор: petrov Jun 8 2018, 10:08

Цитата(altral @ Jun 8 2018, 10:39) *
Существуют ли формулы или описание, связывающие коэффициенты в совместной схеме с символьной скоростью, величиной рассинхронизации по фазе и такту и уровнем шума?


Не встречал.

Цитата(altral @ Jun 8 2018, 10:39) *
То есть из схемы нельзя извлечь величину, аналогичную "mu" для фильтра Фарроу, на которую делается "поправка" для того, чтобы попадать на начало символа? И относится ли это к схеме Гарднера или любой схеме?
Попробовал к сигналу "timing_error" добавить интегрирующий фильтр (по аналогии с фазовой синхронизацией) - при длительности символа в 4 такта на выходе получилась сумма целого и дробного сдвигов (без учета шума). При более высокой длительности уже не так.


Лучше скажите что хотите сделать. Там и так всё "попадает"(хотя помнится в той модели были какие-то ошибки не очевидные, да и вообще недостатки всякие).

Автор: altral Aug 10 2018, 06:47

Цитата(petrov @ Jun 8 2018, 10:08) *
Лучше скажите что хотите сделать. Там и так всё "попадает"(хотя помнится в той модели были какие-то ошибки не очевидные, да и вообще недостатки всякие).

Я не сомневаюсь в том, что "попадает". Но допустим, меня интересует значение тактового сдвига, вносимого в канале, ведь находясь на приемной стороне, мы не можем его знать заранее. Дробную задержку мы можем оценить, вычтя из единицы сигнал mu на выходе NCO. А есть еще целочисленное смещение, принимающее значения от 0 до N-1, где N - число тактов в символе. Можно ли оценить его значение?

Автор: petrov Aug 10 2018, 08:19

Генераторы в передатчике и приёмнике независимо в неизвестные произвольные моменты времени запускаются.
Вот 2 ситуации:
1. Задержка в канале 0, генераторы запустились с разностью фаз N/2;
2. Задержка в канале N/2, генераторы запустились с разностью фаз 0.
Сигнал на приёме один и тот же. Как отделить 1 от 2?

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)