Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сдвиг сигнала на небольшое время (меньше интервала дискретизации).
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Страницы: 1, 2
AlexOr
Как осуществить сдвиг сигнала во временной области на небольшое время с наименьшими потерями по точности? Речь о временном ряде ограниченном по длине таким образом, что количество отсчетов кратно 2 в целой степени.

Время дискретизации - Td;
Требуемый сдвиг - Tsh;
Число отсчетов - N;

Есть идея для сдвига на произвольное время Tsh:
1. сделать дискретное преобразование Фурье
2. перевести полученные комплексные коэффициенты в показательную форму
3. изменить показатель(фазу) каждого коэффициента на соответствующий угол.
4. сделать обратное дискретное преобразование Фурье

Показатель(фазу) менять на величину k * 2 * PI * Tsh/ (Td * N), где k – номер коэффициента ДПФ. Таким образом показатель нулевого коэффициента не меняется, а первый и остальные меняются. Собственно тут производится сдвиг на одинаковое время всех спектральных составляющих сигнала.

Насколько правильна или неправильна такая идея?
Может быть есть другие варианты?
fontp
Цитата(AlexOr @ Nov 20 2008, 15:44) *
Как осуществить сдвиг сигнала во временной области на небольшое время с наименьшими потерями по точности? Речь о временном ряде ограниченном по длине таким образом, что количество отсчетов кратно 2 в целой степени.

Время дискретизации - Td;
Требуемый сдвиг - Tsh;
Число отсчетов - N;

Есть идея для сдвига на произвольное время Tsh:
1. сделать дискретное преобразование Фурье
2. перевести полученные комплексные коэффициенты в показательную форму
3. изменить показатель(фазу) каждого коэффициента на соответствующий угол.
4. сделать обратное дискретное преобразование Фурье

Показатель(фазу) менять на величину k * 2 * PI * Tsh/ (Td * N), где k – номер коэффициента ДПФ. Таким образом показатель нулевого коэффициента не меняется, а первый и остальные меняются. Собственно тут производится сдвиг на одинаковое время всех спектральных составляющих сигнала.

Насколько правильна или неправильна такая идея?
Может быть есть другие варианты?


Оно может и правильно, только сдвиг наверно получется циклическим ))

Обычно делают не так:

1. Если нужно сдвигать на фиксированую дельту лучшие результаты получаются если применить полиморфную фильтрацию. Вставляют нули между реальными отсчетами и фильтруют хорошим НЧ фильтром - получается интерполяция на более мелкую сетку. Потом обратно прорежают под другой фазой (или даже частотой)

2. Если нужно двигать на произвольную дельту используют сплайн интерполяцию чаще кубическую.
В-сплайны
AlexOr
Цитата(fontp @ Nov 20 2008, 23:33) *
Оно может и правильно, только сдвиг наверно получется циклическим ))


Циклически даже хорошо. Главное чтоб это было правильно в принципе...
alex_os
Цитата(AlexOr @ Nov 20 2008, 16:44) *
Циклически даже хорошо. Главное чтоб это было правильно в принципе...

А попробовать? Мне кажется какая-то засада есть в этой технологии, кроме циклического сдвига.
AlexOr
Уже...
Все работает на ура.

C#

Код
using System;
using System.Collections.Generic;
using System.Text;
using AP;

namespace _27corrector
{
    class Misc
    {

        //Сдвиг сигнала на произвольную величину
        //x - сигнал
        //offs - сдвиг выраженный в отсчетах
        public static double[] ShiftSignal(double[] x, double offs)
        {
            int N = x.Length;
            Complex[] s = new Complex[N];
            for (int n = 0; n < N; n++) s[n].real = x[n];
            s = Misc.DFT(s);
            //
            int j = N - 1;
            for (int k = 1; k < N / 2 + 1; k++)
            {
                double fi = System.Math.Atan2(s[k].image, s[k].real);
                double mod = AP.Math.AbsComplex(s[k]);
                fi += k * offs * 2 * System.Math.PI / N;
                s[k].real = mod * System.Math.Cos(fi);
                s[k].image = mod * System.Math.Sin(fi);
                //
                if (j != 0)
                {
                    s[j].real = s[k].real;
                    s[j].image = -s[k].image;
                }
                j--;
            }
            s = Misc.IDFT(s);
            double[] result = new double[N];
            for (int n = 0; n < N; n++) result[n] = s[n].real;
            return result;
        }

        //Прямое преобразование Фурье
        public static Complex[] DFT(Complex[] x)
        {
            int N = x.Length;
            Complex[] X = new Complex[N];
            for (int k = 0; k < N; k++)
            {
                for (int n = 0; n < N; n++)
                {
                    double fi = -2 * System.Math.PI * k * n / N;
                    Complex e = new Complex(System.Math.Cos(fi), System.Math.Sin(fi));
                    X[k] += x[n] * e;
                }
            }
            return X;
        }

        //Обратное преобразование Фурье
        public static Complex[] IDFT(Complex[] X)
        {
            int N = X.Length;
            Complex[] x = new Complex[N];
            for (int n = 0; n < N; n++)
            {
                for (int k = 0; k < N; k++)
                {
                    double fi = 2 * System.Math.PI * k * n / N;
                    Complex e = new Complex(System.Math.Cos(fi), System.Math.Sin(fi));
                    x[n] += X[k] * e;
                }
                x[n] /= N;
            }
            return x;
        }
    }
}
vadkudr
А Fractional Delay Filters не пробовали?
Fat Robot
http://www.acoustics.hut.fi/~vpv/publicati...icassp00-fd.pdf

ну и в окрестностях посмотрите.

В приведенной статье методы перечислены в 2.1 и 2.2.

Успехов.
ivan219
AlexOr

А в исходниках на Delphi есть???
GetSmart
Применение для сдвига прямого и обратного FFT вероятно будет самым медленным из возможных алгоритмов. Хотя при желании можно придумать ещё более медленный smile.gif
ИМХО из самых скорострельных и достаточно точных алгоритмов для сдвига сигнала на любую дельту между отсчётами будет (почти как и предлагал fontp) пересчёт новых отсчётов сигнала по sinx/x. Для хорошей точности нового отсчёта достаточно посчитать свёртку в окресности 10..100 отсчётов. Желательно на нечётное кол-во, симметричное слева и справа. Итого будет N*K (K=10..100, а N=кол-во отсчётов) умножений и сложений. SinX/X для оптимизации быстродействия можно посчитать один раз для нужного сдвига и занести в таблицу.
Stanislav
Цитата(fontp @ Nov 20 2008, 16:33) *
Оно может и правильно, только сдвиг наверно получется циклическим ))
И что из того?
Читайте условие внимательнее. Речь идёт о небольших сдвигах.
По моему скромному недомыслию, в пределах +/- 0,5 временнОй дискреты. smile.gif Больше не имеет смысла.
Впрочем, произвольная величина сдвига принципиального значения также не имеет.

