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

 
 
> Определение постоянной составляющей синусоиды...
vladimir_m
сообщение Nov 21 2008, 13:03
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 9-07-08
Пользователь №: 38 830



Задача такая.
Есть сигнал - синусоида с постоянной составляющей, которая может медленно изменяться.
Синусоида оцифровывается и передаетя в комп буферами. Период синусоиды большой, заранее не известный, намного больше фиксированного размера буфера. Необходимо отслеживать изменение постоянной составляющей по приходу каждого буфера (уточнять с каждым буфером).
Как такое можно сделать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vladimir_m
сообщение Nov 22 2008, 12:31
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 9-07-08
Пользователь №: 38 830



Всем спасибо!
Лично я остановился на варианте уважаемого fontp, как наиболее приемлемом алгоритмически для моей задачи.

Сообщение отредактировал vladimir_m - Nov 22 2008, 12:32
Go to the top of the page
 
+Quote Post
Tanya
сообщение Nov 22 2008, 12:58
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(vladimir_m @ Nov 22 2008, 15:31) *
Всем спасибо!
Лично я остановился на варианте уважаемого fontp, как наиболее приемлемом алгоритмически для моей задачи.

Несколько странно... Такой метод подойдет ведь для сигналов любой формы и их суммы. Если Вы точно знаете, что там одна чистая синусоида, то можно эффективнее... Хозяин - барин.
Go to the top of the page
 
+Quote Post
fontp
сообщение Nov 24 2008, 08:17
Сообщение #4


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(Tanya @ Nov 22 2008, 15:58) *
Несколько странно... Такой метод подойдет ведь для сигналов любой формы и их суммы. Если Вы точно знаете, что там одна чистая синусоида, то можно эффективнее... Хозяин - барин.


Существует закон Парето, утверждающий что для каждой задачи существует наиболее эффективное решение, на 80% от идеала, которое обеспечивают 20% усилий wink.gif Больше и не надо. Зачем платить больше? wink.gif В реальной жизни судбба оставшихся 20% от совершенства в руках менеджеров. Не дело это экспертов... У менеджеров тут только 2 выхода : или удовлетвориться достигнутым, или нанять 10 низкоквалифицированых недорогих студней, чтобы пилить дальше чистое золото wink.gif


В принципе, если бы в условиях задачи было бы сказано, что частота синусоиды находится в диапазоне, то можно было бы предложить следующее (менее простое но более совершенное) решение:
вычистить синусоиду режектором

Походу, чем более "совершенно" решение - тем менее оно робастно (т.е. устойчиво и структурно устойчиво), поскольку зиждется на большем числе СОМНИТЕЛЬНЫХ предположений

Более "эффективное", в смысле совершенное решение не адекватно условию задачи

Оценивать синусоиду - это уже последнее дело. Но кривизна буферов никакой роли не играет. Это не должно смущать автора поста. Если даже данные асинхронны, их можно всегда загнать в линию задержки, которую для решения задачи рассматривать как буфер произвольной длины (до длины линии задержки max)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 24 2008, 08:30
Сообщение #5


Гуру
******

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



Цитата(fontp @ Nov 24 2008, 11:17) *
В принципе, если бы в условиях задачи было бы сказано, что частота синусоиды находится в диапазоне, то можно было бы предложить следующее (тоже простое но эффективное) решение:
вычистить синусоиду режектором
Странно... Я готов был услышать подобное от GetSmart, но не от Вас. sad.gif
Сколько времени уйдёт на такую вот режекцию, ну, сколько переходный процесс будет длиться?
Уж лучше тогда действительно период вычислить, а потом по нему усреднять, как предлагает этот "теоретик".
Режекция может быть эффективна только если период синусоиды известен определённо. Что есть тавталогия.
Кроме того, не сказано, что в сигнале нет разрывов.

Цитата(fontp @ Nov 24 2008, 11:17) *
...Более "эффективное" в смысле совершенное не адекватно условию задачи
Почему же? Оно соответствует условиям в полной мере, только вычислительно гораздо сложнее.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
fontp
сообщение Nov 24 2008, 08:41
Сообщение #6


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(Stanislav @ Nov 24 2008, 11:30) *
Странно... Я готов был услышать подобное от GetSmart, но не от Вас. sad.gif
Сколько времени уйдёт на такую вот режекцию, ну, сколько переходный процесс будет длиться?
Уж лучше тогда действительно период вычислить, а потом по нему усреднять, как предлагает этот "теоретик".
Режекция может быть эффективна только если период синусоиды известен определённо. Что есть тавталогия.
Кроме того, не сказано, что в сигнале нет разрывов.

