Нужно найти среднюю линию сигнала.
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [18.97.9.169] |
|
|
правила раздела Алгоритмы

Нужно найти среднюю линию сигнала.
|
Сообщ.
#1
,
|
|
|
|
Получаю сигнал с частотой 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 ... Может кто подскажет методу. Хотябы название. ;) |
|
Сообщ.
#2
,
|
|
|
|
Попробуй НЧ-фильтрацию, либо сглаживание сплайном.
Что касается "обрезания артифактов" - нужно посмотреть на реальный сигнал, чтобы определиться с этим. Приведенной тобой выборки недостаточно. 8 15 27 45 25 18 17 9 - это что, "артифакт" ? |
|
Сообщ.
#3
,
|
|
|
|
какуюкакуюлинию????
средняя линия ето понятие растяжимое. вопервых за какое время тебе надо усреднять? усреднять можно поразному. 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. легендарное преобразование фурье. преобразуешь весь свой отрезок целиком, но только самые низкие частоты, какие именно - тебе решать. можно придумать ещё кучу других способов. |
|
Сообщ.
#4
,
|
|
|
|
http://www.i2.com.ua/index.php?dir=Article...=filter.htm&f=3
На рис.10 до фильтра (входная реализация) красным цветом изображена кривая (просто красавица ), которую я хочу получить, но после фильтрации (выходная реализация) получено совсем не то, что мне нужно.Подскажите как мне её получить. и ещё: 1. в ф.1.6 и 1.7 в выражении степени экспоненты присутствует символ 'j' это j = кв.корень из (-1) или нет. 2. И учитывая, что имеем дело с дискретными данными, то кто такая 'к' (тамже) (Прошу не пинать ногами. Я просто уже 10 лет не имел дело с выш.матом.) Пожалуйста поясните если кто разобрался в теме. А можно ссылку на тематику по сплайнам? |
|
Сообщ.
#5
,
|
|
|
|
Нулевой коэффициент ряда Фурье вычисляется как интеграл от сигнала, деленный на интервал наблюдения, для непрерывного случая. Для дискретного - простое среднеарифметическое отсчетов. Для стационарного сигнала - всего делов.
Преобразование Фурье, так же как и преобразование Лапласа, выполняет представление функций в ортогональном базисе гармонических функций (комплексная экспонента – такая же гармоническая функция). В общем случае и оригинал, и ее изображение – обе комплексные функции (вещественный сигнал - частный случай). Косинусное и синусное преобразование – частные случаи общего преобразования Фурье в случае, если функция-оригинал симметрична: для первого случая относительно оси Y, для второго - относительно начала координат. Для непрерывных сигналов и их изображений аргумент - непрерывная переменная, для дискретных соответственно появляется дискретный индекс. |
|
Сообщ.
#6
,
|
|
|
|
То есть:
'k' - Нулевой коэффициент. 'j' - частота дискретизации. Так ? |
|
Сообщ.
#7
,
|
|
|
|
Пусть есть непрерывный сигнал 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. Поэтому при невыполнении теоремы отсчетов (Котельникова) и говорят о наложении спектров. Странно, разговор свелся к спектральному анализу детерминированных сигналов из-за того, что ты с самого начала назвал свои данные сигналом. Стоит точно в этом убедиться, чтобы не пропустить вариант, как говорят метрологи, измерения с многократными наблюдениями. Может, надо воспользоваться методами идентификации? Типа модели авторегрессии: на входе стационарный случайный процесс, пропускаемый через динамическое звено, которым может быть тот же антиэлайсинговый аналоговый фильтр АЦП. |