На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Нужно найти среднюю линию сигнала.
    Получаю сигнал с частотой 1000 данных в секунду.  В результате имею массив этих данных (скажем минутной длины).
    Разброс данных может колебаться в интервале от -100 до 100.
    Нужно найти так называемую среднюю линию, обрезая всплески и прочие артифакты.
    3  3  4  5  4  4  4  8  15  27  45  25  18  17  9  4  2  2  1  3  2  2 ...

    Может кто подскажет методу.   Хотябы название.  ;)
      Попробуй НЧ-фильтрацию, либо сглаживание сплайном.
      Что касается "обрезания артифактов" - нужно посмотреть на реальный сигнал, чтобы
      определиться с этим. Приведенной тобой выборки недостаточно.
      8  15  27  45  25  18  17  9 - это что, "артифакт" ?
      Сообщение отредактировано: Crait -
        какуюкакуюлинию????

        средняя линия ето понятие растяжимое. вопервых за какое время тебе надо усреднять?

        усреднять можно поразному.

        m(t) - наша средняя линия, а f(t) - функция, которую надо усреднить.

        1. y(t)=y(t-1)-k*dt*(y(t)-f(t-1)),
        где k - параметр, выбираемый в зависимости от временного промежутка, на котором мы хотим произвести усреднение. аналогичным образом действует RC - фильтр, с помощью которого производится усреднение в различных самописцах и отсекаются высокочастотные помехи в сетевых фильтрах.

                  t+n-1
        2. y(t)=   Ё  f(i)/(2*n).
                  i=t-n
        получается среднее значение f(t)  на определённом промежутке, в частности на всём отрезке.

        3. легендарное преобразование фурье. преобразуешь весь свой отрезок целиком, но только самые низкие частоты, какие именно - тебе решать.

        можно придумать ещё кучу других способов.
          http://www.i2.com.ua/index.php?dir=Article...=filter.htm&f=3

          На рис.10   до фильтра (входная реализация) красным цветом изображена кривая (просто красавица :) ), которую я хочу получить, но после фильтрации (выходная реализация) получено совсем не то, что мне нужно.
          Подскажите как мне её получить.

          и ещё:
          1. в ф.1.6 и 1.7 в выражении степени экспоненты присутствует символ 'j' это j = кв.корень из (-1) или нет.
          2. И учитывая, что имеем дело с дискретными данными,  то кто такая 'к'   (тамже)

          (Прошу не пинать ногами. Я просто уже 10 лет не имел дело с выш.матом.)

          Пожалуйста поясните   если кто разобрался в теме.



          А можно ссылку на тематику по сплайнам?
          Сообщение отредактировано: Gurza -
            Нулевой коэффициент ряда Фурье вычисляется как интеграл от сигнала, деленный на интервал наблюдения, для непрерывного случая. Для дискретного - простое среднеарифметическое отсчетов. Для стационарного сигнала - всего делов.

            Преобразование Фурье, так же как и преобразование Лапласа, выполняет представление функций в ортогональном базисе гармонических функций (комплексная экспонента – такая же гармоническая функция). В общем случае и оригинал, и ее изображение – обе комплексные функции (вещественный сигнал - частный случай). Косинусное и синусное преобразование – частные случаи общего преобразования Фурье в случае, если функция-оригинал симметрична: для первого случая относительно оси Y, для второго - относительно начала координат. Для непрерывных сигналов и их изображений аргумент - непрерывная переменная, для дискретных соответственно появляется дискретный индекс.
            Сообщение отредактировано: yaro -
              То есть:

              'k'  -  Нулевой коэффициент.
              'j'  - частота дискретизации.

              Так ?
                Пусть есть непрерывный сигнал x(t), из которого получен дискретный x(k*dT), dT – период дискретизации. Интервал наблюдения T в этом случае равен N*dT. Теперь если все это подставить в выражение для непрерывного преобразования
                X(j*w)=1/T*Integral(x(t)*exp(-j*w*t)dt), что получится?
                j*w – комплексная, чисто мнимая переменная, j-мнимая единица.
                Базис – функции exp(-j*dw*n), n-0,1,2... dw – т.н. основная частота, dw=2*PI*df=2*PI/T.
                X(n)=1/(N*dT)*Sum(x(k)*exp(-2*PI/(N*dT)*n*k*dT)). Про dT в знаменателе перед суммой забыли, все равно – константа, dT в экспоненте сократилась. Осталась ф.1.6.
                Заметь, уходят любые упоминания о физических параметрах сигнала, так частота базисной функции w превращается в n/N – нормируется от 0 до 1. Полученная функция-спектр из-за периодичности exp() периодическая, с периодом относительной частоты 1. Поэтому при невыполнении теоремы отсчетов (Котельникова) и говорят о наложении спектров.

                Странно, разговор свелся к спектральному анализу детерминированных сигналов из-за того, что ты с самого начала назвал свои данные сигналом. Стоит точно в этом убедиться, чтобы не пропустить вариант, как говорят метрологи, измерения с многократными наблюдениями. Может, надо воспользоваться методами идентификации? Типа модели авторегрессии: на входе стационарный случайный процесс, пропускаемый через динамическое звено, которым может быть тот же антиэлайсинговый аналоговый фильтр АЦП.
                Сообщение отредактировано: yaro -
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0253 ]   [ 15 queries used ]   [ Generated: 1.09.24, 01:56 GMT ]