Почему же? Оно соответствует условиям в полной мере, только вычислительно гораздо сложнее.


Просто Вы не знакомы с законом Парето и основным принципом принятия эффективного решения "80 на 20". Нужно использовать всегда простейшие решения из возможных. Workaround, если Вам это что нибудь говорит, а не нанотехнологию

Про время измерения я упомянул в самом первом посте. Про время ничего не сказано автором. Поэтому можно догадаться, что чуваку время пофиг по умолчанию или около того. Надо исходить из того, что всё что упущено в условии - пофиг, а не усложнять задачу выдумками... Поэтому самое первое и общее решение - НЧ-фильтрация, полосовая режекция - второе решение (полоса определяет время) и т.д.


ЗЫ. Извините, Stanislav, а со своими разрывами Вы вообще всех уже задолбали ещё в начале лета. Про разрывы ничего не сказано, про разрывы Вы придумали wink.gif
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 24 2008, 09:01
Сообщение #7


Гуру
******

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



Цитата(fontp @ Nov 24 2008, 11:41) *
Просто Вы не знакомы с законом Парето и основным принципом принятия эффективного решения "80 на 20". Нужно использовать всегда простейшие решения из возможных. Workaround, если Вам это что нибудь говорит, а не нанотехнологию
Я так не считаю. Простейшие решения - часто оказываются не самыми лучшими. А закон Парето - лишь пример словоблудия, основное положения которого не сможете доказать ни Вы, ни кто-либо другой.
Кроме того, по поводу 80% - Вы себе явно льстите. wink.gif Предложенный Вами метод даст результат через неопределённое время.

Цитата(fontp @ Nov 24 2008, 11:41) *
...Про время измерения я упомянул в самом первом посте. Про время ничего не сказано автором.
Как это не сказано? Постоянная составляющая ему нужна "сразу". Прочитайте ещё раз условия.

Цитата(fontp @ Nov 24 2008, 11:41) *
...Поэтому можно догадаться, что чуваку время пофиг по умолчанию или около того. Надо исходить из того, что всё что упущено в условии - пофиг, а не усложнять задачу выдумками... Поэтому самое первое и общее решение - НЧ-фильтрация, полосовая режекция - второе решение (полоса определяет время) и т.д.
Решение в лоб и без мысли, как я и писал уже...


Цитата(fontp @ Nov 24 2008, 11:41) *
...ЗЫ. Извините, Stanislav, а со своими разрывами Вы вообще всех уже задолбали ещё в начале лета.
Какими такими "моими разрывами"? И кого это "всех"? Настоятельно прошу ответить.

Цитата(fontp @ Nov 24 2008, 11:41) *
...Про разрывы ничего не сказано, про разрывы Вы придумали wink.gif
Если нет - значит нет. Про это тоже нигде не сказано. Собственно, я на этом не настаиваю, и принципиально это ничего не меняет.

Сообщение отредактировал Stanislav - Nov 24 2008, 09:11


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
fontp
сообщение Nov 24 2008, 09:51
Сообщение #8


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(Stanislav @ Nov 24 2008, 12:01) *
Кроме того, по поводу 80% - Вы себе явно льстите. wink.gif Предложенный Вами метод даст результат через неопределённое время.


Да ладно... Переходное время линейного фильтра равно обратному значению его полосы. Вполне определённое. Другое дело, что называет автор под "медленно меняющейся постоянной составляющей", может она "медленно меняется" быстрее чем переходное время фильтра wink.gif

Поэтому я получу результат за известное время ВСЕГДА. Возможно, это будет не то, что хотелось автору. Какой вопрос - такой ответ


Цитата(Stanislav @ Nov 24 2008, 12:01) *
Как это не сказано? Постоянная составляющая ему нужна "сразу". Прочитайте ещё раз условия.


Про "сразу" это он погорячился. И не в условии, а потом...
В любом случае для того, чтобы отличить компоненту частоты 0 от компоненты частоты F ему нужно время измерения сигнала как минимум 1/F

