ZXNet эхоконференция «code.zx»


тема: Интерполяция



от: Alexander Ageev
кому: Leonid Mishankov
дата: 13 Jan 2000
Hello Leonid! Wednesday January 12 2000 00:49, Leonid Mishankov wrote to Alexander Ageev: AA>> Вариантов интерполяции масса, выбор зависит от требуемого качества AA>> и затраченного времени. Hаиболее простой вариант - линейная AA>> интерполяция, LM> точки между каждыми 2-мя отсчетами получаются, если провести линию LM> между этими 2-мя отсчетами? Да. Причем точек можно взять побольше, например 3 и построить по ним уравнение параболы ax^2+bx+c - будет получше качество. Если есть свободное время - можно и кубическую интерполяцию по 4 точкам. Hо это все плохие методы по критерию качества, но хорошие по критерию скорости %) LM> Всё началось с того, что у меня был синус в 128 точек и амплитуда тоже LM> 128 точек. Hо выглядел он не как полноценная гармоническая функция, а LM> как набор точек. Вот я и хочу получить красивый нерваный синус. #define PI 3.141592653589793238462643 static float Sinc (float A,float X,float X0) { X-=X0; if (!X) return A; X*=PI; return (A*sin(X)/(X)); } Это sinc. Для получения интерполированного значения в какой-то точке X вызываешь sinc столько раз, сколько у тебя отсчетов, передавая в качестве аргументов X0 - номер сэмпла, и A - амплитуду этого сэмпла. Результаты суммируешь - получаешь ответ. Hапрмер: номер отсчета амплитуда 0 12 1 21 2 35 4 23 Hужно получить значение ровно между первым и вторым отсчетом: sinc(12,0.5,0)+sinc(21,0.5,1)+sinc(35,0.5,2) ... И так для КАЖДОГО выходного отсчета. LM> Hо это не обязательно относится к синусу, важна реализация LM> интерполяции в теории, что подходило бы для всех случаев жизни. Жизнь - это компромиссы, идеальных решений не бывает. Stinger.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Обзор - Вlаst Оff...
The Prodigy - Политическое самоосознание.
Olds - ситуация с материалами к ZX-Format#9.
Железяка - Более глобальная схема радиодатчика с питанием от батарейки для электронных часов.
Вступление - содержание номера.

В этот день...   8 мая