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

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

|
Здравствуйте. Подскажите, пожалуйста, есть ли методы дизеринга (dithering) для линейной интерполяции при повышении тактовой частоты (upsampling, digital up-converter), хочется что-то аналогичное дизерингу при генерации синуса в DDS, когда периодичность ошибки фазы вызывает группировку шума на каких-то частотах спектра, а дизеринг этот шум размазывает, улучшая SFDR. Мне надо что-то такое же. Поясню на картинках.
На этой картинке синим спектр исходного сигнала (ЛЧМ), до передискретизации. Красным - спектр после повышения тактовой и линейной интерполяции. Зелёным - спектр после повышения тактовой и фильтрации обычным КИХ-фильтром.
Эта картинка из временного домена, после повышения тактовой (увеличено вблизи конца временной выборки, когда частота ЛЧМ близка к максимальной). Синим - результат линейной интерполяции, красным - результат интерполяции через КИХ-фильтр (зелёный спектр на предыдущей картинке), а зелёным - разница между синей и красной кривыми. По первой картинке (красная кривая) видно, что присутствуют зеркальные спектры от ЛЧМ. Хочется их маленько ослабить, размазав, т.к. есть запас по частоте в половину диапазона (полоса ЛЧМ - четверть частоты дискретизации). Т.е. аналогично размазывают дизерингом составляющие от DDS. Вот я подумал, нельзя ли что-то подобное сделать для линейной интерполяции? Куда тут только шум влепить... в узловые точки интерполяции?
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
 |
Ответов
(1 - 14)
|
Apr 16 2015, 06:42
|

Гуру
     
Группа: Свой
Сообщений: 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 прав - нужны фильтры, возможно их каскадное соединение Кто ж спорит против фильтров... Если на них нет ресурсов - то на безрыбье и линейная интерполяция подойдёт. Вопрос только в том, как её задизерить
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Apr 16 2015, 06:59
|

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

|
Цитата(Krys @ Apr 16 2015, 09:42)  Не понял, в чём Ваш вопрос? Или это предложение?... Моя постановка задачи в первом сообщении - это и есть кусочно-линейная интерполяция. Как она может не подходить? это предложение  в таблице Вы можете записать любую нелинейную функцию, пропуская отсчет через ROM (таблицу) получаете нелинейную функцию, таким образом произведете подмешивание в первичный сигнал псевдослучайного шума со специально подобранным спектром. Разбиение на интервалы позволит более правильней(если можно так сказать) интерполировать различные участки (возрастание, спад, горизонтальные области) PS Зато нет умножителей и сумматоров, правда памяти может много потребоваться для достижения точности...
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|