Цитата(Stanislav @ Nov 24 2008, 12:01) *
Решение в лоб и без мысли, как я и писал уже...
Какими такими "моими разрывами"? И кого это "всех"? Настоятельно прошу ответить.


Разрывами, которые Вы собрались сшивать по непрерывности сигнала. Существование разрывов во времени, когда сигнал не регистрируется, обычно есть признак неправильного проектирования девайса. Тогда задним числом программными методами пытаются замутить компенсацию ошибки аппаратного проектирования. Бывает, но не типично...
В маломальски приличном шуме ничего реально "по непрерывности" Вы не зашьете, пустое

"Все" - это все, кроме Вас. Понятно, что это моё частное мнение + мнение тех с кем этот вопрос мной обсуждался wink.gif

Нет-нет-и-нет. Никакой фигни "по непрерывности" в практических случаях не бывает

И не смейте меня винить в хамстве и грозить забанить! В Вашем стиле... Сначала обозвать оппонента "без мысли", потом бежать ябедничать модераторам ;-)

ЗЫ. В дискуссии о "сшивании сигнала по непрерывности" я участвовать не собираюсь. Мое мнение что это фигня, оправданная только для отмазок от предъяв заказчика, когда бабки потрачены на проектирование кривого устройства. Денег всё равно уже нет, нужно искать цивилизованное решение и т.д. wink.gif
Go to the top of the page
 
+Quote Post
alexkok
сообщение Nov 24 2008, 21:03
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837



Цитата(fontp @ Nov 24 2008, 12:51) *
Про "сразу" это он погорячился. И не в условии, а потом...
В любом случае для того, чтобы отличить компоненту частоты 0 от компоненты частоты F ему нужно время измерения сигнала как минимум 1/F

