Линейная интерполяция - вносит что-нибудь?, о передискретизации |
Здравствуйте, гость ( Вход | Регистрация )
Линейная интерполяция - вносит что-нибудь?, о передискретизации |
9.9.2010, 1:57
Сообщение
#1
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Я тут призадумался, насчет как передискретизация делается в ЦАПах...
Представил себе увеличение числа отсчетов, где новые промежуточные значения между исходными отсчетами забиваются линейной интерполяцией, к примеру. То есть как бы соединяют соседние, приложив линейку от одного до соседнего. А спектр в НЧ - области, то есть звукового сигнала, при этом точно останется тот же? Или такое преобразование все же что-то вносит, что не устранится после при фильтрации? |
|
|
9.9.2010, 11:04
Сообщение
#2
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
останется. После линейной интерполяции уменьшается количество верхних гармоник за полосой сигнала , которые обычно фильтруют. Требования к аналоговому фильтру после ЦАП окажутся попроще. А в идеале интерполяция должна быть не линейная, а вычисляемяая по ряду Котельникова с использованием sin(x)/x . Тогда сигнал будет восстановлен наиболее точно. Если предположить сравнение просто фильтрации с интерполяцией + фильтрация - в первом случае явно, при хорошем фильтре, ничего не внесется. А при интерполяции - в НЧ область все же добавится, так я понял? Если не sin(x)/x , то появятся артефакты? |
|
|
Гость_MrYuran_* |
9.9.2010, 14:50
Сообщение
#3
|
Гости |
Если предположить сравнение просто фильтрации с интерполяцией + фильтрация - в первом случае явно, при хорошем фильтре, ничего не внесется. А при интерполяции - в НЧ область все же добавится, так я понял? Если не sin(x)/x , то появятся артефакты? В НЧ ничего добавиться не может. Все добавки - за пределами частоты Найквиста (Насколько я понимаю со своей 3- за ЦОС ) |
|
|
9.9.2010, 16:45
Сообщение
#4
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
Ничего не вносится. Только линейная интерполяция искажает АЧХ, поэтому и применяется более сложная- фильтры НЧ. Другое дело, что порядки цифровых ФНЧ получаются высокими, поскольку исходные частоты дискретизации- либо 44,1, либо 48 кГц. Их пополам не очень далеко отстоит от 20 кГц. Ну вот, высокий порядок ФНЧ означает множество промежуточных умножений- суммирований. Отсюда- "длинные" результаты, и потенциальные потери от округлений при промежуточных вычислениях. Как конкретные фирмы делают конкретные ЦФНЧ- тайна, покрытая мраком. Это- потенциальный источник "цифрового" звука. На чистом синусе при измерениях этого не видно. Скажем, тот же ЦФ для TDA1541 внутри имеет 40- битную шину, если мне память не изменяет. Но его делали во времена, когда Хайэнда не было, и инженеры относились к ТЗ серъезно. ЦФНЧ для сигма- дельта ещё ьолее уязвимы, поскольку, ко всему, они должеы иметь более высокую частоту передискретизации, и, соответственно, количество отводов- больше. Кстати, всякие 18-20 и 24 битные обычные ЦАП происходят именно попричине повышенной частоты передискретизации ЦФ (выше 4). Просто промежуточные значения начинают отличаться между собой на величину, меньшую кванта 16 битного.
|
|
|
9.9.2010, 16:47
Сообщение
#5
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
В НЧ ничего добавиться не может. Все добавки - за пределами частоты Найквиста (Насколько я понимаю со своей 3- за ЦОС ) Ой ли? А есть какие-то обоснования этого? |
|
|
9.9.2010, 16:50
Сообщение
#6
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
есть, как не быть
|
|
|
9.9.2010, 17:32
Сообщение
#7
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
есть, как не быть Ну, например, так: если у меня есть ИКМ - последовательность отсчетов, и я вставляю между каждыми соседними еще один отсчет, то могу заполнить (проставить значения этого доп отсчета) - какими хочу? Или только в промежутке между амплитудами соседних отсчетов? и если в промежутке - то уже тогда все равно какими? |
|
|
9.9.2010, 17:34
Сообщение
#8
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
нулями заполняется. Потому что есть, во первых, эффект ф-и sin(x)/x на АЧХ, во вторых- заполнение нулями хотябы чуть- чуть снижает длину промежуточных результатов, о которых я выше упоминал.
|
|
|
9.9.2010, 17:52
Сообщение
#9
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
нулями заполняется. Потому что есть, во первых, эффект ф-и sin(x)/x на АЧХ, во вторых- заполнение нулями хотябы чуть- чуть снижает длину промежуточных результатов, о которых я выше упоминал. Ну, я бы предложил просто размножать отсчеты..то есть заполнять предыдущими. Но ведь обычно не нулями и не предыдущими заполняют. а вычисляют что-то иное, интерполированное. Причем, по разным законам. Иногда их даже можно выбирать с пульта То есть, вероятно, получается еще одна песенка в промежутке между отсчетами (так была устроена одна хитрая система скрэмблирования с подсознательным воздействием на психику, скрытые команды.) |
|
|
9.9.2010, 17:57
Сообщение
#10
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
Цитата Ну, я бы предложил просто размножать отсчеты..то есть заполнять предыдущими. Но ведь обычно не нулями и не предыдущими заполняют. а вычисляют что-то иное, интерполированное. вот сначала заполняют нулями- а потом интерполируют цифровым фильтром НЧ высокого порядка. И появляются промежуточные отсчеты. А так как ты предлагаешь- это называется интерполяция 0- го порядка. При этом АЧХ исказится умножением на упомянутую sin(x)/x. А если линейная интерполяция- то происходит нечто подобное, но уже АЧХ сигнала умножается на огибающую спектра треугольного периодического сигнала. И придется её корректировать так или иначе. В первых СД плеерах безо всякой передискретизации фильтр НЧ был что-то 9-10 порядка. аналоговый. И плюс подъем АЧХ, корректирующий спад от sin(x)/x. |
|
|
9.9.2010, 18:05
Сообщение
#11
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
вот сначала заполняют нулями- а потом интерполируют цифровым фильтром НЧ высокого порядка. И появляются промежуточные отсчеты. Это может вы так делали, так оно корректно конечно... Хотя я и не вижу чем хуже размножить отсчеты , а после фильтровать. ну разве что математика... А наш пользователь SL_Sm (вчера по телефону говорили) , видывал варианты, когда вместо ЦФ вначале пытаются вычислить сглаживание между отсчетами, и после уже дофильтровывают. Думаешь, он ошибся в чем? А мне кажется, могли запросто, ради упрощения расчетов. PS Я как-то определял алгоритм эффекта холла (реверберации в зале, а не магнитного датчика) - так оказалось, там такие левые приемчики для экономии памяти и вычислительной мощности, что мой, тупо в лоб имитирующий отражения от стен пола и потолка - оказался по натуральности эффекта на голову выше средней ценовой категории... |
|
|
9.9.2010, 18:09
Сообщение
#12
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
Вот чем хуже- я уже ответил выше. На высоких частотах дискретизации sin(x)/x тоже влияет, но если заполнить нулями, то коэфф. заполнения прямоугольной импульсной последовательности будет меньше , и в полосе 0-20 кГц этим влиянием уже можно пренебречь. А фильрация- это и есть интерполяция.
|
|
|
9.9.2010, 18:19
Сообщение
#13
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Вот чем хуже- я уже ответил выше. На высоких частотах дискретизации sin(x)/x тоже влияет, но если заполнить нулями, то коэфф. заполнения прямоугольной импульсной последовательности будет меньше , и в полосе 0-20 кГц этим влиянием уже можно пренебречь. Ну, это я могу как-то представить. Хотя смысла еще не увидел пока что. Аналоги в аналоге по кр мере на это чихали бы, но в цифре возможно оно иначе. Я думаю, заполнять нулями делают для того, чтобы считать проще и не так быстро переполнялось... Цитата А фильрация- это и есть интерполяция. Вот кто его знает... Вроде есть иные варианты. |
|
|
9.9.2010, 18:30
Сообщение
#14
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
Если линейные- то так, или иначе, это фильтрация. Выгоднее сделать это один раз.
Вообще, интуитивно это просто: Теорема Котельникова просит на выходе перед фильтром отсчеты сигнала. Математически это значит произведение дельа- ф-и на значение сигнала в точках отсчетов. Т.е., по амплитуде это будет бесконечно- большие величины, а по интегралу- равны значениям сигнала в точках отсчетов. Это, естественно, нереализуемо никак- ни в цифре, ни в аналоге. Короткие импульсы амплитудой, равной значение сигнала в точках отсчетов, блтиже к дельта- ф-и по спектру в полосе интереса- до 20 кГц в нашем случае. Хотя общая амплитуда составляющих спектра, естественно, падает в отношении скважности. Но это в цифре легко поправляется масштабированием. В аналоге этого не делают по причине уменьшения отношения С/Ш, а делают коррекцию аЧХ. Если частота передискретизации ЦФ невелика, там тоже приходится делть коррекцию, но её сразу вводят при расчете коеффициентов ЦФ. |
|
|
9.9.2010, 18:35
Сообщение
#15
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Если линейные- то так, или иначе, это фильтрация. Выгоднее сделать это один раз. Ну вот то, что они нелинейные-то - как раз и беспокоит. То есть имеется попытка попасть в линейность и угадать ход кривой в промежутках, а что не угадали - то уже дофильтровать... И вроде бы это становится модным до чрезвычайности. На слух как хвосты на ВЧ... Цитата Вообще, интуитивно это просто: Теорема Котельникова просит на выходе перед фильтром отсчеты сигнала. Математически это значит произведение дельа- ф-и на значение сигнала в точках отсчетов. Т.е., по амплитуде это будет бесконечно- большие величины, а по интегралу- равны значениям сигнала в точках отсчетов. Это, естественно, нереализуемо никак- ни в цифре, ни в аналоге. Короткие импульсы амплитудой, равной значение сигнала в точках отсчетов, блтиже к дельта- ф-и по спектру в полосе интереса- до 20 кГц в нашем случае. Хотя общая амплитуда составляющих спектра, естественно, падает в отношении скважности. Но это в цифре легко поправляется масштабированием. В аналоге этого не делают по причине уменьшения отношения С/Ш, а делают коррекцию аЧХ. Если частота передискретизации ЦФ невелика, там тоже приходится делть коррекцию, но её сразу вводят при расчете коеффициентов ЦФ. Ну, теперь вроде дошло... |
|
|
9.9.2010, 18:44
Сообщение
#16
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
Дык и любая другая линейная гарантирует. Только коррекция АЧХ сложнее получается, и, главное, зачем её делать дополнительно, если все равно фильтровать ВЧ приходится.
|
|
|
9.9.2010, 18:54
Сообщение
#17
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
да хоть таже линейная, когда отсчеты вычисляются как точки отрезка прямой между двумя заданными. Кстати, если экспоненциальная будет или полиномиальная- это тоже будет линейная.
|
|
|
9.9.2010, 19:07
Сообщение
#18
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
тут немного не о том. Разговор был про то, что перед фильтрацией заполнить промежутки не нулями, а чем- то с виду поближе к предполагаемой кривой сигнала. А фильтр вроде Ортодокс не исключал.
|
|
|
9.9.2010, 19:11
Сообщение
#19
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
тут немного не о том. Разговор был про то, что перед фильтрацией заполнить промежутки не нулями, а чем- то с виду поближе к предполагаемой кривой сигнала. А фильтр вроде Ортодокс не исключал. Не-не...Я именно то имел в виду, о чем GuruKiller сказал: Цитата Я не оч понял, кто чего "гарантирует". Синк просто даёт 100% восстановление. А т.н. линейная искажает АЧХ. Точнее никак не восстанавливает. Разве вообще, линейная лучше простого дублирования отсчётов? Это ещё ладно, если все "линейные" спектр не искажают, а только АЧХ. То есть вот как раз присоединяюсь... Тем более, что как говорит слышащий человек - оно и слышно. |
|
|
9.9.2010, 19:17
Сообщение
#20
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
а что он сказал? что фильтрация по теореме Котельникова фильтром "кирпичная стена" с импульсной х- кой sin(x)/x, которая, вообще говоря, физически нереализуема, восстанавливает сигнал полностью? Правильно, что тут скажешь. Я же говорил, что при передискретизации выгоднее заполнять промежутки нулями, т.е. нивелировать несколько влияние АЧХ от интерполяции 0- го порядка, такой, когда промежутки заполняются предыдущими значениями. Выгоднее чисто с точки зрения реализации алгоритма. Собственно, поэтому так и делают.
|
|
|
Текстовая версия | Сейчас: 29.3.2024, 1:54 |