Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ищу метод интерполяции ...
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
KolyanV
Пробую сейчас делать прораммный эквалайзер звукого сигнала. В тестовом примере фильтрацию частот буду призводить методом изменения коэфициентов прямого преобразования Фурье. Эквалайзер будет 10 полосным. Вот передо мной и встала задача проинтерполлировать значения огибающей АЧХ на основе значений регуляторов полос эквалайзера. Требования к методу интерполяции следующие:
1. Непрерывность первой и второй производной кривой интерполяции
2. Критерий "не выхождения" кривой на отрезке [Xi-1; Xi] за пределы значений [Y-1; Yi]

Бъюсь над поблемой 3-й день. Пробовал использовать кубические сплайны. Такой метод удовлетворяет по 1-му условию, но не проходит по 2-му. Пробовал интерполировать "кусочно-полиномально" полиномами 2-й и 3-й степени, к-ты которых вычеслены на основе соседних опорных точек (заданых точек). В таком случае кривая соответствует 2-му критерию, но не имеет непрерывной 2-й производной.
Какой метод посоветуете ? Пните в правильном направлении unsure.gif , плииз.
Krys
А как же метод наименьших квадратов?
NickNich
В ограничениях на используемый метод не указан способ сшивки отдельных спектральных блоков. Если такой проблемы не стоит (например - интерполяция используется для отрисовки огибающей спектра по текушим положениям регуляторов), и частотная сетка равномерна (т.е. частоты регуляторов сдвинуты на одинаковый шаг), то всем условиям удовлетворяют кубические B-сплайны. Есть варианты для неравномерной сетки отсчётов, но про них ничего сказать не могу - не использовал.

Не путать с обычными кубическими сплайнами - это немного другое.
KolyanV
Цитата(Krys @ Mar 20 2006, 05:45) *
А как же метод наименьших квадратов?

Не уверен наверняка, но исходя из его мат. представления, он не удовлетворяет 2-му условию. Т.е возможны такие ситуации, когда, например на интервалe (a, b ) точка с (с принадлежит (a, b )),
S( c ) > S( a ) и S( c ) > S( b ), где S- кривая интерполяции.
KolyanV
Цитата(NickNich @ Mar 20 2006, 08:23) *
В ограничениях на используемый метод не указан способ сшивки отдельных спектральных блоков.

Я несколько не понял, что Вы имеете ввиду под сшивкой спектральных блоков. Если Вы про восстановление сигнала обратным преобразованием Фурье из обработанных коэфициентов, то в этом особой проблемы нет, если использовать достаточно большой размер окна и перекрытия. Хотя на низких частотах появляются паразитные гармоники, если задаваемое АЧХ в этой области частот имеет резкие фронты.

Цитата(NickNich @ Mar 20 2006, 08:23) *
Если такой проблемы не стоит (например - интерполяция используется для отрисовки огибающей спектра по текушим положениям регуляторов), и частотная сетка равномерна (т.е. частоты регуляторов сдвинуты на одинаковый шаг), то всем условиям удовлетворяют кубические B-сплайны.

Частотная сетка логарифмически равномерна. Ну, например, 40 Гц, 80, 160, 320, 640 и т.д
За наводку спасибо! Буду копать
Andrew10
Добрый день!

Что-то кажется мне, что при произвольном выборе точек интерполяции условия 1) и 2) несовместны. Либо нужно вводить ограничение на класс интерполируемых функций. Пример: Если функция имеет локальный экстремум, то в общем случае его положение не обязательно совпадет с точкой интерполяции. И условие 2) будет нарушено.
KolyanV
Цитата(Andrew10 @ Mar 20 2006, 10:50) *
Добрый день!

Что-то кажется мне, что при произвольном выборе точек интерполяции условия 1) и 2) несовместны. Либо нужно вводить ограничение на класс интерполируемых функций. Пример: Если функция имеет локальный экстремум, то в общем случае его положение не обязательно совпадет с точкой интерполяции. И условие 2) будет нарушено.


Если взять всем известный WinAmp и поиграться с его встроенным эквалайзером, можно проследить, что огибающая АЧХ формируемая там соответствует обоим критериям.
Krys
Цитата(KolyanV @ Mar 20 2006, 13:18) *
Не уверен наверняка, но исходя из его мат. представления, он не удовлетворяет 2-му условию. Т.е возможны такие ситуации, когда, например на интервалe (a, b ) точка с (с принадлежит (a, b )), S( c ) > S( a ) и S( c ) > S( b ), где S- кривая интерполяции.
И всё же не стоит отбрасывать этот метод. Это лишь общая "канва", определяющая критерий оптимизации (по наименьшим квадратам ошибок). А внутри может быть что угодно (любые кривые), в частности, и то, что удовлетворяет вашим условиям. Метод позволяет просто подобрать коэффициенты. Кроме того, метод можно и видоизменить как критерий, так, чтобы ошибка "в минус" была неоптимальна. Это определяется формулой подсчёта ошибки. Например, брать не квадрат ошибки, а какую-то ещё формулу от ошибки.

Это, конечно, я всё сумбурно говорю, глубоко не вникал.
TED17
Есть метод динамического сдвигаемого окна( с уреднителем в окне). При логарифмической шкале,
можно подобрать оптимальный размер окна для выполнения обоих условий.
Конечно, при достаточном количестве точек разложения.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.