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

 
 
> Линейность дробного ресамплинга, Нелиненые эффекты интерполятора Лагранжа
des00
сообщение Jun 24 2010, 12:18
Сообщение #1


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

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



Задумал я сделать модулятор, в котором ЦАП работает на частоте не целочисленно кратной символьной. В принципе ничего сложно, спектр сигнала сформирован на частоте 16sps, что при скруглении 0.25 соответствует нормированной крайней частоте спектра ~0.16, по идее этого с запасом хватает что бы уложиться в диапазон линейности интерполятора лагранжа 3 го порядка. Но в представленной модельке видны большие искажения спектра сигнала.

Уважаемые гуру ресамплинга подскажите я правильно понимаю что нелинейность АЧХ/ФЧХ интерполятора на высокой частоте работает как смеситель, который рождает гармоники более высоких частот, которые и видно в представленной модели? В таком случае интерполятор 3 го порядка не вариант? нужно либо уходить на интерполятор более высокого порядка (например 5 го как в модели) либо сужением спектра сигнала в 2 раза.
Спасибо.
Прикрепленные файлы
Прикрепленный файл  farrow_transmitter_cic_test_lang5.zip ( 19 килобайт ) Кол-во скачиваний: 39
 


--------------------
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 22)
petrov
сообщение Jun 24 2010, 20:14
Сообщение #2


Гуру
******

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



Да очевидно что фильтр с переменными параметрами это уже нелинейщина.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 25 2010, 04:52
Сообщение #3


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

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



Цитата(petrov @ Jun 24 2010, 15:14) *
Да очевидно что фильтр с переменными параметрами это уже нелинейщина.

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


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 25 2010, 05:49
Сообщение #4


Гуру
******

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



В принципе любые интерполяторы-дециматоры это нелинейные устройства, борются большими порядками.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 25 2010, 13:27
Сообщение #5


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

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



Цитата(petrov @ Jun 25 2010, 00:49) *
В принципе любые интерполяторы-дециматоры это нелинейные устройства, борются большими порядками.

понятно, рассчитал модифицированный лагранж 4 го порядка на тот же диапазон mu[-1 : 0] увел нелинейность ниже 80 ти дБ, мне этого хватит. Всего 1500 плиток, зато сколько удовольствия %)

ЗЫ. Для такой интерполяции разрядность mu требуется много больше чем для интерполятора в демодуляторе, в передатчике желательно не менее 12 бит, а в приемнике мне 7ми бит хватало %)


--------------------
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jun 25 2010, 15:24
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(petrov @ Jun 25 2010, 09:49) *
В принципе любые интерполяторы-дециматоры это нелинейные устройства, борются большими порядками.


Нифига.
sinc-интерполятор линеен.
(если я правильно понял о чем речь) smile.gif

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


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 25 2010, 16:10
Сообщение #7


Гуру
******

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



Нелинейны сами операции изменения частоты дискретизации, вот и имеем например наложение спектров при децимации, т. е. появление новых спектральных составляющих которых не было в исходном сигнале.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jun 25 2010, 16:28
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(petrov @ Jun 25 2010, 20:10) *
Нелинейны сами операции изменения частоты дискретизации, вот и имеем например наложение спектров при децимации, т. е. появление новых спектральных составляющих которых не было в исходном сигнале.


И тем не менее.
F(x+y) = F(x) + F(y)
F(a*x) = a * F(x)

smile.gif

Для сохранения спектра нужна еще стационарность, очевидно.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 25 2010, 18:11
Сообщение #9


Гуру
******

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



Цитата(Oldring @ Jun 25 2010, 20:28) *
И тем не менее.
F(x+y) = F(x) + F(y)
F(a*x) = a * F(x)

smile.gif

Для сохранения спектра нужна еще стационарность, очевидно.


Да похоже я ошибался.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 26 2010, 04:25
Сообщение #10


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

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



Цитата(Oldring @ Jun 25 2010, 09:24) *
Просто произвольный момент времени выборки не порождает нелинейность.

тогда как объяснить наблюдаемый в модели эффект ?


--------------------
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jun 26 2010, 06:56
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(des00 @ Jun 26 2010, 08:25) *
тогда как объяснить наблюдаемый в модели эффект ?


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


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 26 2010, 09:54
Сообщение #12


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

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



