Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритмы усреднения сигнала
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Newegor
Сразу к теме.
Есть выборки аналогового сигнала раз в 100мс. Этот сигнал надо усреднять во времени, причем время усреднения может плавать. Что тут можно применить из ЦОС по проще?
rezident
Тут кое-что есть http://www.may.nnov.ru/mak/DSP/Contents.shtml
Angelo
Попроще это например с окном, длина его какраз может плавать. Например делаем окно =5, вычисляем отсчет 4, тогда по среднему арифм считаем отсчеты со 2 по 6, затем окно здвигаем
Newegor
Цитата(rezident @ Jun 20 2008, 10:44) *
Тут кое-что есть http://www.may.nnov.ru/mak/DSP/Contents.shtml

После прочтения, сразу возник второй вопрос. Возможно ли эти фильтры перевести на целочисленную арифметику, для упрощения?

Цитата(Angelo @ Jun 20 2008, 10:54) *
Попроще это например с окном, длина его какраз может плавать. Например делаем окно =5, вычисляем отсчет 4, тогда по среднему арифм считаем отсчеты со 2 по 6, затем окно здвигаем

Идея хороша, но АЧХ у него будет не очень подходящая.
Maverick
Например медианная фильтрация или по среднеарифмитическому. Смотри вложение (описание + VHDL программа).

Цитата(Newegor @ Jun 20 2008, 11:10) *
После прочтения, сразу возник второй вопрос. Возможно ли эти фильтры перевести на целочисленную арифметику, для упрощения?


Да
Newegor
Цитата(Maverick @ Jun 20 2008, 12:49) *
Например медианная фильтрация(или ее разновидности). Смотри вложение (описание + VHDL программа).
Да

При первом просмотре - очень даже ничего. Пошел разбираться и тестировать. Спасибо.
Stanislav
Цитата(Newegor @ Jun 20 2008, 12:10) *
После прочтения, сразу возник второй вопрос. Возможно ли эти фильтры перевести на целочисленную арифметику, для упрощения?
Конечно, можно.
Цитата(Newegor @ Jun 20 2008, 12:10) *
...Идея хороша, но АЧХ у него будет не очень подходящая.
Если Вы говорите именно об усреднении, то это можно делать, например, при помощи фильтра "скользящего среднего", как уже и советовали выше. АЧХ при этом получается такой, какая есть.
Если Вам нужна какая-то другая АЧХ, рассчитайте соответствующий ей фильтр. Делов-то...

Цитата(Maverick @ Jun 20 2008, 13:49) *
Например медианная фильтрация(или ее разновидности). Смотри вложение (описание + VHDL программа).
Медианная - разновидность нелинейной фильтрации. Для "усреднения" не годится.
Maverick
Цитата(Stanislav @ Jun 20 2008, 13:33) *
Конечно, можно.
Медианная - разновидность нелинейной фильтрации. Для "усреднения" не годится.


Почему? Вопрос стоит "Алгоритмы усреднения сигнала" и не уточняется линейное или не линейное усреднение help.gif
Stanislav
Цитата(Maverick @ Jun 20 2008, 14:47) *
Почему? Вопрос стоит "Алгоритмы усреднения сигнала" и не уточняется линейное или не линейное усреднение
Мне показалось, что Автор темы под усреднением понимает операцию вычисления средного арифметического. smile.gif
Медианная же фильтрация к усреднению никаким боком не относится.
Maverick
Цитата(Stanislav @ Jun 20 2008, 16:40) *
Медианная же фильтрация к усреднению никаким боком не относится.


