реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Farrow из моделей petrov, Проясните в чем фокус
des00
сообщение Oct 13 2009, 10:51
Сообщение #1


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Добрый день уважаемый petrov и коллеги!

Не могли бы вы прояснить вот какой момент. Фарроу в ваших моделях это модифицированный фарроу 3 го порядка. Тогда как исходный кубический фарроу имеет диапазон mu [0:3] и рабочую точку [1:2], этот имеет постоянную задержку в 2 символа и рабочую точку [-1:0]. Следуя логике вещей, при mu ==0 интерполятор дает задержку 2 символа, а при mu == -1 задержка будет 1 символ.

Т.е. если поставить рядом интерполятор А с mu==0 и интерполятор В с mu == -1, то сигнал от А должен запаздывать относительно сигнала от В. Но вот в приатаченной модельке это не так (желтый луч на Scope опережает фиолетовый). Почему так получается?

Спасибо.

ЗЫ. Не сомневаюсь что интерполятор правильный, проверил на реальном модеме smile.gif Просто случайно заметил сей эффект, интересно почему так получается.
Прикрепленные файлы
Прикрепленный файл  farrow_bug_r14.zip ( 9.45 килобайт ) Кол-во скачиваний: 48
 


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Oct 13 2009, 12:20
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Ну по логике наоборот z^-1 это задержка а z^1 машина времени :)
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 14 2009, 03:18
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Oct 13 2009, 07:20) *
Ну по логике наоборот z^-1 это задержка а z^1 машина времени smile.gif


хмм, может я что не так понял.

Управление временем для немодифицированных интерполяторов описывается выражением z^-mu. Это легко проверяется в симулинке.

Так и для этого интерполятора должно быть уравнение вида z^-(2+mu). Тогда задержки будут z^-2 и z^-(2-1) = z^-1 для mu == 0/-1. А если судить на результаты моделирования то уравнение того что получилось получается z^(-2+mu), ИМХО это как то не правильно.


ЗЫ.
На основе доки, вывел формулы модифицированных интерполяторов до 3 го порядка включительно. Конкретно этот интерполятор содержит небольшой хак, за счет коэффициентов нечетных звеньев у него mu проинвертирован. Т.е. mu == -1 надо читать как mu == 1, рабочий диапазон этого интерполятора [2:3]. Если кому интересна методика вывода(в маткаде) и схемы интерполяторов (в матлабе) до 3 го порядка выложу %)

Вопрос хака остается открытым, я вижу его причину в том, что реализация интерполятора для mu == [-1:0] в железе делается проще %)

ЗЗЫ.
Но если следовать теории то рабочий диапазон, исходя из линейности рабочего участка интерполятора 3 го порядка, должен быть [1:2]. Тогда получается что обсуждаемый интерполятор работает не на оптимальном участке характеристики, внося дополнительные искажения в сигнал %)


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Oct 14 2009, 09:24
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Oct 14 2009, 07:18) *
Но если следовать теории то рабочий диапазон, исходя из линейности рабочего участка интерполятора 3 го порядка, должен быть [1:2]. Тогда получается что обсуждаемый интерполятор работает не на оптимальном участке характеристики, внося дополнительные искажения в сигнал %)


На практике эти дополнительные искажения подтверждаются, вы можете сделать модель где будете подавать на этот интерполятор mu в другом диапазоне иполучить меньшие искажения?
Щас не помню уже статью по которой делал этот интерполятор, возможно действительно у меня где-то ошибка.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Oct 14 2009, 09:45
Сообщение #5


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(des00 @ Oct 14 2009, 05:18) *
Если кому интересна методика вывода(в маткаде) и схемы интерполяторов (в матлабе) до 3 го порядка выложу %)


Временно отошёл от этой темы,но всё же интересно.
Выложите,плз,модельки.
Go to the top of the page
 
+Quote Post
petrov
сообщение Oct 14 2009, 10:47
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Проверил сейчас на модели, 4 отсчёта на символ, коэффициент ската 0.25, поменял знаки нечётных звеньев, поменял знак mu и вычел из него 1, т. е. диапазону -1..0 выходе NCO соответствует 0..-1 на входе интерполятора, никакой разницы с предыдущим вариантом не вижу.

В общем этот интерполятор(нечётные звенья не инвертированы по знаку в отличие от моих моделей) нормально работает при mu -2..-1 и -1..0 и 0..1, -1..0 центральный оптимальный диапазон, но при -2..-1 и 0..1 если искажения и увеличиваются то практически этого не видно.
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 14 2009, 11:37
Сообщение #7


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Oct 14 2009, 04:24) *
На практике эти дополнительные искажения подтверждаются, вы можете сделать модель где будете подавать на этот интерполятор mu в другом диапазоне иполучить меньшие искажения?
Щас не помню уже статью по которой делал этот интерполятор, возможно действительно у меня где-то ошибка.


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

