IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Линейная интерполяция - вносит что-нибудь?, о передискретизации
orthodox
сообщение 9.9.2010, 1:57
Сообщение #1


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



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

А спектр в НЧ - области, то есть звукового сигнала, при этом точно останется тот же?
Или такое преобразование все же что-то вносит, что не устранится после при фильтрации?
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.9.2010, 11:04
Сообщение #2


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(тау @ 9.9.2010, 10:26) *
останется. После линейной интерполяции уменьшается количество верхних гармоник за полосой сигнала , которые обычно фильтруют. Требования к аналоговому фильтру после ЦАП окажутся попроще.


А в идеале интерполяция должна быть не линейная, а вычисляемяая по ряду Котельникова с использованием sin(x)/x .  Тогда сигнал будет восстановлен наиболее точно.


Если предположить сравнение просто фильтрации с интерполяцией + фильтрация - в первом случае явно, при хорошем фильтре,
ничего не внесется. А при интерполяции - в НЧ область все же добавится, так я понял? Если не sin(x)/x , то появятся артефакты?
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 9.9.2010, 14:50
Сообщение #3





Гости






Цитата(orthodox @ 9.9.2010, 13:04) *
Если предположить сравнение просто фильтрации с интерполяцией + фильтрация - в первом случае явно, при хорошем фильтре,
ничего не внесется. А при интерполяции - в НЧ область все же добавится, так я понял? Если не sin(x)/x , то появятся артефакты?

В НЧ ничего добавиться не может.
Все добавки - за пределами частоты Найквиста
(Насколько я понимаю со своей 3- за ЦОС pardon.gif )
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 16:45
Сообщение #4


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



Ничего не вносится. Только линейная интерполяция искажает АЧХ, поэтому и применяется более сложная- фильтры НЧ. Другое дело, что порядки цифровых ФНЧ получаются высокими, поскольку исходные частоты дискретизации- либо 44,1, либо 48 кГц. Их пополам не очень далеко отстоит от 20 кГц. Ну вот, высокий порядок ФНЧ означает множество промежуточных умножений- суммирований. Отсюда- "длинные" результаты, и потенциальные потери от округлений при промежуточных вычислениях. Как конкретные фирмы делают конкретные ЦФНЧ- тайна, покрытая мраком. Это- потенциальный источник "цифрового" звука. На чистом синусе при измерениях этого не видно. Скажем, тот же ЦФ для TDA1541 внутри имеет 40- битную шину, если мне память не изменяет. Но его делали во времена, когда Хайэнда не было, и инженеры относились к ТЗ серъезно. ЦФНЧ для сигма- дельта ещё ьолее уязвимы, поскольку, ко всему, они должеы иметь более высокую частоту передискретизации, и, соответственно, количество отводов- больше. Кстати, всякие 18-20 и 24 битные обычные ЦАП происходят именно попричине повышенной частоты передискретизации ЦФ (выше 4). Просто промежуточные значения начинают отличаться между собой на величину, меньшую кванта 16 битного.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.9.2010, 16:47
Сообщение #5


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(MrYuran @ 9.9.2010, 15:50) *
В НЧ ничего добавиться не может.
Все добавки - за пределами частоты Найквиста
(Насколько я понимаю со своей 3- за ЦОС pardon.gif )

Ой ли?
А есть какие-то обоснования этого?
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 16:50
Сообщение #6


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



есть, как не быть
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.9.2010, 17:32
Сообщение #7


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Designer56 @ 9.9.2010, 17:50) *
есть, как не быть

Ну, например, так: если у меня есть ИКМ - последовательность отсчетов, и я вставляю между каждыми соседними еще один
отсчет, то могу заполнить (проставить значения этого доп отсчета) - какими хочу? Или только в промежутке между амплитудами соседних отсчетов? и если в промежутке - то уже тогда все равно какими?
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 17:34
Сообщение #8


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



нулями заполняется. Потому что есть, во первых, эффект ф-и sin(x)/x на АЧХ, во вторых- заполнение нулями хотябы чуть- чуть снижает длину промежуточных результатов, о которых я выше упоминал.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.9.2010, 17:52
Сообщение #9


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Designer56 @ 9.9.2010, 18:34) *
нулями заполняется. Потому что есть, во первых, эффект ф-и sin(x)/x на АЧХ, во вторых- заполнение нулями хотябы чуть- чуть снижает длину промежуточных результатов, о которых я выше упоминал.