Цитата(fontp @ Nov 20 2008, 16:33) *
1. Если нужно сдвигать на фиксированую дельту лучшие результаты получаются если применить полиморфную фильтрацию. Вставляют нули между реальными отсчетами и фильтруют хорошим НЧ фильтром - получается интерполяция на более мелкую сетку. Потом обратно прорежают под другой фазой (или даже частотой)
Если точность большая не нужна, это в некоторых случаях может оказаться и быстрее FFT, но если нужна - увы...

Цитата(fontp @ Nov 20 2008, 16:33) *
...2. Если нужно двигать на произвольную дельту используют сплайн интерполяцию чаще кубическую.
В-сплайны
Не понимаю всё же кардинальных преимуществ. sad.gif
Экстраполяцию или интерполяцию краевых участков после FFT-IFFT можно сделать аналогичным образом. Но это займёт гораздо меньше времени, чем полная сплайн-интерполяция, равно как и полиморфная фильтрация всего куска, если нужна мало-мальски приличная точность.
Могу продемонстрировать, как примерно надо делать подобные вещи. wink.gif

Цитата(GetSmart @ Nov 25 2008, 00:46) *
Применение для сдвига прямого и обратного FFT вероятно будет самым медленным из возможных алгоритмов.
Ох, Горе-Горькое...
Сдвиг через БПФ-ОБПФ - это самый быстрый и точный вариант алгоритма сдвига на произвольное время из всех возможных, скажем, для комплексных и полосовых сигналов.
В том числе, и способов, предложенных ув. fontp. Когда ж Вы за ум возьмётесь, наконец, и перестанете писать о вещах, далёких от Вашего понимания?..

Цитата(GetSmart @ Nov 25 2008, 00:46) *
...ИМХО из самых скорострельных и достаточно точных алгоритмов для сдвига сигнала на любую дельту между отсчётами будет (почти как и предлагал fontp) пересчёт новых отсчётов сигнала по sinx/x. Для хорошей точности нового отсчёта достаточно посчитать свёртку в окресности 10..100 отсчётов. Желательно на нечётное кол-во, симметричное слева и справа. Итого будет N*K (K=10..100, а N=кол-во отсчётов) умножений и сложений. SinX/X для оптимизации быстродействия можно посчитать один раз для нужного сдвига и занести в таблицу.
Америка открыта. biggrin.gif
petrov
Цитата(Stanislav @ Nov 25 2008, 01:29) *
Сдвиг через БПФ-ОБПФ - это самый быстрый и точный вариант алгоритма сдвига на произвольное время из всех возможных, скажем, для комплексных и полосовых сигналов.
В том числе, и способов, предложенных ув. fontp.


Слишком категорично, а если нужно каждый отсчёт на произвольное время сдвигать, в модемах как раз и используется обычно полифазная фильтрация совместно с интерполятором лагранжа.
Stanislav
Цитата(petrov @ Nov 25 2008, 11:58) *
Слишком категорично, а если нужно каждый отсчёт на произвольное время сдвигать, в модемах как раз и используется обычно полифазная фильтрация совместно с интерполятором лагранжа.
Ну, в условии же написано:
Цитата(AlexOr @ Nov 20 2008, 15:44) *
Как осуществить сдвиг сигнала во временной области на небольшое время с наименьшими потерями по точности?..

А как можно сдвинуть сигнал на произвольное время с наименьшими потерями по точности, я и не знаю, честно говоря...

Надо определиться, что вообще подразумевать под произвольным временнЫм сдвигом... Добавление/пропуск выборок допустимы, или сигнал всё же должен оставаться непрерывным?
fontp
Цитата(GetSmart @ Nov 25 2008, 00:46) *
Применение для сдвига прямого и обратного FFT вероятно будет самым медленным из возможных алгоритмов. Хотя при желании можно придумать ещё более медленный smile.gif
ИМХО из самых скорострельных и достаточно точных алгоритмов для сдвига сигнала на любую дельту между отсчётами будет (почти как и предлагал fontp) пересчёт новых отсчётов сигнала по sinx/x. Для хорошей точности нового отсчёта достаточно посчитать свёртку в окресности 10..100 отсчётов. Желательно на нечётное кол-во, симметричное слева и справа. Итого будет N*K (K=10..100, а N=кол-во отсчётов) умножений и сложений. SinX/X для оптимизации быстродействия можно посчитать один раз для нужного сдвига и занести в таблицу.



Вот! Вы наверно открыли самый медленный! Считать длинную свертку с табличным синком wink.gif

Сдвиг через FFT - это в некотором смысле то же самое. Действительно: спектр умножается на чисто линейный фазовый вращатель, после обратного FFT имеем свёртку исходного сигнала с Фурье-преобразованием линейной фазовой экспоненты, т.е. СИНКОМ. В зависимости от длины блока мы имеем разные приближения к идеальной прямоугольной НЧ-фильтрации


Так и те общепринятые методы, что я предложил в начале имеют в основе, с разной степенью точности примерно то же самое:

-полиморфная фильтрация использует прямоугольный фильтр для интерполяции
-интерполяция В-сплайном может аппроксимировать тот же синк кусочным полиномом с конечным носителем


Полиморфная фильтрациия есть очень качественный, эффективный вычислительно и гибкий алгоритм для произвольного фиксированого (чтоб не менялся на лету) ресамплинга. Сдвиг есть частный тривиальный случай ресамплинга

У MDS были неплохие программы для каскодных алгоритмов ресамплинга (доступны, но больше не поддерживаются)
Для ресамплинга - это программа convern. Её можно найти в Сети, хоть и у меня ;-)
Те кто программирует процессоры AD Blackfin могут наслаждаться ассемблерной реализацией для каскодной схемы ресамплинга (многократный ресамплинг прорежение/интерполяция), рассчитываемой
этой программой MDS convern. Это Application Note AN- EE183.
Чтобы получить уровень искажений 100дб или выше фильры НЧ расчитываются с двойной точностью (32 разряда) и так же реализована фильтрация в программах для BF. Эта хренотень "измерительного" качества