также в атаче маткадовский файл (версия 13), в котором с помошью символьного процессора выводились коэффициенты модифицированных интерполяторов.
Прикрепленные файлы
Прикрепленный файл  farrow.zip ( 405.19 килобайт ) Кол-во скачиваний: 64
 


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Oct 14 2009, 13:02
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Oct 14 2009, 15:37) *
гонял разные интерполяторы в матлабе(модель петли по тактовой в атаче), на глаз искажений не видно. но ведь не зря же авторы статьи


Во первых у нас передискретизация есть, во вторых точность для модемов большая не нужна т. к. у них шум гораздо более сильную ошибку вносит. В статье видно что mu -1..0 оптимальный диапазон для кубического интерполятора, но и при неоптимальных mu тоже не возбраняется интерполятор использовать если ошибка устраивает, хотя по графикам ошибки 3.12 и 3.13 видно что лучше параболический или линейный интерполяторы использовать чем кубический в неоптимальном диапазоне. Хорошо что вы эту ошибку в модели заметили, спасибо.
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 14 2009, 15:44
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Oct 14 2009, 07:02) *
Во первых у нас передискретизация есть, во вторых точность для модемов большая не нужна т. к. у них шум гораздо более сильную ошибку вносит. В статье видно что mu -1..0 оптимальный диапазон для кубического интерполятора, но и при неоптимальных mu тоже не возбраняется интерполятор использовать если ошибка устраивает, хотя по графикам ошибки 3.12 и 3.13 видно что лучше параболический или линейный интерполяторы использовать чем кубический в неоптимальном диапазоне.


Спасибо за разъяснение, но хочу еще обратить ваше внимание на стр.12-13 статьи и график 3.11. При работе в неоптимальном диапазоне усиление интерполятора может быть больше 1. Авторы статьи называют это свойство "пассивностью".

Цитата
it never overestimates the amplitude of the signal when the delay has been chosen so that (N – 1)/2 <= D <= (N + 1)/2 when N is odd and (N/2) – 1 <= D <= (N/2) + 1 when N is even.


при определенных условиях, петля может подгуживать. Да и в железе по разрядности иногда могут вылезти переполнения на выходе фарроу %)

Кстати интерполятор, который вы используете также приведен у незами на стр 6-19 Figure 6-14 Cubic interpolator for symbol timing correction. Правда особенности его использования у него не рассмотрены %)


--------------------
Go to the top of the page
 
+Quote Post
SFx
сообщение Oct 14 2009, 16:51
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



раз уж тут собрались поклонники Farrow wink.gif вот вам свеженькая статейка с ieee, возможно она будет полезна.

A novel Farrow Structure with reduced complexity
Hunter, M.T.; Mikhael, W.B.;
Circuits and Systems, 2009. MWSCAS '09. 52nd IEEE International Midwest Symposium on
2-5 Aug. 2009 Page(s):581 - 585
Прикрепленный файл  5236027.pdf ( 477.96 килобайт ) Кол-во скачиваний: 485


И еще одна, наверное, в тему.

Results on maximally flat fractional-delay systems
Samadi, S.; Ahmad, M.O.; Swamy, M.N.S.;
Circuits and Systems I: Regular Papers, IEEE Transactions on
Volume 51, Issue 11, Nov. 2004 Page(s):2271 - 2286
Прикрепленный файл  1356159.pdf ( 713.63 килобайт ) Кол-во скачиваний: 475
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 15 2009, 03:40
Сообщение #11


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SFx @ Oct 14 2009, 11:51) *
раз уж тут собрались поклонники Farrow wink.gif вот вам свеженькая статейка с ieee, возможно она будет полезна.


Спасибо за инфу %)

Цитата
A novel Farrow Structure with reduced complexity


Как то не впечатлила, предлагают добавить оверсамплинг, который для модемов и так есть %)

Цитата
Results on maximally flat fractional-delay systems


а вот это интересно, собрал модельку с фильтром Fig. 1. Farrow structure for the Lagrange interpolator F (z) based on (24) работает smile.gif На модели 4sps классический фарроу 3 порядка дает отклонение точки ~0.18, этот ~0.16. Может быть из-за плоской АЧХ, надо поковырять подробнее + оценить ресурс фпга на этот интерполятор %)


--------------------
Go to the top of the page
 
+Quote Post
bahurin
сообщение Oct 15 2009, 07:50
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Цитата(des00 @ Oct 13 2009, 14:51) *
Добрый день уважаемый petrov и коллеги!

Не могли бы вы прояснить вот какой момент. Фарроу в ваших моделях это модифицированный фарроу 3 го порядка. Тогда как исходный кубический фарроу имеет диапазон mu [0:3] и рабочую точку [1:2], этот имеет постоянную задержку в 2 символа и рабочую точку [-1:0]. Следуя логике вещей, при mu ==0 интерполятор дает задержку 2 символа, а при mu == -1 задержка будет 1 символ.