Ну, я бы предложил просто размножать отсчеты..то есть заполнять предыдущими.
Но ведь обычно не нулями и не предыдущими заполняют. а вычисляют что-то иное, интерполированное.
Причем, по разным законам. Иногда их даже можно выбирать с пульта smile.gif

То есть, вероятно, получается еще одна песенка в промежутке между отсчетами (так была устроена одна хитрая система скрэмблирования с подсознательным воздействием на психику, скрытые команды.)
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 17:57
Сообщение #10


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



Цитата
Ну, я бы предложил просто размножать отсчеты..то есть заполнять предыдущими.
Но ведь обычно не нулями и не предыдущими заполняют. а вычисляют что-то иное, интерполированное.

вот сначала заполняют нулями- а потом интерполируют цифровым фильтром НЧ высокого порядка. И появляются промежуточные отсчеты. А так как ты предлагаешь- это называется интерполяция 0- го порядка. При этом АЧХ исказится умножением на упомянутую sin(x)/x. А если линейная интерполяция- то происходит нечто подобное, но уже АЧХ сигнала умножается на огибающую спектра треугольного периодического сигнала. И придется её корректировать так или иначе. В первых СД плеерах безо всякой передискретизации фильтр НЧ был что-то 9-10 порядка. аналоговый. И плюс подъем АЧХ, корректирующий спад от sin(x)/x.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.9.2010, 18:05
Сообщение #11


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Designer56 @ 9.9.2010, 18:57) *
вот сначала заполняют нулями- а потом интерполируют цифровым фильтром НЧ высокого порядка. И появляются промежуточные отсчеты.

Это может вы так делали, так оно корректно конечно...
Хотя я и не вижу чем хуже размножить отсчеты , а после фильтровать. ну разве что математика...

А наш пользователь SL_Sm (вчера по телефону говорили) , видывал варианты, когда вместо ЦФ вначале пытаются вычислить сглаживание между отсчетами, и после уже дофильтровывают.
Думаешь, он ошибся в чем? А мне кажется, могли запросто, ради упрощения расчетов.

PS Я как-то определял алгоритм эффекта холла (реверберации в зале, а не магнитного датчика) - так оказалось, там такие левые приемчики для экономии памяти и вычислительной мощности, что мой, тупо в лоб имитирующий отражения от стен пола и потолка - оказался по натуральности эффекта на голову выше средней ценовой категории...
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 18:09
Сообщение #12


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



Вот чем хуже- я уже ответил выше. На высоких частотах дискретизации sin(x)/x тоже влияет, но если заполнить нулями, то коэфф. заполнения прямоугольной импульсной последовательности будет меньше , и в полосе 0-20 кГц этим влиянием уже можно пренебречь. А фильрация- это и есть интерполяция.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.9.2010, 18:19
Сообщение #13


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Designer56 @ 9.9.2010, 19:09) *
Вот чем хуже- я уже ответил выше. На высоких частотах дискретизации sin(x)/x тоже влияет, но если заполнить нулями, то коэфф. заполнения прямоугольной импульсной последовательности будет меньше , и в полосе 0-20 кГц этим влиянием уже можно пренебречь.

Ну, это я могу как-то представить.
Хотя смысла еще не увидел пока что.
Аналоги в аналоге по кр мере на это чихали бы, но в цифре возможно оно иначе.
Я думаю, заполнять нулями делают для того, чтобы считать проще и не так быстро переполнялось...



Цитата
А фильрация- это и есть интерполяция.


Вот кто его знает... Вроде есть иные варианты.
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 18:30
Сообщение #14


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



Если линейные- то так, или иначе, это фильтрация. Выгоднее сделать это один раз.
Вообще, интуитивно это просто: Теорема Котельникова просит на выходе перед фильтром отсчеты сигнала. Математически это значит произведение дельа- ф-и на значение сигнала в точках отсчетов. Т.е., по амплитуде это будет бесконечно- большие величины, а по интегралу- равны значениям сигнала в точках отсчетов. Это, естественно, нереализуемо никак- ни в цифре, ни в аналоге. Короткие импульсы амплитудой, равной значение сигнала в точках отсчетов, блтиже к дельта- ф-и по спектру в полосе интереса- до 20 кГц в нашем случае. Хотя общая амплитуда составляющих спектра, естественно, падает в отношении скважности. Но это в цифре легко поправляется масштабированием. В аналоге этого не делают по причине уменьшения отношения С/Ш, а делают коррекцию аЧХ. Если частота передискретизации ЦФ невелика, там тоже приходится делть коррекцию, но её сразу вводят при расчете коеффициентов ЦФ.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.9.2010, 18:35
Сообщение #15


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Designer56 @ 9.9.2010, 19:30) *
Если линейные- то так, или иначе, это фильтрация. Выгоднее сделать это один раз.