теория мультирейта от MDS
http://www.mds.com/support/applicationnotes.asp

практика мультирейта от AD AN-813
http://www.analog.com/en/embedded-processi...rces/index.html
GetSmart
Цитата(fontp)
Вот! Вы наверно открыли самый медленный! Считать длинную свертку с табличным синком wink.gif

Берём 64К сэмплов. Свёртка с синком по 20 точкам будет 64К*20 = 1280К умножений и сложений. FFT, сдвиг и IFFT будет 64К*(32+1+32) = 4160К умножений и сложений. Так что не факт, что медленнее FFT. А для миллиона сэмплов (для музыки и прочих сигналов это даже мало) короткая свёртка "порвёт" FFT на несколько кусочков biggrin.gif Про полиморфную фильтрацию не скажу, не знаю.

Кроме этого, "идеализм" FFT как свёртка по всей ширине блока ИМХО избыточна. Считать свёртку, когда функция sinx/x становится ниже шага амплитудной дискретизации, или значительно ниже уровня шумов бессмысленное занятие. Ну очень часто не нужна "экстремальная" точность. Тем более, что и у FFT своих глюков хватает.

PS. И лгавное - короткую свёртку легко делать в рилтайме не запоминая большие блоки сэмплов.
fontp
Цитата(GetSmart @ Nov 26 2008, 12:00) *
Кроме этого, "идеализм" FFT как свёртка по всей ширине блока ИМХО избыточна. Считать свёртку, когда функция sinx/x становится ниже шага амплитудной дискретизации, или значительно ниже уровня шумов бессмысленное занятие. Ну очень часто не нужна "экстремальная" точность. Тем более, что и у FFT своих глюков хватает.


Ну, синк, конечно, затухает. Но медленно. Как sinc(2*pi*dF*t) Полоса решает, но полоса определяется той фрактальностью, которая должна быть получена, нет здесь свободы wink.gif
Соответственно, если для эффективности нужен фильтр НЧ и покороче и получше, то лучше тогда его синтезировать в Матлабе, а не синк усекать. Как прямоугольный фильтр минимальной длины с максимальной крутизной среза. Вот и получится как раз фильтр, используемый при полиморфной фильтрации. При этом возможен только рациональный ресамплинг, N/M, свои недостатки.

А кубическая синковые сплайн-интерполяция по четырем точкам, наоборот, заведомо самая быстрая, даёт любые сдвиги, но с большими ошибками. Для кого-то и сгодится, а для кого-то - нет. Компания TRW делала 20 лет быстродействующие синковые сплайн-интерполяторы для "произвольного"
ресамплинга сигналов/изображений
Модемщики, правда, обычно не видят синковых интерполяторов, а пользуют лагранжа (без хвостов), поскольку к моменту их использования частота сэмлинга уже в несколько раз (4-8) выше Найквиста

Нет в мире совершенства...
GetSmart
Цитата(fontp)
Соответственно, если для эффективности нужен фильтр НЧ и покороче и получше, то лучше тогда его синтезировать в Матлабе, а не синк усекать.
Синк находит промежуточные значения между сэмплами. При этом не искажая амплитудно фазовую характеристику сигнала. Разве фильтр НЧ так может?
petrov
Цитата(GetSmart @ Nov 26 2008, 14:23) *
Синк находит промежуточные значения между сэмплами. При этом не искажая амплитудно фазовую характеристику сигнала. Разве фильтр НЧ так может?


Обрезанный синк и есть ФНЧ только плохой, правильный ФНЧ давит образы намного лучше и без всяких искажений.
GetSmart
Цитата(petrov)
Обрезанный синк и есть ФНЧ только плохой, правильный ФНЧ давит образы намного лучше и без всяких искажений.

SinX/X - ФНЧ, давящий частоты выше Найквиста, которых там и нет smile.gif Это предельный случай когда нет фазочастотной зависимости?

Конкретный вопрос: свёртка Sin(X/10)/X вносит фазочастотный сдвиг? Или я всё попутал с аналоговыми фильтрами?
petrov
Цитата(GetSmart @ Nov 26 2008, 14:56) *
SinX/X - ФНЧ, давящий частоты выше Найквиста, которых там и нет smile.gif Это предельный случай когда нет фазочастотной зависимости?


Вы понимаете что происходит со спектром после добавления нулей и что делает последующий ФНЧ?
GetSmart
Цитата(petrov)
Вы понимаете что происходит со спектром после добавления нулей и что делает последующий ФНЧ?
Не очень smile.gif Это ведь к делу отношения не имеет? Даже чтобы посчитать предлагаемую мной свёртку вставлять нули не требовалось.

Но я кажется понял, что если функция свёртки симметрична слева и справа, то фазочастотной зависимости нет. Как нет и запаздывания/опережения.
petrov
Цитата(GetSmart @ Nov 26 2008, 16:09) *
Не очень smile.gif Это ведь к делу отношения не имеет? Даже чтобы посчитать предлагаемую мной свёртку вставлять нули не требовалось.


Имеет, вы не сможете понять чем плох обрезанный синк и как рассчитать интерполирующий ФНЧ с нужным качеством.

p. s. Рано вам со Станиславом спорить даже если он в чём-то не прав.
GetSmart
petrov, Вы на вопрос не ответили. Вопросом на вопрос отвечать непристало умным людям.

А с добавлением нулей (= увеличении частоты выборок) и синком я понял, не дурак. Кроме этого, собственноручно писал прогу для оценки точности таких урезанных синков. Но до сих пор не понял чем он плох. Куда копать дальше?

ЗЫ. Думаю у урезанного синка недостатков не больше чем у аналогового фильтра. Как грится - терпимо.
petrov
Цитата(GetSmart @ Nov 26 2008, 16:56) *
petrov, Вы на вопрос не ответили. Вопросом на вопрос отвечать непристало умным людям.

А с добавлением нулей (= увеличении частоты выборок) и синком я понял, не дурак. Кроме этого, собственноручно писал прогу для оценки точности таких урезанных синков. Но до сих пор не понял чем он плох. Куда копать дальше?

ЗЫ. Думаю у урезанного синка недостатков не больше чем у аналогового фильтра. Как грится - терпимо.