фильтр фарроу ничто иное как пересчитанный интерполяционный полином лагранжа. Поэтому результат должен быть таким же что и при полиномиальной лагранжевой интерполяции. Пересчет времени не важен, результат должен быть один и тот же и полностью совпадать с результатом полиномиальной интерполяции. Если полином лагранжа и ваш фильтр дает разные результаты при одином порядке (фильтр третьего порядка и кубический полином) это означает, что одна из черепах врет. Также если 2 реализации фильтра одного порядка дают разные результаты, тоже значит что одна или обе черепахи врут. Подробнее здесь. Касаемо вашего вопроса попробую пояснить если вы задаете mu = 0, то выходной сигнал будет полностью повторять входной с задержкой на 2 символа, так как для рассчета вам потребуется еще два отсчета слева (-1 и -2 отсчет), а если зададите mu == -1 то задержка будет один символ, так как нужен только один отсчет слева (-2).
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 16 2009, 04:47
Сообщение #13


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(bahurin @ Oct 15 2009, 02:50) *
фильтр фарроу ничто иное как пересчитанный интерполяционный полином лагранжа.


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

Цитата
Поэтому результат должен быть таким же что и при полиномиальной лагранжевой интерполяции. Пересчет времени не важен, результат должен быть один и тот же и полностью совпадать с результатом полиномиальной интерполяции. Если полином лагранжа и ваш фильтр дает разные результаты при одином порядке (фильтр третьего порядка и кубический полином) это означает, что одна из черепах врет. Также если 2 реализации фильтра одного порядка дают разные результаты, тоже значит что одна или обе черепахи врут. Подробнее здесь. Касаемо вашего вопроса попробую пояснить если вы задаете mu = 0, то выходной сигнал будет полностью повторять входной с задержкой на 2 символа, так как для рассчета вам потребуется еще два отсчета слева (-1 и -2 отсчет), а если зададите mu == -1 то задержка будет один символ, так как нужен только один отсчет слева (-2).


вопрос был не КАК работает интерполятор, а ПОЧЕМУ кубический интерполятор, приведенный в учебниках, помимо того что содержит инвертированные коэффициенты нечетных веток, работает немного не так как ожидалось. В результате выяснилось что все в норме, но есть особенности, никакая из черепах не врет %)

ЗЫ. в статье вы немного не точны, для кубического полинома надо 6 умножений, вы забыли посчитать умножения на mu wink.gif


--------------------
Go to the top of the page
 
+Quote Post
pokos
сообщение Oct 23 2009, 12:18
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 270
Регистрация: 29-06-06
Пользователь №: 18 445



Цитата(des00 @ Oct 15 2009, 07:40) *
Как то не впечатлила, предлагают добавить оверсамплинг, который для модемов и так есть %)

Не заметил передискретизации я:
"While the coefficient symmetry dramatically
reduces the number of required multipliers, oversampling
is not employed,..."

К тому же, модем модему рознь. В оптических модемах передискретизация слишком дорого обходится. А вот споловинить количество умножителей - это очень даже хорошо.
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 26 2009, 08:10
Сообщение #15


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(des00 @ Oct 14 2009, 21:40) *
а вот это интересно, собрал модельку с фильтром Fig. 1. Farrow structure for the Lagrange interpolator F (z) based on (24) работает smile.gif На модели 4sps классический фарроу 3 порядка дает отклонение точки ~0.18, этот ~0.16. Может быть из-за плоской АЧХ, надо поковырять подробнее + оценить ресурс фпга на этот интерполятор %)


Поковырялся в доке, смешно стало, интерполятор на Fig1 это самый обычный интерполятор лагранжа 3 го порядка %) Просто он записан по другому. А улучшение в работе модели связано как раз с работой в оптимальном диапазоне задержек интерполятора. Так что эффект влияния диапазона работы интерполятора на качество сигнала есть %)

Цитата(pokos @ Oct 23 2009, 06:18) *
Не заметил передискретизации я: "While the coefficient symmetry dramatically reduces the number of required multipliers, oversampling is not employed,..."


Да немного не туда посмотрел, передискретизация рассматривается, но для другого интерполятора. В этой доке мне не понятно вот что: в конце они приводят сводную таблицу результата : берут интерполятор третьего порядка(M == 3) и насчитывают в нем 27 умножений. Откуда столько, если их там всего 6 (модифицированный фарроу по лагранжу 3 го порядка)? Еше не понятно как они рассчитывали коэффициенты фильтров, уж слишком у них красивая АЧХ, если это был лагранж.


еще вопрос по документу "Results on Maximally Flat Fractional-Delay Systems".
Предлагаемый там интерполятор описывается формулой 123, т.е. получается что при каждом d/mu надо пересчитывать коэффициенты фильтра и только потом считать выход. Тогда в чем преимущество этого интерполятора, перед интерполятором на полифазном FIR фильтре? В количестве коэффициентов фильтра которые нужно хранить ?

ЗЫ. математики поясните как читаются формулы 121, как то не доходит до меня как d(d^2-1)(d^2-9)/120 стало 16d/5(d+3/2 4) %(. Спасибо.


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th June 2025 - 18:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01496 секунд с 7
ELECTRONIX ©2004-2016