реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Алгоритмы усреднения сигнала
Newegor
сообщение Jun 20 2008, 07:18
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 2-03-06
Из: Минск
Пользователь №: 14 879



Сразу к теме.
Есть выборки аналогового сигнала раз в 100мс. Этот сигнал надо усреднять во времени, причем время усреднения может плавать. Что тут можно применить из ЦОС по проще?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 20 2008, 07:44
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Тут кое-что есть http://www.may.nnov.ru/mak/DSP/Contents.shtml
Go to the top of the page
 
+Quote Post
Angelo
сообщение Jun 20 2008, 07:54
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 1-12-07
Пользователь №: 32 871



Попроще это например с окном, длина его какраз может плавать. Например делаем окно =5, вычисляем отсчет 4, тогда по среднему арифм считаем отсчеты со 2 по 6, затем окно здвигаем
Go to the top of the page
 
+Quote Post
Newegor
сообщение Jun 20 2008, 08:10
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 2-03-06
Из: Минск
Пользователь №: 14 879



Цитата(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, затем окно здвигаем

Идея хороша, но АЧХ у него будет не очень подходящая.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jun 20 2008, 09:49
Сообщение #5


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



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

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


Да


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Newegor
сообщение Jun 20 2008, 10:33
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 2-03-06
Из: Минск
Пользователь №: 14 879



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

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

Сообщение отредактировал Newegor - Jun 20 2008, 10:34
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jun 20 2008, 10:33
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



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

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


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jun 20 2008, 10:47
Сообщение #8


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



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


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


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jun 20 2008, 13:40
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



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


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jun 20 2008, 18:03
Сообщение #10


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Stanislav @ Jun 20 2008, 16:40) *
Медианная же фильтрация к усреднению никаким боком не относится.


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


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
max.ON
сообщение Feb 7 2010, 19:55
Сообщение #11





Группа: Новичок
Сообщений: 2
Регистрация: 7-02-10
Пользователь №: 55 363



Задам вопрос.
Сигнал с датчика дискретизируется АЦП.
на первом этапе измеряется собственный шум тракта (усредняются 8 отсчетов, интервалом 16мкс)
на втором этапе измеряется датчик (усредняются 8 отсчетов, интервалом 16мкс)
далее из 2го вычитается первое.
Вопрос: эквивалентом какого фильтра является это усреднение?

Сообщение отредактировал max.ON - Feb 7 2010, 19:56
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Feb 7 2010, 21:34
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Берем импульсную характеристику фильтра (а она - прямоугольное окно в 16 мкс) и FFT c нее.
Получмм форму АЧХ ФНЧ вида SinX/X с первым нулем на 1/16 = 62.5 kHz.
Чтобы фильтр был получше нужно сглаживающее окно применить.

Сообщение отредактировал sup-sup - Feb 7 2010, 21:34
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Feb 8 2010, 07:39
Сообщение #13


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(max.ON @ Feb 7 2010, 22:55) *
Задам вопрос.
Сигнал с датчика дискретизируется АЦП.
на первом этапе измеряется собственный шум тракта (усредняются 8 отсчетов, интервалом 16мкс)
на втором этапе измеряется датчик (усредняются 8 отсчетов, интервалом 16мкс)
далее из 2го вычитается первое.
Вопрос: эквивалентом какого фильтра является это усреднение?

Если выборки шума и сигнала+шум происходят в разное время, а выборки шума являются статистически независимыми (АБГШ), то это не фильтр, а просто усиление шума. Другими словами, вы не вычтите шум, а только добавите его.
Go to the top of the page
 
+Quote Post
thermit
сообщение Feb 8 2010, 08:54
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



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


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

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

k = 1 - 0.001^(1 / (Fs*Avtime))
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Feb 8 2010, 19:18
Сообщение #15





Guests






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


Пока не определены требования к усреднению, можно предлагать 1001 их вариант.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th June 2025 - 18:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01501 секунд с 7
ELECTRONIX ©2004-2016