Не обязательно.
Если функция известна, а в данном случае это
y = a + b*sin(2*pi*f + phi),
То при достаточном отношении сигнал/шум можно применить "fitting".


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vladimir_m   Определение постоянной составляющей синусоиды...   Nov 21 2008, 13:03
- - D.I.M.A   Оценивать мат. ожидание процесса.   Nov 21 2008, 13:16
- - rezident   А постоянная составляющая по какому-то закону изме...   Nov 21 2008, 13:24
- - vladimir_m   ЦитатаА постоянная составляющая по какому-то закон...   Nov 21 2008, 13:34
|- - sysel   По идее, для получения постоянной составляющей над...   Nov 21 2008, 13:49
- - Самурай   Цитата(vladimir_m @ Nov 21 2008, 16:03) З...   Nov 21 2008, 14:12
- - vladimir_m   Большое окно - это хорошо. Расчетом занимается и т...   Nov 21 2008, 14:17
|- - fontp   Цитата(vladimir_m @ Nov 21 2008, 17:17) Б...   Nov 21 2008, 15:07
|- - Serg76   Цитата(fontp @ Nov 21 2008, 18:07) Фильтр...   Nov 26 2008, 16:34
- - ivan219   Зделать FFT и 0 отщёт будет = пост состовляющей.   Nov 21 2008, 19:57
|- - GetSmart   Цитата(ivan219 @ Nov 22 2008, 01:57) Здел...   Nov 24 2008, 22:23
- - ivan219   1   Nov 21 2008, 19:57
- - Stanislav   Цитата(ivan219 @ Nov 21 2008, 22:57) Здел...   Nov 21 2008, 20:36
- - Михаил_K   А чем не подходит это http://electronix.ru/forum/i...   Nov 22 2008, 10:01
|- - Stanislav   Цитата(Михаил_K @ Nov 22 2008, 13:01) А ч...   Nov 22 2008, 12:53
|- - Михаил_K   Цитата(Stanislav @ Nov 22 2008, 15:53) А ...   Nov 26 2008, 04:58
|- - Stanislav   Цитата(Михаил_K @ Nov 26 2008, 07:58) Что...   Nov 26 2008, 09:02
|- - Михаил_K   Цитата(Stanislav @ Nov 26 2008, 12:02) Мд...   Nov 26 2008, 09:04
|- - Stanislav   Цитата(Михаил_K @ Nov 26 2008, 12:04) Буд...   Nov 26 2008, 09:08
|- - Stanislav   Цитата(fontp @ Nov 24 2008, 12:51) Да лад...   Nov 25 2008, 00:31
- - GetSmart   Цитата(Stanislav)Для вычисления параметров синусои...   Nov 22 2008, 17:12
|- - Stanislav   Цитата(GetSmart @ Nov 22 2008, 20:12) На ...   Nov 22 2008, 18:09
- - GetSmart   Цитата(Stanislav)Послушайте, уважаемый Получатель ...   Nov 22 2008, 23:38
|- - Stanislav   Цитата(GetSmart @ Nov 23 2008, 02:38) Тол...   Nov 23 2008, 00:14
- - GetSmart   Цитата(Stanislav)Возможность практической реализац...   Nov 23 2008, 22:24
|- - Stanislav   Цитата(GetSmart @ Nov 24 2008, 01:24) Я у...   Nov 23 2008, 23:20
|- - GetSmart   Цитата(Stanislav @ Nov 24 2008, 05:20) А ...   Nov 23 2008, 23:45
|- - Stanislav   Цитата(GetSmart @ Nov 24 2008, 02:45) Ну ...   Nov 23 2008, 23:49
- - GetSmart   По приходу нового буфера берётся несколько последн...   Nov 24 2008, 23:54
- - Stanislav   ЗЫ. fontp, я готов прекратить спор, если будет при...   Nov 25 2008, 07:30
|- - fontp   Цитата(alexkok @ Nov 25 2008, 00:03) Не о...   Nov 25 2008, 07:54
|- - Stanislav   Цитата(fontp @ Nov 25 2008, 10:54) Fittin...   Nov 25 2008, 08:23
|- - alexkok   Цитата(fontp @ Nov 25 2008, 10:54) Fittin...   Nov 25 2008, 17:52
|- - blackfin   Цитата(alexkok @ Nov 25 2008, 20:52) Fitt...   Nov 26 2008, 05:23
- - GetSmart   Цитата(alexkok)Fitting, как Вам уже ответили, при ...   Nov 25 2008, 23:17
|- - alexkok   Цитата(GetSmart @ Nov 26 2008, 02:17) А э...   Nov 26 2008, 08:10
- - GetSmart   Цитата(blackfin)Для выделения полезного сигнала на...   Nov 26 2008, 07:03
|- - alex_os   Цитата(GetSmart @ Nov 26 2008, 10:03) При...   Nov 26 2008, 08:25
- - RadioJunior   пост не в тему... Stanislav, не обижайтесь, но эт...   Nov 26 2008, 09:11
|- - Stanislav   Цитата(RadioJunior @ Nov 26 2008, 12:11) ...   Nov 26 2008, 21:29
|- - Михаил_K   Цитата(RadioJunior @ Nov 26 2008, 12:11) ...   Nov 28 2008, 05:00
|- - Stanislav   Цитата(mvb @ Nov 28 2008, 00:10) Вот мой ...   Nov 28 2008, 06:55
- - GetSmart   Цитата(RadioJunior)Со мной кто-нибудь согласен по ...   Nov 26 2008, 10:43
- - mvb   Господа, сразу прошу прощения за то, что вмешиваюс...   Nov 27 2008, 00:07
|- - Stanislav   Цитата(mvb @ Nov 27 2008, 03:07) Для реал...   Nov 27 2008, 00:23
- - GetSmart   Цитата(mvb)2. Как здесь можно использовать дпф или...   Nov 27 2008, 04:12
- - mvb   Вот мой код, без претензий на робастность и скорос...   Nov 27 2008, 21:10
- - mvb   Если бы у меня был бы фрейм с достаточным количест...   Nov 28 2008, 10:03
|- - Stanislav   Цитата(mvb @ Nov 28 2008, 13:03) Если бы ...   Nov 28 2008, 11:45
- - GetSmart   Цитата(mvb)2. Далее скомпенсировал бы ошибку в ДПФ...   Nov 28 2008, 13:08
|- - Stanislav   Цитата(GetSmart @ Nov 28 2008, 16:08) Да,...   Nov 28 2008, 20:59
- - mvb   Попробовал на досуге определить период синуса в ма...   Nov 30 2008, 09:21


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 00:08
Рейтинг@Mail.ru


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