Согласен beer.gif, да не совсем. Косвенно может, т.к. производится выбор среднего из ранжированной последовательности (упорядоченной по возрастанию) значений в окне
max.ON
Задам вопрос.
Сигнал с датчика дискретизируется АЦП.
на первом этапе измеряется собственный шум тракта (усредняются 8 отсчетов, интервалом 16мкс)
на втором этапе измеряется датчик (усредняются 8 отсчетов, интервалом 16мкс)
далее из 2го вычитается первое.
Вопрос: эквивалентом какого фильтра является это усреднение?
sup-sup
Берем импульсную характеристику фильтра (а она - прямоугольное окно в 16 мкс) и FFT c нее.
Получмм форму АЧХ ФНЧ вида SinX/X с первым нулем на 1/16 = 62.5 kHz.
Чтобы фильтр был получше нужно сглаживающее окно применить.
jorikdima
Цитата(max.ON @ Feb 7 2010, 22:55) *
Задам вопрос.
Сигнал с датчика дискретизируется АЦП.
на первом этапе измеряется собственный шум тракта (усредняются 8 отсчетов, интервалом 16мкс)
на втором этапе измеряется датчик (усредняются 8 отсчетов, интервалом 16мкс)
далее из 2го вычитается первое.
Вопрос: эквивалентом какого фильтра является это усреднение?

Если выборки шума и сигнала+шум происходят в разное время, а выборки шума являются статистически независимыми (АБГШ), то это не фильтр, а просто усиление шума. Другими словами, вы не вычтите шум, а только добавите его.
thermit
Цитата
Newegor:
Сразу к теме.
Есть выборки аналогового сигнала раз в 100мс. Этот сигнал надо усреднять во времени, причем время усреднения может плавать. Что тут можно применить из ЦОС по проще?


Простейший случай - скользящее прямоугольное окно длиной соответствующей времени усреднения. Суммируем все отсчеты в окне и результат делим на число отсчетов. Это будет однородный фильтр. Избирательные свойства такого фильтра зависят от времени усреднения.
Чем короче фильтр - тем менее точно будет усредняться сигнал.
Следующий способ - вместо прямоугольного окна использовать импульсную х-ку какого-нить ФНЧ (окно Ханна, например)
На практике удобнее пользоваться аппроксимацией КИХа БИХом:

y(n) = y(n-1) + (x(n) - y(n-1))*k

k = 1 - 0.001^(1 / (Fs*Avtime))
TSerg
Цитата(Newegor @ Jun 20 2008, 10:18) *
Сразу к теме.
Есть выборки аналогового сигнала раз в 100мс. Этот сигнал надо усреднять во времени, причем время усреднения может плавать. Что тут можно применить из ЦОС по проще?


Пока не определены требования к усреднению, можно предлагать 1001 их вариант.
max.ON
Цитата(sup-sup @ Feb 8 2010, 01:34) *
Берем импульсную характеристику фильтра (а она - прямоугольное окно в 16 мкс) и FFT c нее.
Получмм форму АЧХ ФНЧ вида SinX/X с первым нулем на 1/16 = 62.5 kHz.
Чтобы фильтр был получше нужно сглаживающее окно применить.

а как будет зависеть от количества усредняемых отсчетов (2-4-8)?
sup-sup
Цитата(max.ON @ Feb 11 2010, 01:45) *
а как будет зависеть от количества усредняемых отсчетов (2-4-8)?

АЧХ всегда можно найти прямым преобразованием Фурье импульсной характеристики фильтра.
Если 4 точки усреднения, то первый ноль будет на частоте 125 кГц, а при двух точках 250 кГц.
STAR_IK
Цитата(jorikdima @ Feb 8 2010, 13:39) *
Если выборки шума и сигнала+шум происходят в разное время, а выборки шума являются статистически независимыми (АБГШ), то это не фильтр, а просто усиление шума. Другими словами, вы не вычтите шум, а только добавите его.


Вообще то у шума как и у любого случайного процесса есть дисперсия и матожидание. Если вычитать усреднение шума, т.е. матожидание, из усреднения сигнал + шум, то как раз избавимся от систематической ошибки. Это конечно если шум не с нулевым матожиданием, иначе все бесмысленно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.