Jump to content

    
Sign in to follow this  
Newegor

Алгоритмы усреднения сигнала

Recommended Posts

Сразу к теме.

Есть выборки аналогового сигнала раз в 100мс. Этот сигнал надо усреднять во времени, причем время усреднения может плавать. Что тут можно применить из ЦОС по проще?

Share this post


Link to post
Share on other sites

Попроще это например с окном, длина его какраз может плавать. Например делаем окно =5, вычисляем отсчет 4, тогда по среднему арифм считаем отсчеты со 2 по 6, затем окно здвигаем

Share this post


Link to post
Share on other sites
Тут кое-что есть http://www.may.nnov.ru/mak/DSP/Contents.shtml

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

 

Попроще это например с окном, длина его какраз может плавать. Например делаем окно =5, вычисляем отсчет 4, тогда по среднему арифм считаем отсчеты со 2 по 6, затем окно здвигаем

Идея хороша, но АЧХ у него будет не очень подходящая.

Share this post


Link to post
Share on other sites

Например медианная фильтрация или по среднеарифмитическому. Смотри вложение (описание + VHDL программа).

 

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

 

Да

Share this post


Link to post
Share on other sites
Например медианная фильтрация(или ее разновидности). Смотри вложение (описание + VHDL программа).

Да

При первом просмотре - очень даже ничего. Пошел разбираться и тестировать. Спасибо.

Edited by Newegor

Share this post


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

...Идея хороша, но АЧХ у него будет не очень подходящая.
Если Вы говорите именно об усреднении, то это можно делать, например, при помощи фильтра "скользящего среднего", как уже и советовали выше. АЧХ при этом получается такой, какая есть.

Если Вам нужна какая-то другая АЧХ, рассчитайте соответствующий ей фильтр. Делов-то...

 

Например медианная фильтрация(или ее разновидности). Смотри вложение (описание + VHDL программа).
Медианная - разновидность нелинейной фильтрации. Для "усреднения" не годится.

Share this post


Link to post
Share on other sites
Конечно, можно.

Медианная - разновидность нелинейной фильтрации. Для "усреднения" не годится.

 

Почему? Вопрос стоит "Алгоритмы усреднения сигнала" и не уточняется линейное или не линейное усреднение :help:

Share this post


Link to post
Share on other sites
Почему? Вопрос стоит "Алгоритмы усреднения сигнала" и не уточняется линейное или не линейное усреднение
Мне показалось, что Автор темы под усреднением понимает операцию вычисления средного арифметического. :)

Медианная же фильтрация к усреднению никаким боком не относится.

Share this post


Link to post
Share on other sites
Медианная же фильтрация к усреднению никаким боком не относится.

 

Согласен :beer:, да не совсем. Косвенно может, т.к. производится выбор среднего из ранжированной последовательности (упорядоченной по возрастанию) значений в окне

Share this post


Link to post
Share on other sites

Задам вопрос.

Сигнал с датчика дискретизируется АЦП.

на первом этапе измеряется собственный шум тракта (усредняются 8 отсчетов, интервалом 16мкс)

на втором этапе измеряется датчик (усредняются 8 отсчетов, интервалом 16мкс)

далее из 2го вычитается первое.

Вопрос: эквивалентом какого фильтра является это усреднение?

Edited by max.ON

Share this post


Link to post
Share on other sites

Берем импульсную характеристику фильтра (а она - прямоугольное окно в 16 мкс) и FFT c нее.

Получмм форму АЧХ ФНЧ вида SinX/X с первым нулем на 1/16 = 62.5 kHz.

Чтобы фильтр был получше нужно сглаживающее окно применить.

Edited by sup-sup

Share this post


Link to post
Share on other sites
Задам вопрос.

Сигнал с датчика дискретизируется АЦП.

на первом этапе измеряется собственный шум тракта (усредняются 8 отсчетов, интервалом 16мкс)

на втором этапе измеряется датчик (усредняются 8 отсчетов, интервалом 16мкс)

далее из 2го вычитается первое.

Вопрос: эквивалентом какого фильтра является это усреднение?

Если выборки шума и сигнала+шум происходят в разное время, а выборки шума являются статистически независимыми (АБГШ), то это не фильтр, а просто усиление шума. Другими словами, вы не вычтите шум, а только добавите его.

Share this post


Link to post
Share on other sites
Newegor:

Сразу к теме.

Есть выборки аналогового сигнала раз в 100мс. Этот сигнал надо усреднять во времени, причем время усреднения может плавать. Что тут можно применить из ЦОС по проще?

 

Простейший случай - скользящее прямоугольное окно длиной соответствующей времени усреднения. Суммируем все отсчеты в окне и результат делим на число отсчетов. Это будет однородный фильтр. Избирательные свойства такого фильтра зависят от времени усреднения.

Чем короче фильтр - тем менее точно будет усредняться сигнал.

Следующий способ - вместо прямоугольного окна использовать импульсную х-ку какого-нить ФНЧ (окно Ханна, например)

На практике удобнее пользоваться аппроксимацией КИХа БИХом:

 

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

 

k = 1 - 0.001^(1 / (Fs*Avtime))

Share this post


Link to post
Share on other sites
Guest TSerg
Сразу к теме.

Есть выборки аналогового сигнала раз в 100мс. Этот сигнал надо усреднять во времени, причем время усреднения может плавать. Что тут можно применить из ЦОС по проще?

 

Пока не определены требования к усреднению, можно предлагать 1001 их вариант.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this