Давайте сделаем задержку в пол отсчёта, увеличивем частоту дискретизации вдвое 2*fd, вставляем нули, на частоте fd будет повторён спектр нашего сигнала, открываем fdatool и пректируем цифровой ФНЧ методом окна с прямоугольным окном(наш синк обрезанный), который должен подавить образ на fd, и смотрим какое плохое подавление имеет этот фильтр даже при большом порядке.
Leka
А зачем синк обрезать? Свернуть с дираковской гребенкой - спектр-то дискретный, раз о ДПФ разговоры идут.
Stanislav
Цитата(petrov @ Nov 25 2008, 11:58) *
Слишком категорично, а если нужно каждый отсчёт на произвольное время сдвигать, в модемах как раз и используется обычно полифазная фильтрация совместно с интерполятором лагранжа.
Простите, времени было мало.
Предлагаю произвести сравнительное испытание временнЫх и частотных методов сдвига сигнала по критерию точность/время выполнения. Для вполне реальных параметров модемного сигнала.
Условия таковы:
1. Сигнал непрерывный, доступность "прошлого" имеется.
2. Частота выборки - 9,6 КГц, частота несущей - 1,8 КГц.
3. Модем фреймовый. Символьная скорость - 2400 1/с. Окно - корень из приподнятого косинуса. Длина символьного окна - 16 символьных интервалов. Длина фрейма - 100 символов.
4. Дискрета сдвига во времени - 1/1000 символьного интервала (0,4 мкс), искажение формы- не более 1/1000 по мгновенному значению относительно пикового.

Если есть необходимость - уточните условия. Собственно, это вопрос и к Автору темы

Отдельно предлагаю рассмотреть вариант комплексного сигнала со снятой несущей, взятого с частотой выборки 4800 1/с.

Цитата(Leka @ Nov 26 2008, 22:50) *
А зачем синк обрезать? Свернуть с дираковской гребенкой - спектр-то дискретный, раз о ДПФ разговоры идут.
07.gif
Простите, но что есть свёртка с дираковской гребёнкой, Вы вполне себе представляете? Если да, поясните, что Вы имели в виду, пожалуйста, и при чём здесь ДПФ.
Leka
Имел в виду, что произведению прямоугольника на гребенку в частотной области соответствует свертка синка с гребенкой во временной области. Те вместо того, чтобы сворачивать необрезанный синк с периодическим(N отсчетов) сигналом от минус до плюс бесконечности, можно заранее свернуть синк в N отсчетов (те с периодом сигнала).
Stanislav
Цитата(fontp @ Nov 26 2008, 12:40) *
...Вот и получится как раз фильтр, используемый при полиморфной фильтрации. При этом возможен только рациональный ресамплинг, N/M, свои недостатки.

А кубическая синковые сплайн-интерполяция по четырем точкам, наоборот, заведомо самая быстрая, даёт любые сдвиги, но с большими ошибками. Для кого-то и сгодится, а для кого-то - нет. Компания TRW делала 20 лет быстродействующие синковые сплайн-интерполяторы для "произвольного"
ресамплинга сигналов/изображений
Вот-вот.
Да только, вероятно, Вы условие опять похерили, и пишете о чём-то своём, родимом.
Здесь же речь идёт о произвольном сдвиге, равно как и о точности. Насколько я понял, автор темы ещё и о вычислительных затратах думает, если решил применить обработку в спектральной области.
Так что зря Вы фурье отметаете, ох зря...

Цитата(fontp @ Nov 26 2008, 12:40) *
Нет в мире совершенства...
Это уж точно. biggrin.gif

Цитата(Leka @ Nov 27 2008, 02:15) *
Имел в виду, что произведению прямоугольника на гребенку в частотной области соответствует свертка синка с гребенкой во временной области. Те вместо того, чтобы сворачивать необрезанный синк с периодическим(N отсчетов) сигналом от минус до плюс бесконечности, можно заранее свернуть синк в N отсчетов (те с периодом сигнала).
Бр-р... Ничо не понял... sad.gif Поясните русским языком, плиз.
GetSmart
Цитата(Leka)
А зачем синк обрезать? Свернуть с дираковской гребенкой - спектр-то дискретный, раз о ДПФ разговоры идут.
Ну вот. Менять один недостаток на другой? В реальных сигналах спектры не дискретные. Это ДПФ их принудительно дискредитирует, тьфу ты, дискретизирует smile.gif Тем самым искажая сигнал. Кто бы что не говорил о точности и лапшу на уши не вешал.
Leka
Цитата(Stanislav @ Nov 27 2008, 04:24) *
Бр-р... Ничо не понял... sad.gif Поясните русским языком, плиз.

Периодический сигнал x можно представить, как свертку кусочного сигнала s с гребенкой g: x=s*g, поэтому для свертки периодического сигнала с синком получим: x*sinc=(s*g)*sinc=s*(g*sinc).

Цитата(GetSmart @ Nov 27 2008, 06:28) *
Ну вот. Менять один недостаток на другой? В реальных сигналах спектры не дискретные. Это ДПФ их принудительно дискредитирует, тьфу ты, дискретизирует smile.gif Тем самым искажая сигнал...

Дискретизация реального сигнала - уже искажения в общем случае, так что смотреть по месту, имхо.
fontp
Отвечу в Вашем стиле. Векторным многокомпонентным мегафлудом :-)
Обычно мне жаль времени на это... Ладно, последний раз ныряю...

Цитата(Stanislav @ Nov 27 2008, 04:24) *
Вот-вот.
Да только, вероятно, Вы условие опять похерили


1. Это Вы сами постоянно подменяете слова и понятия (не говоря уже о том, что одно время терли и редактировали чужие посты! ). И подменив, как ловкий наперсточник, начинаете кричать : "Вон, дилетант, из профессии!"
Альбац Вы какой-то wink.gif

Цитата(Stanislav @ Nov 27 2008, 04:24) *
Здесь же речь идёт о произвольном сдвиге, равно как и о точности. Так что зря Вы фурье отметаете, ох зря...


2. Полифазный рациональный ресамплинг даёт возможность обеспечить любую точность. Поскольку любое действительное число можно в принципе приблизить дробью N/M по крайней мере с точностью 1/(М*M)
Удивлены? wink.gif
Что касается произвольности... Тут есть двусмысленность. В первом смысле произвольность - это значит "любое". Но для любого как угодно малого эпсилон найдется такое M и т.д. - то есть это и есть точность.
В другом смысле - произвольное не известное заранее при проектировании, а любое в риалтайме. Так в этом смысле Фурие не работает (сдвиг должен быть известен при проектировании "фильтра") также как и полифазный фильтр.
Синковый B-сплайн интерполятор годится, но там свои заморочки...


