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

 
 
> есть ли методы дизеринга (dithering) для линейной интерполяции при повышении тактовой частоты (upsampling), хочется что-то аналогичное дизерингу при генерации синуса
Krys
сообщение Apr 16 2015, 04:10
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Здравствуйте. Подскажите, пожалуйста, есть ли методы дизеринга (dithering) для линейной интерполяции при повышении тактовой частоты (upsampling, digital up-converter), хочется что-то аналогичное дизерингу при генерации синуса в DDS, когда периодичность ошибки фазы вызывает группировку шума на каких-то частотах спектра, а дизеринг этот шум размазывает, улучшая SFDR. Мне надо что-то такое же.
Поясню на картинках.
Прикрепленное изображение

На этой картинке синим спектр исходного сигнала (ЛЧМ), до передискретизации. Красным - спектр после повышения тактовой и линейной интерполяции. Зелёным - спектр после повышения тактовой и фильтрации обычным КИХ-фильтром.

Прикрепленное изображение

Эта картинка из временного домена, после повышения тактовой (увеличено вблизи конца временной выборки, когда частота ЛЧМ близка к максимальной). Синим - результат линейной интерполяции, красным - результат интерполяции через КИХ-фильтр (зелёный спектр на предыдущей картинке), а зелёным - разница между синей и красной кривыми.

По первой картинке (красная кривая) видно, что присутствуют зеркальные спектры от ЛЧМ. Хочется их маленько ослабить, размазав, т.к. есть запас по частоте в половину диапазона (полоса ЛЧМ - четверть частоты дискретизации). Т.е. аналогично размазывают дизерингом составляющие от DDS. Вот я подумал, нельзя ли что-то подобное сделать для линейной интерполяции? Куда тут только шум влепить... в узловые точки интерполяции?


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
5 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 14)
ViKo
сообщение Apr 16 2015, 04:31
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Может, лучше сделать кубическую интерполяцию? Вместо линейной.
Go to the top of the page
 
+Quote Post
Krys
сообщение Apr 16 2015, 05:15
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Конечно лучше )) Тот же Фарроу )) Но это надо умножители, коих нет. Линейная не требует умножителей вообще, только аккумулятор (т.е. делаем инкремент с определённым шагом, и всё).


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
rloc
сообщение Apr 16 2015, 05:33
Сообщение #4


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Есть CIC фильтры только со сложением, можно и FIR взять 2-3 разрядный по коэффициентам, так что он фактически выродится в чистое сложение. Вижу в другой теме пытались затронуть эти вопросы.
Go to the top of the page
 
+Quote Post
rloc
сообщение Apr 16 2015, 05:33
Сообщение #5


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



..
Go to the top of the page
 
+Quote Post
Krys
сообщение Apr 16 2015, 05:53
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



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


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
rloc
сообщение Apr 16 2015, 06:20
Сообщение #7


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



В DDS другая история, там уровень составляющих ниже и размазывание идет за счет рандомизации округления. У Вас побочные составляющие - часть самого сигнала. Только если шум поднимать до уровня, сами понимаете чего, но нужно ли это? ЛЧМ можно сразу и на высокой формировать, если дело в этом.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Apr 16 2015, 06:31
Сообщение #8


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



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


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Krys
сообщение Apr 16 2015, 06:42
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Цитата(rloc @ Apr 16 2015, 13:20) *
В DDS другая история, там уровень составляющих ниже и размазывание идет за счет рандомизации округления. У Вас побочные составляющие - часть самого сигнала. Только если шум поднимать до уровня, сами понимаете чего, но нужно ли это? ЛЧМ можно сразу и на высокой формировать, если дело в этом.

Я понимаю, что история другая. Но принцип - размазывание спектра. Т.е. один горб и низкие окраины выравниваются в высокие окраины и малый горб, что даёт улучшение не по совокупной мощности ошибки, а по её максимальной палке в спектре (SFDR). Другими словами, декорреляция ошибки. Вот мне нужно тоже самое, т.е. сбить периодичность ошибки, чтобы она появлялась то тут, то там, тогда и спектр размажется, а явный пик исчезнет.
Чистый ЛЧМ - это для примера. Может быть произвольный сигнал, прогружаемый заказчиком. Храниться будет в памяти. На полной тактовой памяти потребуется много ) Там повышение частоты от 10 до 100 раз (грубо).

Цитата(Maverick @ Apr 16 2015, 13:31) *
кусочно-линейная интерполяция тоже не подходит, т.е. разбить на несколько интервалов и для каждого интервала производить интерполяцию в соответствии какой-то таблицы (функции)?
Не понял, в чём Ваш вопрос? Или это предложение?... Моя постановка задачи в первом сообщении - это и есть кусочно-линейная интерполяция. Как она может не подходить?

Цитата(Maverick @ Apr 16 2015, 13:31) *
PS rloc прав - нужны фильтры, возможно их каскадное соединение
Кто ж спорит против фильтров... Если на них нет ресурсов - то на безрыбье и линейная интерполяция подойдёт.

Вопрос только в том, как её задизерить


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
Maverick
сообщение Apr 16 2015, 06:59
Сообщение #10


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Krys @ Apr 16 2015, 09:42) *
Не понял, в чём Ваш вопрос? Или это предложение?... Моя постановка задачи в первом сообщении - это и есть кусочно-линейная интерполяция. Как она может не подходить?

это предложение sm.gif в таблице Вы можете записать любую нелинейную функцию, пропуская отсчет через ROM (таблицу) получаете нелинейную функцию, таким образом произведете подмешивание в первичный сигнал псевдослучайного шума со специально подобранным спектром.
Разбиение на интервалы позволит более правильней(если можно так сказать) интерполировать различные участки (возрастание, спад, горизонтальные области)
PS Зато нет умножителей и сумматоров, правда памяти может много потребоваться для достижения точности...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
serjj
сообщение Apr 16 2015, 07:37
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Добавление на вход интерполятора шума ничего не даст, т.к. интерполятор - это некоторый фильтр с переходными характеристиками, зависящими от типа интерполятора а не входного сигнала. Их можно легко измерить так же как и для FIR фильтра, подав импульс. Вот пример АЧХ для 4-х стандартных интерполяций, которые есть в матлабе:
Прикрепленное изображение

Если вы хотите опустить боковые лепестки в вашей системе, необходимо менять алгоритм интерполяции, следствие - рост сложности и объема вычислений. Чудес не бывает rolleyes.gif
Go to the top of the page
 
+Quote Post
Krys
сообщение Apr 16 2015, 07:39
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271



Maverick, Понял Вас. Но ресурсов тоже сожрёт кучу. И всякие детекторы спада, возрастания и горизонтальных участков - отдельная логика. Я рассчитывал каким-то образом подмешивать шум по аналогии с DDS. Там шум наверняка генерится не таблицами, а банальным LFSR.
Нужна какая-то простая идея, куда этот шум инжектировать, чтобы сорвать периодичность сигнала ошибки.


--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 16 2015, 07:40
Сообщение #13


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Если вопрос только в том, куда лепить шум - лепите во все выходные точки.
Go to the top of the page
 
+Quote Post
serjj
сообщение Apr 16 2015, 07:42
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Что вы понимаете под сигналом ошибки в данном случае? У вас интерполятор работает правильно, из картинок, которые вы выложили, видно что его АЧХ совпадает с теоретической.
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 16 2015, 07:46
Сообщение #15


Гуру
******

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



Может лучше ЛЧМ сразу на высокой частоте сгенерировать?
Go to the top of the page
 
+Quote Post

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

 


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


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