Цитата(Oldring @ Jun 26 2010, 00:56) *
К сожалению, эффекты модели я не наблюдаю - не запускается.

я думал я один сижу на древнем матлабе 2007а, вот моделька для R14 матлаба. В модели все блоки стандартные, ИМХО проблем быть не должно %)
Цитата
Но в модели у вас ведь Фарроу? Про Фарроу я ничего не писал.

Насколько я понял литературу Фарроу это реализация интерполятора, я использую интерполятор построенный на многочленах Лагранжа.

Прикрепленные файлы
Прикрепленный файл  farrow_transmitter_cic_test_lang5_r14.zip ( 18.86 килобайт ) Кол-во скачиваний: 21
 


--------------------
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 26 2010, 10:49
Сообщение #13


Эксперт
*****

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



QUOTE (des00 @ Jun 26 2010, 13:54) *
Насколько я понял литературу Фарроу это реализация интерполятора, я использую интерполятор построенный на многочленах Лагранжа.


Всё верно, только Oldring про интерполятор Лагранжа тоже не писал. Его замечание относилось к идеальному sinc интерполятору. Это полиномиальные интерполяторы нелинейны.
Но Вам же не хочется реализовать sinc-интерполятор))
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 26 2010, 10:55
Сообщение #14


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

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



собрал модельку с управляемым генератором синуса, если поиграться с частотой синуса и кратностью преобразования частоты, видно :
1. чем выше частота синуса, тем больше продуктов нелинейности в выходном спектре
2. чем больше значений дробной задержки используется, тем так же больше продуктов нелинейности (например посмотрите вместо 14/15 кратности 1, 1/2, 1/4)
у меня только одно объяснение, не смотря на то, что при фиксированном mu интерполятор элемент линейный, при разных mu коэффициент передачи изменяется (см рис) поэтому и возникает сия нелинейность на спектре

Цитата(fontp @ Jun 26 2010, 05:49) *
Но Вам же не хочется реализовать sinc-интерполятор))

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

Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  farrow_transmitter_cic_test_lang4_sinwave_R14.zip ( 17.54 килобайт ) Кол-во скачиваний: 16
 


--------------------
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 26 2010, 10:57
Сообщение #15


Эксперт
*****

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



QUOTE (des00 @ Jun 26 2010, 14:55) *
почему не хочется то? просто под рукой был готовый RTL ный 3 го порядка, он и пошел в дело. Потом уже увидев сей эффект на понарамнике, полез более подробно смотреть. Не подскажите литературу по sinc интерполяторам ?


Да прямо по теореме Котельникова интерполируйте истинным синком
smile.gif
Под аппартными "синк-интерполяторами" обычно понимают такую-же кусочно полиномиальную интерполяцию, только изображающую из себя синк. Такие же как интерполятор Лагранжа сплайны, только более длинные. Там тоже будут продукты? но меньше.
Литературы по общей теории интерполяторов не подскажу, но практический вариант улучшения интерполятора Лагранжа я когда-то давно помещал в форум - там приделывают хвосты к Фарроу и получается несколько лучше
http://electronix.ru/forum/index.php?act=A...st&id=31882
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jun 26 2010, 11:21
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(des00 @ Jun 26 2010, 13:54) *
я думал я один сижу на древнем матлабе 2007а, вот моделька для R14 матлаба. В модели все блоки стандартные, ИМХО проблем быть не должно %)


Нет, не запускается потому что Матлаб похоже слетел sad.gif

Цитата(des00 @ Jun 26 2010, 14:55) *
почему не хочется то? просто под рукой был готовый RTL ный 3 го порядка, он и пошел в дело. Потом уже увидев сей эффект на понарамнике, полез более подробно смотреть. Не подскажите литературу по sinc интерполяторам ?



Вставляете внутрь нули и фильтруете ФНЧ. Потом выбираете нужные отсчеты. Если частотная характеристика ФНЧ прямоугольная - получите sinc. Лечше делать непрямоугольную но достаточную чтобы обрезать алиасы.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 26 2010, 11:27
Сообщение #17


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

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



Цитата(Oldring @ Jun 26 2010, 06:16) *
Нет, не запускается потому что Матлаб похоже слетел sad.gif

Вот скрин эффекта на Scope2 выведен спектр модулятора без ресамплинга, хвост справа это не до давленный циком спектр, на двух других Scope спектр на выходе интерполяторов 3 го и 4 го порядков, на интерполяторах осуществляется upsample со скоростью 15/14

