Линейная интерполяция - вносит что-нибудь?, о передискретизации |
Здравствуйте, гость ( Вход | Регистрация )
Линейная интерполяция - вносит что-нибудь?, о передискретизации |
9.9.2010, 19:41
Сообщение
#21
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Собственно, поэтому так и делают. Я не спорил, что вы описали корректное решение. Но есть сомнения насчет выгодности. не более ли выгодно попробовать угадать заранее полученную кривую, исходя из среднеарифметического с какими-то еще там простыми перевычислениями, забить промежуточные отсчеты близкой к "результату" предсказательной херней, и уж после дофильтровать чуток. Суть в была в подозрении, что не так ли и делается в серийных CD -плеерах, например.... |
|
|
9.9.2010, 19:48
Сообщение
#22
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
Цитата не более ли выгодно попробовать угадать заранее полученную кривую, вот фильтр её сразу и угадывает... Я понимаю, это сразу вызывает протест- взять и повыломать зубья у расчески. Но, тем не менее- если предполагается передискретизация с целью упрощения аналогового фильтра ( а другой цели у этой операции нет и не может быть), то заполнение нулями- оптимально. Кстати, вот всякие ДВД- аудио с дискретизацией до 192 квб/сек этот вопрос в лоб решают. Можно вообще безо всего все делать, в примитивным аналоговым фильтром, если последующая аппаратура выдерживает весь лишний шум на ВЧ, и не генерирует продукиов интермодуляции. |
|
|
10.9.2010, 9:31
Сообщение
#23
|
|
ЕРЖ-антисемит Группа: Пользователи Сообщений: 1900 Регистрация: 24.11.2009 Из: Великий Новгород Пользователь №: 23 |
А вот ещё другая хреня есть. Upsampling называется http://www.n-audio.com/articles/upsampling.htm
|
|
|
10.9.2010, 12:39
Сообщение
#24
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
А вот ещё другая хреня есть. Upsampling называется http://www.n-audio.com/articles/upsampling.htm Это наоборот, как раз оно и есть. Но хорошая статья, кое-что становится более понятным. остается один только один вопрос - фильтры эти рекурсивные или нет, кто знает? |
|
|
10.9.2010, 14:00
Сообщение
#25
|
|
начинающий нейрохирург-любитель и очень добрый таксидермист Группа: Пользователи Сообщений: 2578 Регистрация: 21.11.2009 Из: РФ, Земля Пользователь №: 14 |
Я когда-то давно занимался интерполяцией по нескольким отсчетам. До четырех исходных точек еще вполне простые алгебраические формулы получаются. И получаемая аналитическая функция вида у=к1*х3 + к2*х2 + к3*х + к4 позволяет восстановить ЛЮБОЕ количество точек внутри функции из четырех физических отсчетов с "сумасшедшей точностью"(с) для аудио. Любой микроконтроллер осилит такие простые расчеты. Если нужно, могу отсканерить свои старенькие записки с выведенными формулками.
Ну, и, конечно, набор точек смещать для каждого нового отсчета на один при новой интерполяции. Или работать сразу с множеством отсчетов. Т.е. интерполяцию целесообразно проводить не по двум отсчетам, а по нескольким соседним. Без итерационных процессов, а тупой арифметикой. Сразу получая кучу (нужное количество) внутренних точек. |
|
|
10.9.2010, 14:00
Сообщение
#26
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
Цитата остается один только один вопрос - фильтры эти рекурсивные или нет, кто знает? Исключительно нерекурсивные. Рекурсивные таких вещей не позволяют |
|
|
10.9.2010, 18:35
Сообщение
#27
|
|
начинающий нейрохирург-любитель и очень добрый таксидермист Группа: Пользователи Сообщений: 2578 Регистрация: 21.11.2009 Из: РФ, Земля Пользователь №: 14 |
Нужно! Не звука для, а приводов ради. Если пригодится, - буду только рад. Интерполяция.doc ( 33 килобайт ) Кол-во скачиваний: 51 |
|
|
10.9.2010, 19:17
Сообщение
#28
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
И мне так же кажется
|
|
|
10.9.2010, 19:37
Сообщение
#29
|
|
ДИКТАТОР Группа: Мод Сообщений: 23809 Регистрация: 20.11.2009 Из: Житомир Пользователь №: 3 |
Исключительно нерекурсивные. Рекурсивные таких вещей не позволяют Каких вещей? Мне казалось, что у нерекурсивных с КИХ - как раз проблемы получить хорошее подавление и проблемы с получить ЧХ с резким обрывом. Другое дело, что рекурсивные звук обгадят, но сейчас как раз и интересно, что ж его гадит в промышленных устройствах-то... Ну и что я увидел? Мне показалось, что математики тут меньше, чем было бы в ЦФ высокого порядка, если они нерекурсивные на самом деле - то порядок был бы высоким, да? И это кажется не фильтр, да? Отсюда опять же вопрос знатокам - не могли ли производители такой методой соблазниться, чтобы уменьшить общее число расчетов и облегчить работу фильтров? |
|
|
10.9.2010, 20:23
Сообщение
#30
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
да и там и там проблемы одинаковы- в конечном итоге определяются точностью коэффициентов, или их размерностью, по другому.
Цитата Каких вещей? передискретизацию и децимацию Другое дело, что рекурсивные звук обгадят, но сейчас как раз и интересно, что ж его гадит в промышленных устройствах-то... с чего они должны обгадить звук особенно? если правильно все сделано, то ничего не гадят |
|
|
11.9.2010, 0:01
Сообщение
#31
|
|
начинающий нейрохирург-любитель и очень добрый таксидермист Группа: Пользователи Сообщений: 2578 Регистрация: 21.11.2009 Из: РФ, Земля Пользователь №: 14 |
8-битник может ниасилить (в рилтайме). Порвёт себе чего-нить в процессе Да ладно, не так уж и страшно.Для 4-ёх точех математика нехилая. Может оказаться, что синк по +-5 точкам будет проще. Хотя кол-во точек может быть и большим. По 10 точкам в расчётах всего 10 умножений и 10 сложений. А здесь по 4 точкам туева хуча и умножений и сложений (и ещё делений ?). К тому же, отвечая и Ортодоксу, - это ж аналитическая функция, которая точно проходит через полученные точки. И прелесть её как раз в точности. Плюс, можно посчитать, например, хоть 1000 промежуточных точек, облегчив последующую фильтрацию. Эти точки-то потом считаются очень быстро, когда коэффициенты определены. |
|
|
11.9.2010, 8:23
Сообщение
#32
|
|
Активный участник Группа: Пользователи Сообщений: 7045 Регистрация: 22.11.2009 Из: Уфа Пользователь №: 18 |
я вот как- то издевался над системой. Пропустил сигнал в филипсовском плеере на TDA 1541 мимо интерполирующего ЦФ прямо на ЦАП без всякой передискретизации, а с него выход уже фильтровался АФ 3- го порядка. И ничего не услышал. Да и не должен был, или нужно было очень долго тестировать разные программы. Сам по себе ВЧ мусор на слух не мешает. Другое дело, что он может порождать продукты интермодуляции в последующих усилителях, да и ГГ тоже. И в усилителе активного фильтра в т.ч.
|
|
|
11.9.2010, 8:52
Сообщение
#33
|
|
начинающий нейрохирург-любитель и очень добрый таксидермист Группа: Пользователи Сообщений: 2578 Регистрация: 21.11.2009 Из: РФ, Земля Пользователь №: 14 |
С одной стороны, "тупая" линейная интерполяция тоже точно проходит через точки. В идеале функция должна быть не "аналитическая", а "гармоническая" чтобы в ней не было посторонних гармоник. Например синк - это настоящая гармоническая функция. Наверное только при устремлении степени полиномов в бесконечность они будут приближаться к гармонической функции. На практике же критерий - лишь бы на слух не было слышно. Ну и второй (или первый) критерий - кол-во расчётов. Всё таки у полиномов многовато. Вот интересно, если взять несколько сэмплов и сравнить алгоритмы двойного upsampling-а полиномом на 4 точки и с таким же по затратам свёртке синком (ессно на большее число точек), какой из них даст лучшее качество. Ну да, вопрос практики первичен, как завещал ильичЪ.Могу лишь добавить, что существует простой упрощающий приемчик для вычислений: так как отсчеты по х, как правило, стабильны по времени, можно делать рассчеты коэффициентов, используя подстановку, например, такую x1=0 x2=4 x3=8 x4=12. Это сильно упростит формулы и реализацию в МК. Найдя коэффициенты, находим значения Y при х=1,2,3,5,6,7,9,10,11. Потом обратно подменяем х на конкретные времена, например, х1=2025мкс, х2=2030мкс и т.д. Не берусь судить что проще, Фурье или степенные полиномы. Это вопрос к практикам. Мне не пришлось сравнивать. А "тупая" линейная интерполяция как раз содержит бесконечное количество гармоник, ибо есть точки изломов и прямые. Ну, в известном смысле, в любой функции бесконечное кол-во гармоник, если это не синус-косинус. Вопрос в их величине. НО, совсем не факт, что на входе - гармоническая функция! Кто сказал, что после пилы или дисторшн-эффекта мало гармоник? Вот, проделал подобное упрощение. Если нигде не налажал. Что может быть проще-то?!!! ПС. Если что - всё нужно проверять тщательнее, делалось очень быстро. Могут вкрасться неточности. ПС2. Если всё делать правильно, со сдвигом выборки и интерполяцией с одной новой точкой, то итоговая функция всегда будет предельно "гладкой", без изломов. То есть, минимизация гармоник высших порядков будет автоматическая. То есть, это и фильтр отчасти, конечно. Честный фильтр.
Причина редактирования: заглючило чего-то с файлами
Прикрепленные файлы
Интерполяция2.doc ( 37,5 килобайт )
Кол-во скачиваний: 24
Интерполяция2.doc ( 38 килобайт ) Кол-во скачиваний: 19 |
|
|
22.9.2010, 15:33
Сообщение
#34
|
|
начинающий нейрохирург-любитель и очень добрый таксидермист Группа: Пользователи Сообщений: 2578 Регистрация: 21.11.2009 Из: РФ, Земля Пользователь №: 14 |
Спасибо за работу для "души".
1. А не кажется ли Вам, что в третьем случае присутствует не "облегчение жизни" фильтра, а явная "отсебятина" процесса интерполяции? Ведь вводные данные (рис.1) как раз не предполагают никаких более высокочастотных переходов в этом месте. И интерполяция (рис.3) выглядит убедительнее, чем на рис.2 только потому, что Вы изначально задали синусы, и "восстанавливали" сигнал ими же. В реальном аудио-сигнале это совсем не обязательно так. Вот если Вы зададите не сумму синусов, а, например, сумму "пил", то ситуация изменится на полную противоположность. Полиномы сумеют "опознать" линейную функцию, а синки дадут "нервную дрожь" (суть, призвуки). 2. Цитата Очень остренький излом линейной интерполяции - всего лишь результат влияния наличия очень высоких гармоник. У полиномиального излом сглажен , эти ВЧ гармоники поменьше будут, но те , которые ближе к границе полезного спектра имеют все шансы быть плохо отфильтрованы аналоговым фильтром. У линейной интерполяции и низкие гармоники будут гораздо больше, и, естественно, более высокие. Чем у полиноминальной, и у фурье.3. А Вы не видели этих самих формул Фэрроу? Там то же, что и я навыводил? Просто любопытно. А то уже забыл всё. |
|
|
22.9.2010, 15:50
Сообщение
#35
|
|
начинающий нейрохирург-любитель и очень добрый таксидермист Группа: Пользователи Сообщений: 2578 Регистрация: 21.11.2009 Из: РФ, Земля Пользователь №: 14 |
ИМХО тут всё по чесноку. Можно взять любой аудио сигнал, намеренно обрезанный почти впритык к верхней частоте в сигнале и синк восстановит его как был. Как работает фурье понятно. И "выезжает" он в данном случае только за счет большего числа анализируемых отсчетов. Если взять полином того же порядка, то он сможет отобразить ничуть не хуже синка. Вот обсчитывать его, действительно, будет туговато.Я когда-то тоже понять не мог приколы, когда на картинке (дискретном сигнале) совсем не то, что в реале. И совсем уже полный прикол в том, что можно восстанавливать то, что якобы было потеряно/обрезано. Я вот в свое время на вывод полинома четвертой степени уже не отважился, слишком развесистые выкладки с матрицей. Но, возможно, что в эту степь просто никто особо не бегал, и там есть возможности какой-то оптимизации и упрощения процесса (например, параллельные матричные вычисления). А господин Фурье всё, что нужно, своевременно сказал. |
|
|
22.9.2010, 18:02
Сообщение
#36
|
||
начинающий нейрохирург-любитель и очень добрый таксидермист Группа: Пользователи Сообщений: 2578 Регистрация: 21.11.2009 Из: РФ, Земля Пользователь №: 14 |
Кстати, не объясните мне, как работает в данном конкретном примере синк? Ну, если на "пальцах", то проводится, по сути, аналогичное определение коэффициентов. Только для другого ряда (Фурье). Членами этого ряда являются синусы с пропорциональными частотами и сдвигами фазы. Так, для данного случая, в интервале нас заинтересовавшем, коэффициент при соответствующем синусе определился исходя из 20 анализируемых точек.http://www.radioradar.net/articles/technic...oscope_int.html А вот получить таким образом прямую весьма проблематично. Ибо число членов ряда конечно, а для такой задачи требуется бесконечное. Моё имхо - синк по тем же 4 точкам будет лучше работать. И гоораздо быстрее. Это вряд ли, что лучше. Быстрее - возможно. Но, а если заняться оптимизацией расчетов для степенных полиномов?
|
|
|
||
22.9.2010, 20:57
Сообщение
#37
|
|
начинающий нейрохирург-любитель и очень добрый таксидермист Группа: Пользователи Сообщений: 2578 Регистрация: 21.11.2009 Из: РФ, Земля Пользователь №: 14 |
дык я их в программу вводил, вот по этой методе . Формулы для коэффициентов полинома третьей степени получаются проще чем у Вас - всего 3 умножения для 4 коэффициентов полинома. Спасибо. Это круто. Поизучаю на досуге. А ведь кто-то роет потихоньку эту тему!
|
|
|
Текстовая версия | Сейчас: 19.4.2024, 4:43 |