Цитата(Stanislav @ Nov 27 2008, 04:24) *
Так что зря Вы фурье отметаете, ох зря...


3. Я не отметаю Фурье. Я с самого начала сказал, что Фурье работать будет. Ещё до того как Вы пришли и всё опошлили.
Фурье не гибко (практически отсутствуют свободные параметры, кроме размера блока, на который тоже ограничения) и не факт, что быстрее (может иногда и быстрее).
Но для ресамплинга чаще используются полифазные фильтры, поскольку это и быстро и очень гибко.
Простой сдвиг и ресамплинг очень близкие вещи, хоть и разные.

Цитата(Stanislav @ Nov 27 2008, 04:24) *
пишете о чём-то своём, родимом.


4. Я тоже как и Вы пишу по поводу. Обобщаю и дополняю.

Поскольку автор темы решение уже нашел и оно его устраивает, то здесь давно не ведется обсуждение вопроса автора. Я запостил сюда (известную не всем) систему проектирования фильтров для ресамплинга измерительного качества. Думал, что кому-то это полезно. Получить такое качество ресамплинга самому очень не просто. Особенно через Фурье wink.gif Сдвиг не совсем ресамплинг, но в 90% случаев это только говорится "сдвиг", а на самом деле это ресамплинг, если ещё немного подумать

Но Вас никто не звал давать здесь оценки в Вашем стиле. И никто Вам ничего доказывать не собирается. Если кто-то поставил вопрос, а кто-то другой ответил - то это не значит, что Вы должны на него накинуться и пресинговать многокомпонентным мегафлудом, если даже Вам кажется, что Вы знаете решение получше.
Расслабьтесь. smile.gif И предложите своё решение. Обсуждайте вопросы в сабже, а не предложеные ответы на них. Форумы существуют для того чтобы обмениваться подходами и решениями, а не для того, чтобы критиковать предложения участников. Формат такой у форумов
Разве что ответили совсем уже неправильно, тогда критикуйте

Я из-за Вас опять потратил пол-часа и начинаю звереть. Зачем? Оно Вам нужно - инициировать пустую болтовню? Есть много способов сочинять песни племен. И если предлагается решение - это не значит, что кто желает вступать с Вами в дискуссию и меряться с Вами пиписьками, в Вашем стиле
GetSmart
Цитата(fontp)
не говоря уже о том, что одно время терли и редактировали чужие посты!
Нельзя ли поподробнее, плиз rolleyes.gif
fontp
Цитата(GetSmart @ Nov 27 2008, 14:55) *
Нельзя ли поподробнее, плиз rolleyes.gif


нельзя. Он там одновременно и вел дискуссию и модерировал.
Удобно :-)
Будем считать, что это был прикол.
GetSmart
Цитата(Leka)
Дискретизация реального сигнала - уже искажения в общем случае, так что смотреть по месту, имхо.

Дискретизация во времени ещё не есть искажения и ТК почти права на этот счёт, не считая предельной частоты Fs/2 и постоянки. Дискретизация по амплитуде тоже не смертельна. А вот когда ограничивают временной отрезок считая ДПФ тем самым ограничивая допустимые частоты в сигнале, то начинаются реальные искажения. Поэтому идеальный синк на бесконечности будет точнее ДПФ. Без вариантов.
Stanislav
Цитата(fontp @ Nov 27 2008, 14:39) *
1. Это Вы сами постоянно подменяете слова и понятия (не говоря уже о том, что одно время терли и редактировали чужие посты! ). И подменив, как ловкий наперсточник, начинаете кричать : "Вон, дилетант, из профессии!"
Где здесь была подмена понятий? Покажите, плиз.

Насчёт редактирования и подтирания чужих постов: надеюсь, Вы понимаете, что такие слова полагается подкреплять доказательством. Ибо я имею полное право в противном случае называть Вас откровенным лжецом, что и делаю сейчас в первый раз, и дело это просто так не оставлю.

Мои посты, напротив, здесь редактировали и меняли не один раз при цитировании. Ваш подопечный, в том числе, за чем был уличён немедленно.

Цитата(fontp @ Nov 27 2008, 14:39) *
Альбац Вы какой-то wink.gif
Привет от маклауда. wink.gif
Отдельный вопрос насчёт игнора. Неувязочка опять выходит, г-н Однажды Солгамши. sad.gif


Цитата(fontp @ Nov 27 2008, 14:39) *
...2. Полифазный рациональный ресамплинг даёт возможность обеспечить любую точность. Поскольку любое действительное число можно в принципе приблизить дробью N/M по крайней мере с точностью 1/(М*M)
Удивлены?
Мне это известно не хуже, чем Вам. Только автору кроме точности нужно ещё и быстродействие, вот он и делает через Фурье, если я правильно понял. Существуют модемы, работающие полностью в фурье-базисе, что ж тут такого? Вот он и спросил, правильная его идея, или нет. Я бы на Вашем месте сказал бы сначала "да", или "нет", а потом писал бы всё остальное.
Моё видение: да, идея правильная, и реализовать так "сдвиг" - можно.

Цитата(fontp @ Nov 27 2008, 14:39) *
...Что касается произвольности... Тут есть двусмысленность. В первом смысле произвольность - это значит "любое". Но для любого как угодно малого эпсилон найдется такое M и т.д. - то есть это и есть точность.
Я понял автора, как точность "в принципе". В противном случае, для конкретной задачи её можно оценить.
Как я и писал уже, для получения высокой точности по времени и значению сигнала Фурье будет выполняться быстрее линейной фильтрации, и, уж тем более, сплайн-интерполяции, особенно если сигнал изначально комплексный или с хорошо ограниченной полосой.

Цитата(fontp @ Nov 27 2008, 14:39) *
...В другом смысле - произвольное не известное заранее при проектировании, а любое в риалтайме. Так в этом смысле Фурие не работает (сдвиг должен быть известен при проектировании "фильтра") также как и полифазный фильтр.
Это неверно, и я это уже пытался объяснять в известной теме...
Фурье работает с любыми сдвигами (во всяком случае, мне почему-то так кажется).
Пожже попытаюсь продемонстрировать, если действительно у кого-то есть желание.

Цитата(fontp @ Nov 27 2008, 14:39) *
...Синковый B-сплайн интерполятор годится, но там свои заморочки...
Вот именно...