Цитата(Oldring @ Jun 26 2010, 06:21) *
Вставляете внутрь нули и фильтруете ФНЧ.

хмм, может быть ошибаюсь, но это же целочисленная интерполяция? а мне нужна дробная, с коэффициентами 14/15, 7/15, 7/30 и т.д.


Цитата(fontp @ Jun 26 2010, 05:57) *
но практический вариант улучшения интерполятора Лагранжа я когда-то давно помещал в форум - там приделывают хвосты к Фарроу и получается несколько лучше
http://electronix.ru/forum/index.php?act=A...st&id=31882

пробывал я этот интерполятор использовать для дробного ресамплинга, при upsample 15/14 качество хуже чем у лагранжа 3 го порядка. Хотя в приемнике 4sps качество работы этого интерполятора лучше. Сей эффект я пока не знаю как объяснить %(

Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 26 2010, 11:36
Сообщение #18


Эксперт
*****

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



QUOTE (des00 @ Jun 26 2010, 15:27) *
хмм, может быть ошибаюсь, но это же целочисленная интерполяция? а мне нужна дробная, с коэффициентами 14/15, 7/15, 7/30 и т.д.


для дробного фиксированого ресемплинга полифазные фильтры и используются. Другое дело если mu=0.85745233....да ещё и меняется. Фиксированый ресемблинг делается полифазными фильтрами с аудио качеством
Rational Sample Rate Conversion EE-183
Особенно изощренно реализовать фильтры многоступенчатыми
Multistage Design
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jun 27 2010, 07:08
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(des00 @ Jun 26 2010, 15:27) *
хмм, может быть ошибаюсь, но это же целочисленная интерполяция? а мне нужна дробная, с коэффициентами 14/15, 7/15, 7/30 и т.д.


У ваших рациональных дробей общий числитель - 14. Вставляете по 13 нулей, фильтруете и берете, например, каждый 30-й отсчет результата. Получаете 14/30 = 7/15. Умножения на нули как и неиспользуемые выходные отсчеты можно не вычислять. smile.gif


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 27 2010, 07:29
Сообщение #20


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

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



Цитата(fontp @ Jun 26 2010, 05:36) *
для дробного фиксированого ресеплинга полифазные фильтры и используются. Другое дело если mu=0.85745233....да ещё и меняется.

В моем случае полифазные фильтры слишком дорогое удовольствие и я немного скрыл задачу, сам передающий NCO петлюется к приходящему потоку данных, со средним upsample rate 15/14. Т.е. шаги по mu не фиксированные %) За ссылки спасибо, почитаю

Цитата(Oldring @ Jun 27 2010, 01:08) *
У ваших рациональных дробей общий числитель - 14. Вставляете по 13 нулей, фильтруете и берете, например, каждый 30-й отсчет результата. Получаете 14/30 = 7/15. Умножения на нули как и неиспользуемые выходные отсчеты можно не вычислять. smile.gif

угу, вот только у меня реалтайм и частота потока, подлежащего дробному ресамплингу под 200 МГц %)


--------------------
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jun 27 2010, 07:43
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(des00 @ Jun 27 2010, 11:29) *
угу, вот только у меня реалтайм и частота потока, подлежащего дробному ресамплингу под 200 МГц %)



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

Оптимальное решение в любом случае вам самому выбирать. smile.gif


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 27 2010, 07:43
Сообщение #22


Эксперт
*****

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



QUOTE (des00 @ Jun 27 2010, 11:29) *
В моем случае полифазные фильтры слишком дорогое удовольствие и я немного скрыл задачу, сам передающий NCO петлюется к приходящему потоку данных, со средним upsample rate 15/14. Т.е. шаги по mu не фиксированные %) За ссылки спасибо, почитаю
угу, вот только у меня реалтайм и частота потока, подлежащего дробному ресамплингу под 200 МГц %)


Ну, по этим двум причинам и используют полиномиальные интерполяторы. Остается увеличивать порядок и длину
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jun 27 2010, 07:44
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(des00 @ Jun 27 2010, 11:29) *
Т.е. шаги по mu не фиксированные %)


Тут одна нестационарность, связанная со скачками шага, может приводить к искажениям спектра.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 11th August 2025 - 22:53
Рейтинг@Mail.ru


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