Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: выделение постоянной составляющей
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
_Anatoliy
Доброго времени суток!
Есть шумоподобный сигнал такого вида:
Нажмите для просмотра прикрепленного файла

Как с минимальными затратами выделить из него постоянную составляющую?Ожидаемая её величина порядка 0,001 от максимального значения сигнала.Спектр сигнала представляет собой случайную величину с равномерным распределением от 0 до частоты Найквиста.
Нажмите для просмотра прикрепленного файла
Пробовал различные фильтры - получается нечто монстрообразное.Больше всего мешают низкочастотные составляющие.Что посоветуете?
Михаил_K
Вот простая схемка. Чем меньше коэффициент К, тем уже полоса пропускания, тем дольше будете ждать smile.gif
_Anatoliy
Цитата(Михаил_K @ Oct 23 2008, 11:23) *
Вот простая схемка. Чем меньше коэффициент К, тем уже полоса пропускания, тем дольше будете ждать smile.gif

Спасибо!
Как то странно схема эта работает.
Нажмите для просмотра прикрепленного файла

сверху обычный интегратор,средина - добавление постоянной составляющей,снизу ваша схема.Доходит до 10^42...
Михаил_K
Цитата(_Anatoliy @ Oct 23 2008, 13:00) *
Спасибо!
Как то странно схема эта работает.
Нажмите для просмотра прикрепленного файла

сверху обычный интегратор,средина - добавление постоянной составляющей,снизу ваша схема.Доходит до 10^42...


Простите. Когда рисовал - ошибся. smile.gif С выхода интегратора, в обратной связи, в кружочке суммирования должен быть знак минус а не плюс. Т.е. выход интегратора вычитается из сигнала.
_Anatoliy
Цитата(Михаил_K @ Oct 23 2008, 14:19) *
Простите. Когда рисовал - ошибся. smile.gif С выхода интегратора, в обратной связи, в кружочке суммирования должен быть знак минус а не плюс. Т.е. выход интегратора вычитается из сигнала.


Спасибо,так работает!
Подумаю как её приспособить к моей задаче(разрядности уж больно большие получаются).
rudy_b
Есть простой способ. Пусть к-ячейка хранения постоянной составляющей, а s-sample. Тогда на каждом такте k=k*N+s*(1-N). N- меньше 1.
Это можно сделать и на сложениях со сдвигом.
Поскольку получается просто, то для лучшего усреднения часто оказывается полезно поставить 2-3 таких ячейки, чем городить сложный фильтр.
DRUID3
Цитата(_Anatoliy @ Oct 23 2008, 11:03) *
Доброго времени суток!
Есть шумоподобный сигнал такого вида:
Нажмите для просмотра прикрепленного файла

Как с минимальными затратами выделить из него постоянную составляющую?Ожидаемая её величина порядка 0,001 от максимального значения сигнала.Спектр сигнала представляет собой случайную величину с равномерным распределением от 0 до частоты Найквиста.
Нажмите для просмотра прикрепленного файла
Пробовал различные фильтры - получается нечто монстрообразное.Больше всего мешают низкочастотные составляющие.Что посоветуете?

Во-первых, что в контексте вашего вопроса есть постоянная составляющая? На каком интервале?

Во-вторых неужели подвид скользящего среднего - фильтр скользящего суммирования, использующий два сложения на семпл - есть нечто монстроидальное?
_Anatoliy
Цитата(rudy_b @ Oct 23 2008, 21:10) *

Спасибо!Примем к сведению.
Я уже сделал фильтр по схеме Михаила,пока он меня устраивает.


Цитата(DRUID3 @ Oct 25 2008, 08:52) *
Во-первых, что в контексте вашего вопроса есть постоянная составляющая? На каком интервале?

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


1. Не понял вопроса.
2. Фильтр скользящего среднего начал давать удовлетворительный результат только при окне порядка 300000 семплов.Это ли не монстр?
DRUID3
Цитата(_Anatoliy @ Oct 25 2008, 10:10) *
Я уже сделал фильтр по схеме Михаила,пока он меня устраивает.

Ну устраивает - наздоровье... smile.gif

Цитата(_Anatoliy @ Oct 25 2008, 10:10) *
1. Не понял вопроса.

Он плавно переходит в следующий, но смыл его был в том, что "постоянство" вещь относительная, потому Вам нужен ФНЧ с определенными параметрами, и главный вопрос а может ли он быть реализуем...
Цитата(_Anatoliy @ Oct 25 2008, 10:10) *
2. Фильтр скользящего среднего начал давать удовлетворительный результат только при окне порядка 300000 семплов.Это ли не монстр?

smile.gif Видимо у каждого свои представления о монстрах.

Но я вобщем так понял, что уже Фсе работает как надо... biggrin.gif
_Anatoliy
Цитата(DRUID3 @ Oct 25 2008, 10:21) *
что "постоянство" вещь относительная


Ну почему же относительная?
Постоянная составляющая или есть или её нетbiggrin.gif
net
Цитата(_Anatoliy @ Oct 25 2008, 11:38) *
Ну почему же относительная?
Постоянная составляющая или есть или её нетbiggrin.gif


в задании указана частота сигнала от 0 !!!
поэтому вопрос очень правильный например синусоидальный сигнал с периодом 1 час считать синусоидальным сигналом или считать постоянной составляющей которая меняется каждую минуту
_Anatoliy
Цитата(net @ Oct 25 2008, 10:46) *
в задании указана частота сигнала от 0 !!!
поэтому вопрос очень правильный например синусоидальный сигнал с периодом 1 час считать синусоидальным сигналом или считать постоянной составляющей которая меняется каждую минуту


А,в этом смысле...Согласен,нужно было обозначить полосу пропускания...Коеффициент 2^-16 в схеме Михаила меня устроил.
GetSmart
Цитата(net)
в задании указана частота сигнала от 0 !!!

В таком "предельном" случае тоже есть простой алгоритм. Постоянка равна средне арифметическому от всех доступных сэмплов. Причём по ходу их поступления формируются две суммы - значений сэмплов и их кол-ва, после чего сами сэмплы можно "удалять". Соотвественно поделив одно на другое получим постоянку. Ресурсоёмкость - меньше некуда. Как говорится, какой вопрос - такой ответ smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.