Цитата(fontp @ Nov 27 2008, 14:39) *
...3. Я не отметаю Фурье. Я с самого начала сказал, что Фурье работать будет. Ещё до того как Вы пришли и всё опошлили.
Ну, простите, если неправильно Вас понял. Вы как-то уж чересчур неопределённо высказались, что и дало повод заподозрить. wink.gif
Если будет -значит, всё хорошо, и спорить не о чем.

Цитата(fontp @ Nov 27 2008, 14:39) *
...Поскольку автор темы решение уже нашел и оно его устраивает, то здесь давно не ведется обсуждение вопроса автора. Я запостил сюда (известную не всем) систему проектирования фильтров для ресамплинга измерительного качества. Думал, что кому-то это полезно. Получить такое качество ресамплинга самому очень не просто.
Не понял, о какой системе проектирования идёт речь?

Цитата(fontp @ Nov 27 2008, 14:39) *
...Но Вас никто не звал давать здесь оценки в Вашем стиле. И никто Вам ничего доказывать не собирается. Если кто-то поставил вопрос, а кто-то другой ответил - то это не значит, что Вы должны на него накинуться и пресинговать многокомпонентным мегафлудом, если даже Вам кажется, что Вы знаете решение получше.
Расслабьтесь. smile.gif И предложите своё решение. Обсуждайте вопросы в сабже, а не предложеные ответы на них. Форумы существуют для того чтобы обмениваться подходами и решениями, а не для того, чтобы критиковать предложения участников. Формат такой у форумов
Разве что ответили совсем уже неправильно, тогда критикуйте
Успокойтесь, уважаемый, и не обобщайте.
Лично Вы написали в форуме немало ерунды, которую я критикую, критиковал и буду критиковать.
Здесь же я Вам ничего обидного не написал, так что расслабьтесь пока именно Вы, по вопросам техническим.
Отношение насчёт редактирования и откровенного вранья мы, безусловно, ещё выясним, хотя бы даже ради этого и пришлось просить админов поднять логи и бэкапы.

Цитата(fontp @ Nov 27 2008, 14:39) *
...Я из-за Вас опять потратил пол-часа и начинаю звереть. Зачем?
Не зачем, а почему? biggrin.gif

Цитата(fontp @ Nov 27 2008, 14:39) *
...Оно Вам нужно - инициировать пустую болтовню? Есть много способов сочинять песни племен. И если предлагается решение - это не значит, что кто желает вступать с Вами в дискуссию и меряться с Вами пиписьками, в Вашем стиле
Дык, не вступайте. Кто ж Вас заставляет?
Сочинять песни - это ваше занятие. Ибо это Вы рассуждаете в технических темах как заправский композитор biggrin.gif , с навешиванием ярлыков и поминутным фырканьем.
Свой способ предложу, только попозже. Он будет похож на способ автора (как и на другой, ещё в "той" теме).



Цитата(fontp @ Nov 27 2008, 15:12) *
нельзя. Он там одновременно и вел дискуссию и модерировал.
Удобно :-)
Будем считать, что это был прикол.
Откровенное, и ничем не прикрытое враньё.
Когда-то я пытался отдавать Вам должное, как специалисту, то теперь не буду ставить и в грош не только как инженера, но и как человека.
Доказательства - на бочку. Иначе буду ходатайствовать перед администрацией об исключении вас из списка участников форума за ложь и клевету. А при встрече непременно плюну в лицо, а буде кочевряжиться - просто набью вам морду.

Я прошу других посетителей простить меня за несколько эмоциональный стиль изложения, но подобная ложь хоть кого из себя вывести способна.
Модератором я никогда не был, а о том, чтобы задним числом изменить свой пост, тем более, процитированный, даже и не думал никогда. Ессно, если там не было мелких ошибок, не имеющих отношения к сути вопроса.
Предлагаю посетителям быть арбитрами, и задать ему тот же вопрос: приведите доказательства. Вопрос серьёзный, затрагивает репутацию, и я намерен его прояснить до конца.
blackfin
Цитата(Stanislav @ Nov 27 2008, 21:28) *
А при встрече непременно плюну в лицо, а буде кочевряжиться - просто набью вам морду.
Быстро же вы меняете свой менторский тон на моветон.. biggrin.gif
Stanislav
Цитата(blackfin @ Nov 27 2008, 22:15) *
Быстро же вы меняете свой менторский тон на моветон.. biggrin.gif
Это не моветон, а предупреждение.
Будьте уверены, если мой вопрос к fontp останется без ответа, я при случае так и сделаю.
Лжецов и мухлёвщиков надо ставить на место всеми доступными средствами.

А по сути вопроса есть что написать? Обвинение выдвинуто серьёзное, покруче ошибки в алгоритме и менторского тона-то будет.
GetSmart
А я предлагаю заяву написать коллективную на Наполеона и забанить его раз и навсегда. Или дать прикладом в челюсть, всё равно слова на него не действуют.

И воопще, Наполеон у нас из какой палаты? Из шестой? Куда смотрит администрация?
blackfin
Цитата(Stanislav @ Nov 27 2008, 22:59) *
Будьте уверены, если мой вопрос к fontp останется без ответа, я при случае так и сделаю.
Не одобряю.. И при случае проголосую против вас.. laughing.gif

Цитата(Stanislav @ Nov 27 2008, 22:59) *
А по сути вопроса есть что написать?
Вы уже давно отбили у меня охоту о чем-либо с вами дискутировать.. 07.gif
Stanislav
Цитата(blackfin @ Nov 28 2008, 05:51) *
Не одобряю.. И при случае проголосую против вас.. laughing.gif
Здесь речь идёт не о демократии и голосовании. А о вещах более серьёзных.
Можете голосовать за что хотите, и против кого хотите - я не из обидчивых.

Цитата(blackfin @ Nov 28 2008, 05:51) *
...Вы уже давно отбили у меня охоту о чем-либо с вами дискутировать.. 07.gif
Подобное заявление сродни признанию собственной умственной неполноценности. На форуме есть модераторы, которые следят за порядком, а на то, что указал Вам на явные ошибки в Ваших постах и непонимание основ обработки сигнала, положено говорить спасибо, а не дуться.
Впрочем, как Вам будет угодно.
Повторюсь, здесь речь идёт не о дискуссии, а о клевете. Мне этот чел давно перестал нравиться, а вот теперь он показал своё истинное лицо.