Ну вот то, что они нелинейные-то - как раз и беспокоит.
То есть имеется попытка попасть в линейность и угадать ход кривой в промежутках, а что не угадали - то уже дофильтровать...
И вроде бы это становится модным до чрезвычайности.
На слух как хвосты на ВЧ...


Цитата
Вообще, интуитивно это просто: Теорема Котельникова просит на выходе перед фильтром отсчеты сигнала. Математически это значит произведение дельа- ф-и на значение сигнала в точках отсчетов. Т.е., по амплитуде это будет бесконечно- большие величины, а по интегралу- равны значениям сигнала в точках отсчетов. Это, естественно, нереализуемо никак- ни в цифре, ни в аналоге. Короткие импульсы амплитудой, равной значение сигнала в точках отсчетов, блтиже к дельта- ф-и по спектру в полосе интереса- до 20 кГц в нашем случае. Хотя общая амплитуда составляющих спектра, естественно, падает в отношении скважности. Но это в цифре легко поправляется масштабированием. В аналоге этого не делают по причине уменьшения отношения С/Ш, а делают коррекцию аЧХ. Если частота передискретизации ЦФ невелика, там тоже приходится делть коррекцию, но её сразу вводят при расчете коеффициентов ЦФ.

Ну, теперь вроде дошло...
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 18:44
Сообщение #16


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



Дык и любая другая линейная гарантирует. Только коррекция АЧХ сложнее получается, и, главное, зачем её делать дополнительно, если все равно фильтровать ВЧ приходится.
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 18:54
Сообщение #17


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



да хоть таже линейная, когда отсчеты вычисляются как точки отрезка прямой между двумя заданными. Кстати, если экспоненциальная будет или полиномиальная- это тоже будет линейная.
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 19:07
Сообщение #18


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



тут немного не о том. Разговор был про то, что перед фильтрацией заполнить промежутки не нулями, а чем- то с виду поближе к предполагаемой кривой сигнала. А фильтр вроде Ортодокс не исключал.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 9.9.2010, 19:11
Сообщение #19


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Designer56 @ 9.9.2010, 20:07) *
тут немного не о том. Разговор был про то, что перед фильтрацией заполнить промежутки не нулями, а чем- то с виду поближе к предполагаемой кривой сигнала. А фильтр вроде Ортодокс не исключал.

Не-не...Я именно то имел в виду, о чем GuruKiller сказал:
Цитата
Я не оч понял, кто чего "гарантирует". Синк просто даёт 100% восстановление. А т.н. линейная искажает АЧХ. Точнее никак не восстанавливает. Разве вообще, линейная лучше простого дублирования отсчётов?
Это ещё ладно, если все "линейные" спектр не искажают, а только АЧХ.


То есть вот как раз присоединяюсь...
Тем более, что как говорит слышащий человек - оно и слышно.
Перейти в начало страницы
 
+Цитировать сообщение
Designer56
сообщение 9.9.2010, 19:17
Сообщение #20


Активный участник
***

Группа: Пользователи
Сообщений: 7045
Регистрация: 22.11.2009
Из: Уфа
Пользователь №: 18



а что он сказал? что фильтрация по теореме Котельникова фильтром "кирпичная стена" с импульсной х- кой sin(x)/x, которая, вообще говоря, физически нереализуема, восстанавливает сигнал полностью? Правильно, что тут скажешь. Я же говорил, что при передискретизации выгоднее заполнять промежутки нулями, т.е. нивелировать несколько влияние АЧХ от интерполяции 0- го порядка, такой, когда промежутки заполняются предыдущими значениями. Выгоднее чисто с точки зрения реализации алгоритма. Собственно, поэтому так и делают.
Перейти в начало страницы
 
+Цитировать сообщение

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 12:23