Цитата(GetSmart @ Nov 28 2008, 05:37) *
А я предлагаю заяву написать коллективную на Наполеона и забанить его раз и навсегда. Или дать прикладом в челюсть, всё равно слова на него не действуют.
Приезжайте, побеседуем. wink.gif
fontp
Цитата(Stanislav @ Nov 27 2008, 21:28) *
Где здесь была подмена понятий? Покажите, плиз.

Насчёт редактирования и подтирания чужих постов: надеюсь, Вы понимаете, что такие слова полагается подкреплять доказательством. Ибо я имею полное право в противном случае называть Вас откровенным лжецом, что и делаю сейчас в первый раз, и дело это просто так не оставлю.

Мои посты, напротив, здесь редактировали и меняли не один раз при цитировании. Ваш подопечный, в том числе, за чем был уличён немедленно.

Привет от маклауда. wink.gif
Отдельный вопрос насчёт игнора. Неувязочка опять выходит, г-н Однажды Солгамши. sad.gif
Мне это известно не хуже, чем Вам. Только автору кроме точности нужно ещё и быстродействие, вот он и делает через Фурье, если я правильно понял. Существуют модемы, работающие полностью в фурье-базисе, что ж тут такого? Вот он и спросил, правильная его идея, или нет. Я бы на Вашем месте сказал бы сначала "да", или "нет", а потом писал бы всё остальное.
Моё видение: да, идея правильная, и реализовать так "сдвиг" - можно.

Я понял автора, как точность "в принципе". В противном случае, для конкретной задачи её можно оценить.
Как я и писал уже, для получения высокой точности по времени и значению сигнала Фурье будет выполняться быстрее линейной фильтрации, и, уж тем более, сплайн-интерполяции, особенно если сигнал изначально комплексный или с хорошо ограниченной полосой.

Это неверно, и я это уже пытался объяснять в известной теме...
Фурье работает с любыми сдвигами (во всяком случае, мне почему-то так кажется).
Пожже попытаюсь продемонстрировать, если действительно у кого-то есть желание.

Вот именно...

Ну, простите, если неправильно Вас понял. Вы как-то уж чересчур неопределённо высказались, что и дало повод заподозрить. wink.gif
Если будет -значит, всё хорошо, и спорить не о чем.

Не понял, о какой системе проектирования идёт речь?

Успокойтесь, уважаемый, и не обобщайте.
Лично Вы написали в форуме немало ерунды, которую я критикую, критиковал и буду критиковать.
Здесь же я Вам ничего обидного не написал, так что расслабьтесь пока именно Вы, по вопросам техническим.
Отношение насчёт редактирования и откровенного вранья мы, безусловно, ещё выясним, хотя бы даже ради этого и пришлось просить админов поднять логи и бэкапы.

Не зачем, а почему? biggrin.gif

Дык, не вступайте. Кто ж Вас заставляет?
Сочинять песни - это ваше занятие. Ибо это Вы рассуждаете в технических темах как заправский композитор biggrin.gif , с навешиванием ярлыков и поминутным фырканьем.
Свой способ предложу, только попозже. Он будет похож на способ автора (как и на другой, ещё в "той" теме).
Откровенное, и ничем не прикрытое враньё.
Когда-то я пытался отдавать Вам должное, как специалисту, то теперь не буду ставить и в грош не только как инженера, но и как человека.
Доказательства - на бочку. Иначе буду ходатайствовать перед администрацией об исключении вас из списка участников форума за ложь и клевету. А при встрече непременно плюну в лицо, а буде кочевряжиться - просто набью вам морду.

Я прошу других посетителей простить меня за несколько эмоциональный стиль изложения, но подобная ложь хоть кого из себя вывести способна.
Модератором я никогда не был, а о том, чтобы задним числом изменить свой пост, тем более, процитированный, даже и не думал никогда. Ессно, если там не было мелких ошибок, не имеющих отношения к сути вопроса.
Предлагаю посетителям быть арбитрами, и задать ему тот же вопрос: приведите доказательства. Вопрос серьёзный, затрагивает репутацию, и я намерен его прояснить до конца.


O! Опять прибежал, клоуН, с линейкой в одной руке и с писюном в другой!

Расскажите лучше мне, диллетанту, как вы "профи" определяют эффективную добротность прямоугольного фильтра НЧ wink.gif
Stanislav
Цитата(fontp @ Nov 28 2008, 11:35) *
O! Опять прибежал, клоуН, с линейкой в одной руке и с писюном в другой!

Расскажите лучше мне, диллетанту, как вы "профи" определяют эффективную добротность прямоугольного фильтра НЧ wink.gif
Так, ясно, отвечать за свои слова Вы отказываетесь.
Что ж, придётся всё-таки побеспокоить администрацию.
Повторюсь, я буду настаивать на перманентном бане. За ложь и клевету.
fontp
Цитата(Stanislav @ Nov 28 2008, 11:41) *
Так, ясно, отвечать за свои слова Вы отказываетесь.
Что ж, придётся всё-таки побеспокоить администрацию.
Повторюсь, я буду настаивать на перманентном бане. За ложь и клевету.


это кто редактировал в воскресенье? сам нахамил в субботу и давай
редактировать ответ в воскресенье:

"Пост отредактирован. fontp устное предупреждение за хамство". Я тогда предложил ему всего перестать кривляться :-)

http://electronix.ru/forum/index.php?showt...50912&st=90
Stanislav
Цитата(fontp @ Nov 28 2008, 11:35) *
Расскажите лучше мне, диллетанту, как вы "профи" определяют эффективную добротность прямоугольного фильтра НЧ wink.gif
Профи не известно понятие "прямоугольный фильтр НЧ". Сие сокровенное знание есть сугубая прерогатива именно дилетанта, не имеющего сколь-нибудь адекватных представлений не только об основах обработки сигнала, но и электроники вообще.
fontp
Цитата(Stanislav @ Nov 28 2008, 11:46) *
Профи не известно понятие "прямоугольный фильтр НЧ". Сие сокровенное знание есть сугубая прерогатива именно дилетанта, не имеющего сколь-нибудь адекватных представлений не только об основах обработки сигнала, но и электроники вообще.


Ладно. Принято. На нет и суда нет. Буду художником. Я нарисую ваш портрет: В одной руке линейка в другой - писюн. К плечам приклею ваше фото.

Повешу в конференцзале.
Stanislav
Цитата(fontp @ Nov 28 2008, 11:44) *
это кто редактировал в воскресенье? нахамил в субботу и давай
редактировать ответ в воскресенье

http://electronix.ru/forum/index.php?showt...50912&st=90
Так.
Очень интересно.
Уважаемый, а Вам известно, что на форуме существуют модераторы? Которые Ваши особенно хамские посты там почистили? Хотя и жалоб на Вас от меня не было там.
Я догадываюсь, кто именно это почистил, потому как видел его в той теме. DS, отзовитесь, пожалуйста.
Да и представился там модератор недвусмысленно. Разуйте глаза, шутник.

Кроме того, предлагаю обсудить возможность выписать fontp вечный бан за ложь и клевету.
fontp
Цитата(Stanislav @ Nov 28 2008, 11:49) *
Так.
Очень интересно.
Уважаемый, а Вам известно, что на форуме существуют модераторы? Которые Ваши особенно хамские посты там почистили? Хотя и жалоб от меня не было там.
Я догадываюсь, кто именно это почистил, потому как видел его в той теме. DS, отзовитесь, пожалуйста.


Вы сами неоднократно в той теме угрожали выдать предупреждение. Хотя сами его неоднократно заслужили своим хамством. Достаточно просмотреть тему сначала.
Stanislav
Цитата(fontp @ Nov 28 2008, 11:52) *
Вы сами неоднократно в той теме угрожали выдать предупреждение.
Очередная ложь. Или просто бред неадекватного человека.
Разговор с Вами здесь окончен. Пусть нас рассудит администрация.
fontp
Цитата(Stanislav @ Nov 27 2008, 21:28) *
Где здесь была подмена понятий? Покажите, плиз.

Насчёт редактирования и подтирания чужих постов: надеюсь, Вы понимаете, что такие слова полагается подкреплять доказательством. Ибо я имею полное право в противном случае называть Вас откровенным лжецом, что и делаю сейчас в первый раз, и дело это просто так не оставлю.

Мои посты, напротив, здесь редактировали и меняли не один раз при цитировании. Ваш подопечный, в том числе, за чем был уличён немедленно.

Привет от маклауда. wink.gif
Отдельный вопрос насчёт игнора. Неувязочка опять выходит, г-н Однажды Солгамши. sad.gif
Мне это известно не хуже, чем Вам. Только автору кроме точности нужно ещё и быстродействие, вот он и делает через Фурье, если я правильно понял. Существуют модемы, работающие полностью в фурье-базисе, что ж тут такого? Вот он и спросил, правильная его идея, или нет. Я бы на Вашем месте сказал бы сначала "да", или "нет", а потом писал бы всё остальное.
Моё видение: да, идея правильная, и реализовать так "сдвиг" - можно.

Я понял автора, как точность "в принципе". В противном случае, для конкретной задачи её можно оценить.
Как я и писал уже, для получения высокой точности по времени и значению сигнала Фурье будет выполняться быстрее линейной фильтрации, и, уж тем более, сплайн-интерполяции, особенно если сигнал изначально комплексный или с хорошо ограниченной полосой.

Это неверно, и я это уже пытался объяснять в известной теме...
Фурье работает с любыми сдвигами (во всяком случае, мне почему-то так кажется).
Пожже попытаюсь продемонстрировать, если действительно у кого-то есть желание.

Вот именно...

Ну, простите, если неправильно Вас понял. Вы как-то уж чересчур неопределённо высказались, что и дало повод заподозрить. wink.gif
Если будет -значит, всё хорошо, и спорить не о чем.

Не понял, о какой системе проектирования идёт речь?

Успокойтесь, уважаемый, и не обобщайте.
Лично Вы написали в форуме немало ерунды, которую я критикую, критиковал и буду критиковать.
Здесь же я Вам ничего обидного не написал, так что расслабьтесь пока именно Вы, по вопросам техническим.
Отношение насчёт редактирования и откровенного вранья мы, безусловно, ещё выясним, хотя бы даже ради этого и пришлось просить админов поднять логи и бэкапы.

Не зачем, а почему? biggrin.gif

Дык, не вступайте. Кто ж Вас заставляет?
Сочинять песни - это ваше занятие. Ибо это Вы рассуждаете в технических темах как заправский композитор biggrin.gif , с навешиванием ярлыков и поминутным фырканьем.
Свой способ предложу, только попозже. Он будет похож на способ автора (как и на другой, ещё в "той" теме).
Откровенное, и ничем не прикрытое враньё.
Когда-то я пытался отдавать Вам должное, как специалисту, то теперь не буду ставить и в грош не только как инженера, но и как человека.
Доказательства - на бочку. Иначе буду ходатайствовать перед администрацией об исключении вас из списка участников форума за ложь и клевету. А при встрече непременно плюну в лицо, а буде кочевряжиться - просто набью вам морду.

Я прошу других посетителей простить меня за несколько эмоциональный стиль изложения, но подобная ложь хоть кого из себя вывести способна.
Модератором я никогда не был, а о том, чтобы задним числом изменить свой пост, тем более, процитированный, даже и не думал никогда. Ессно, если там не было мелких ошибок, не имеющих отношения к сути вопроса.
Предлагаю посетителям быть арбитрами, и задать ему тот же вопрос: приведите доказательства. Вопрос серьёзный, затрагивает репутацию, и я намерен его прояснить до конца.


Бред какой-то.
1. Нет у меня подопечных.
2. Сплайн-интерполяция наверное быстрее всего - поскольку это усеченная короткая кусочно-полиномиальная аппроксимация синка при расчете коэффициентов фильтра. При фильтрации - это просто очень короткий линейный фильтр. Используется обычно в аппаратной реализации, низкая точность

3. Та тема не имеет отношения. Произвольно "После того" Фурье применить можно, но это будет совсем медленный алгоритм -нужно будет "после того" рассчитывать фазовращатель в реальном времени с высокой точностью, т.е. не таблично. Считать для каждой точки sin и cos если не стандартной функцией (которая обычно сама B-сплайн в библиотеках), то очень точно интерполируя таблицы

Привет маклауду. При встрече плеваться не буду, а дам вам бейсбольной битой по фейсу.
Fat Robot
грозный Stanislav такой грозный. pic related.



Цитата(Stanislav @ Nov 27 2008, 21:28) *
Иначе буду ходатайствовать перед администрацией об исключении вас из списка участников форума за ложь и клевету. А при встрече непременно плюну в лицо, а буде кочевряжиться - просто набью вам морду.
blackfin
Цитата(fontp @ Nov 28 2008, 11:48) *
Ладно. Принято. На нет и суда нет. Буду художником. Я нарисую ваш портрет...
Опоздали, всё уже нарисовано: Воины интернета.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.