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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Определение постоянной составляющей синусоиды...
vladimir_m
сообщение Nov 21 2008, 13:03
Сообщение #1


Участник
*

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



Задача такая.
Есть сигнал - синусоида с постоянной составляющей, которая может медленно изменяться.
Синусоида оцифровывается и передаетя в комп буферами. Период синусоиды большой, заранее не известный, намного больше фиксированного размера буфера. Необходимо отслеживать изменение постоянной составляющей по приходу каждого буфера (уточнять с каждым буфером).
Как такое можно сделать?
Go to the top of the page
 
+Quote Post
D.I.M.A
сообщение Nov 21 2008, 13:16
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 26-08-08
Из: Москва
Пользователь №: 39 824



Оценивать мат. ожидание процесса.
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 21 2008, 13:24
Сообщение #3


Гуру
******

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



А постоянная составляющая по какому-то закону изменяется (в зависимости от какого-то внешнего параметра, температуры, например) или непредсказуемо?
Go to the top of the page
 
+Quote Post
vladimir_m
сообщение Nov 21 2008, 13:34
Сообщение #4


Участник
*

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



Цитата
А постоянная составляющая по какому-то закону изменяется (в зависимости от какого-то внешнего параметра, температуры, например) или непредсказуемо?

Закон не известен. Можно с некоторыми оговорками предположить, что постоянная составляющая не изменяется. Но это грубовато.

Цитата
Оценивать мат. ожидание процесса.

Это понятно. Как это сделать, если на входе только кусочки синусоиды, которые постепенно формируют период. А оценивать постоянную составляющую нужно сразу.

Вообще-то я делал так:
- усреднял полученный буфер и рассматривал его как первое приближение.
- усреднял следующий буфер - и в качестве оценки постоянной составляющей брал среднее от двух предыдущих оценок - следующее приближение и т.д.
Такая оценка в итоге сама превращалась в синусоиду...
Go to the top of the page
 
+Quote Post
sysel
сообщение Nov 21 2008, 13:49
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



По идее, для получения постоянной составляющей надо устремить время усреднения к бесконечности (в разумных пределах, конечно). Я бы использовал достаточно большое плывущее окно, по которому бы и усреднял.
Если девайсу Вашему памяти нехватает для большого плывущего окна - пусть компьютерная программа этим занимается.

Можно попробовать сделать цифровой НЧ фильтр, со срезом на низкой частоте (заведомо меньшей частоты Вашего полезного сигнала)
Go to the top of the page
 
+Quote Post
Самурай
сообщение Nov 21 2008, 14:12
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(vladimir_m @ Nov 21 2008, 16:03) *
Задача такая.
Есть сигнал - синусоида с постоянной составляющей, которая может медленно изменяться.
Синусоида оцифровывается и передаетя в комп буферами. Период синусоиды большой, заранее не известный, намного больше фиксированного размера буфера. Необходимо отслеживать изменение постоянной составляющей по приходу каждого буфера (уточнять с каждым буфером).
Как такое можно сделать?


Мат.ожидание (среднее в частном случае) это далеко не "постоянная" составляющая процесса. Достаточно усреднить синусоиду в районе pi/2 чтобы это увидетьsmile.gif. Если оценку постоянной составляющей надо делать быстро, по каждому буферу, то можно попробовать метод МНК. Или ФНЧ как предлагали выше.
Go to the top of the page
 
+Quote Post
vladimir_m
сообщение Nov 21 2008, 14:17
Сообщение #7


Участник
*

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



Большое окно - это хорошо. Расчетом занимается и так комп, просто ему и так задач хватает.
Буду думать как сделать расчет по окну более эффективным. А можно сделать размер окна адаптивным?
Go to the top of the page
 
+Quote Post
fontp
сообщение Nov 21 2008, 15:07
Сообщение #8


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

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



Цитата(vladimir_m @ Nov 21 2008, 17:17) *
Большое окно - это хорошо. Расчетом занимается и так комп, просто ему и так задач хватает.
Буду думать как сделать расчет по окну более эффективным. А можно сделать размер окна адаптивным?


Фильтр НЧ с постоянной времени заведомо во много периодов синусоиды поможет.

Простейший рекурсивный y(n) = (1-e)* y(n-1) + e*x(n) , если всё равно какой в смысле времени реакции, е очень мало

Но если это слишком медленно, то нужно сшивать буфера, оценивать период синусоиды и суммировать по периоду
Go to the top of the page
 
+Quote Post
ivan219
сообщение Nov 21 2008, 19:57
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Зделать FFT и 0 отщёт будет = пост состовляющей.
Go to the top of the page
 
+Quote Post
ivan219
сообщение Nov 21 2008, 19:57
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



1

Сообщение отредактировал ivan219 - Nov 21 2008, 19:58
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 21 2008, 20:36
Сообщение #11


Гуру
******

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



Цитата(ivan219 @ Nov 21 2008, 22:57) *
Зделать FFT и 0 отщёт будет = пост состовляющей.
Круто!
Средство на все случаи жизни. biggrin.gif


Цитата(D.I.M.A @ Nov 21 2008, 16:16) *
Оценивать мат. ожидание процесса.
Глубокая мысль. А как это сделать практически, не подскажете? wink.gif


Цитата(fontp @ Nov 21 2008, 18:07) *
Фильтр НЧ с постоянной времени заведомо во много периодов синусоиды поможет.

Простейший рекурсивный y(n) = (1-e)* y(n-1) + e*x(n) , если всё равно какой в смысле времени реакции, е очень мало...
Некошерно. В лоб решение, без мысли...

Цитата(fontp @ Nov 21 2008, 18:07) *
...Но если это слишком медленно, то нужно сшивать буфера, оценивать период синусоиды и суммировать по периоду
А как сшивать, ежели постоянка?


Цитата(sysel @ Nov 21 2008, 16:49) *
По идее, для получения постоянной составляющей надо устремить время усреднения к бесконечности (в разумных пределах, конечно). Я бы использовал достаточно большое плывущее окно, по которому бы и усреднял.
Если девайсу Вашему памяти нехватает для большого плывущего окна - пусть компьютерная программа этим занимается.

Можно попробовать сделать цифровой НЧ фильтр, со срезом на низкой частоте (заведомо меньшей частоты Вашего полезного сигнала)
М-да, лекарство не лучше болезни... Условиям задачи не удовлетворяет. А, между тем, решение существует. smile.gif

Цитата(vladimir_m @ Nov 21 2008, 16:03) *
Задача такая.
Есть сигнал - синусоида с постоянной составляющей, которая может медленно изменяться.
Синусоида оцифровывается и передаетя в комп буферами. Период синусоиды большой, заранее не известный, намного больше фиксированного размера буфера. Необходимо отслеживать изменение постоянной составляющей по приходу каждого буфера (уточнять с каждым буфером).
Как такое можно сделать?
Для вычисления параметров синусоиды и определения постоянной составляющей теоретически достаточно 4-х отсчётов сигнала.
Решением системы 4-х уравнений будут амплитуда, частота, фаза синусоиды и постоянка.
В Вашей постановке с учётом дополнения задача имеет точное решение по содержимому только одного буфера.
Возможность практической реализации ограничивается необходимой точностью при заданных параметрах выборки и заданном уровне помех.
Оценки ПС в окнах выборки можно усреднять (с "забыванием", если подставка медленно меняется).

Цитата(vladimir_m @ Nov 21 2008, 16:34) *
Вообще-то я делал так:
- усреднял полученный буфер и рассматривал его как первое приближение.
- усреднял следующий буфер - и в качестве оценки постоянной составляющей брал среднее от двух предыдущих оценок - следующее приближение и т.д.
Такая оценка в итоге сама превращалась в синусоиду...
Криво, уж простите... Ничего хорошего так не выйдет. sad.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Nov 22 2008, 10:01
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



А чем не подходит это
http://electronix.ru/forum/index.php?act=S...f=2&t=54351
Go to the top of the page
 
+Quote Post
vladimir_m
сообщение Nov 22 2008, 12:31
Сообщение #13


Участник
*

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



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

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


Гуру
******

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



Цитата(Михаил_K @ Nov 22 2008, 13:01) *
А чем не подходит это
http://electronix.ru/forum/index.php?act=S...f=2&t=54351
А каким должен быть коэффициент K Вашего чудо-алгоритма? wink.gif

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


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Tanya
сообщение Nov 22 2008, 12:58
Сообщение #15


Гуру
******

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



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

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


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Stanislav)
Для вычисления параметров синусоиды и определения постоянной составляющей теоретически достаточно 4-х отсчётов сигнала.
Решением системы 4-х уравнений будут амплитуда, частота, фаза синусоиды и постоянка.
На практике к 4-ём отсчётам понадобится ещё подходящая фаза Юпитера biggrin.gif

Цитата
В Вашей постановке с учётом дополнения задача имеет точное решение по содержимому только одного буфера.

На бумаге, не в реале. Без учёта разрешающей способности АЦП, джиттера, частоты выборки относительно частоты синуса, и т.д. и т.п. Думаю автор не указал ещё важные детали, которые сильно влияют на точность результата, типа шумов, посторонних сигналов (хотя бы 50 Гц частоты).

Сообщение отредактировал GetSmart - Nov 22 2008, 17:33


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 22 2008, 18:09
Сообщение #17


Гуру
******

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



Цитата(GetSmart @ Nov 22 2008, 20:12) *
На практике к 4-ём отсчётам понадобится ещё подходящая фаза Юпитера
Послушайте, уважаемый Получатель Разума. А не пора ли взяться за ум и прекратить писать всякую чушь по поводу вещей, о которых не имеете ни малейшего представления?
Так что вот мой Вам совет: прекращайте обезьянничать и займитесь чем-нибудь более полезным.

Цитата(GetSmart @ Nov 22 2008, 20:12) *
...На бумаге, не в реале. Без учёта разрешающей способности АЦП, джиттера, частоты выборки относительно частоты синуса, и т.д. и т.п. Думаю автор не указал ещё важные детали, которые сильно влияют на точность результата, типа шумов, посторонних сигналов (хотя бы 50 Гц частоты).
Прежде, чем писать ерунду, прочитайте тему сначала. Особо обратите внимание на условие и на пост #11.
Предложенный мною путь даст принципиально самую точную оценку за разумное время из всех, что здесь обнародованы. Можете справиться у ув. fontp. biggrin.gif
Естественно, его нужно довести до ума. Но если Автору темы не надо - зачем же тогда зря стараться?

Сообщение отредактировал Stanislav - Nov 22 2008, 19:28


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 22 2008, 23:38
Сообщение #18


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Stanislav)
Послушайте, уважаемый Получатель Разума.
Только настоящий "Получатель Разума" в контексте вопроса автора темы мог написать такое:
Цитата
Для вычисления параметров синусоиды и определения постоянной составляющей теоретически достаточно 4-х отсчётов сигнала.
...
В Вашей постановке с учётом дополнения задача имеет точное решение по содержимому только одного буфера.
Мне до такого разума ещё далеко cool.gif
Можно поинтересоваться, как посчитать точный результат в буфере, равном 1/30 периода синусоиды, где все значения 10-битные, а амплитуда синусоиды допустим 2-3 бита? Если очень хочется, то 4 biggrin.gif И как этот самый точный результат будет меняться от одного буфера к следующему?
С нетерпением жду чуда cool.gif

Цитата
Предложенный мною путь даст принципиально самую точную оценку за разумное время из всех, что здесь обнародованы. Можете справиться у ув. fontp.

Может он написан невидимыми чернилами, но не видно его, ей богу lol.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 23 2008, 00:14
Сообщение #19


Гуру
******

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



Цитата(GetSmart @ Nov 23 2008, 02:38) *
Только настоящий "Получатель Разума" в контексте вопроса автора темы мог написать такое...
Вот глупенький... sad.gif
Читаем ещё раз (у остальных посетителей прошу прощения за самоцитирование):
Цитата
Для вычисления параметров синусоиды и определения постоянной составляющей теоретически достаточно 4-х отсчётов сигнала.
Решением системы 4-х уравнений будут амплитуда, частота, фаза синусоиды и постоянка.
В Вашей постановке с учётом дополнения задача имеет точное решение по содержимому только одного буфера.
Возможность практической реализации ограничивается необходимой точностью при заданных параметрах выборки и заданном уровне помех.
Оценки ПС в окнах выборки можно усреднять (с "забыванием", если подставка медленно меняется).
Для говорунов, "отличающихся умом и сообразительностью", ключевое слово и фразу выделил.
Даже до Вас должно начать доходить. В противном случае - увы, медицина бессильна. crying.gif

Цитата(GetSmart @ Nov 23 2008, 02:38) *
Мне до такого разума ещё далеко cool.gif
Нисколько в этом не сомневаюсь. cool.gif

Цитата(GetSmart @ Nov 23 2008, 02:38) *
...Можно поинтересоваться, как посчитать точный результат в буфере, равном 1/30 периода синусоиды, где все значения 10-битные, а амплитуда синусоиды допустим 2-3 бита? Если очень хочется, то 4 biggrin.gif И как этот самый точный результат будет меняться от одного буфера к следующему?
С нетерпением жду чуда
Ждите, дорогой, ждите. Как тот кот над дыркой. biggrin.gif


Цитата(GetSmart @ Nov 23 2008, 02:38) *
Может он написан невидимыми чернилами, но не видно его, ей богу
Вы смысл написанного не можете понять, только и всего. biggrin.gif
Если автору темы будет интересно, можно и разжевать. Вы же помучайтесь. wink.gif И о консультации у старших товарищей не забывайте: метод обращения к авторитету, вероятно, для Вас - единственный путь Получения Разума, так как головой вы думать не способны, что и подтверждаете в очередной раз. smile.gif


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


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Stanislav)
Возможность практической реализации ограничивается необходимой точностью при заданных параметрах выборки и заданном уровне помех.
Я уже привёл пример исходных данных, которые не позволят вычислить ваши пустые обещания. Можете продолжать вертеться как клоуны в цирке, но мне и другим давно ясно что вы пи...бол.

ЗЫ. Даже Котельников так беспардонно не насиловал математику smile.gif

Цитата(fontp)
Но если это слишком медленно, то нужно сшивать буфера, оценивать период синусоиды и суммировать по периоду

Это пока что самый простой, точный и оперативный (по задержке между сигналом и результатом) из предложенных здесь методов. При условии, что между поступающими буферами нет потерянных отсчётов. Если вдруг будет постоянка, то любая сумма (делённая на кол-во отсчётов) любого кол-ва отсчётов будет правильным результатом smile.gif

Причём когда в сигнале есть только одна синусоида и она значительно больше шумов, то достаточно найти два пика этой синусоиды (без т.н. "оценивания") и посчитать сумму между ними.

Сообщение отредактировал GetSmart - Nov 23 2008, 22:32


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 23 2008, 23:20
Сообщение #21


Гуру
******

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



Цитата(GetSmart @ Nov 24 2008, 01:24) *
Я уже привёл пример исходных данных, которые не позволят вычислить ваши пустые обещания.
Да зачем мне Ваши данные?
Я основываюсь на информации, предоставленной Автором темы.
Ваши же вопросы достойны отдельного раздела на форуме. wink.gif

Цитата(GetSmart @ Nov 24 2008, 01:24) *
...Можете продолжать вертеться как клоуны в цирке, но мне и другим давно ясно что вы пи...бол.
А вот по поводу этого заявления, уважаемый, будет направлена жалоба в администрацию. Надеюсь, что попрошайничество на сей раз Вам не поможет снять взыскание.
И кто эти "другие", не могли бы просветить? wink.gif

Цитата(GetSmart @ Nov 24 2008, 01:24) *
ЗЫ. Даже Котельников так беспардонно не насиловал математику smile.gif
Да ладно Вам, ниспровергатель основ, на Котельникова напраслину возводить. Признайтесь лучше, что не понимаете сути открытого им закона. Одна тема про разрешающую способность АЦП с плавным переходом к "опровержению" теоремы отсчётов чего стоит.
Ну, а на меня - тем более не надо. smile.gif Ибо, в отличие от Котельникова, я Ваше невежество могу вытащить на свет божий и распластать пред взоры публики не отходя от кассы. wink.gif

Цитата(GetSmart @ Nov 24 2008, 01:24) *
...Это пока что самый простой, точный и оперативный (по задержке между сигналом и результатом) из предложенных здесь методов.
А Вы у ув. fontp не забыли по этому поводу получить консультацию? Если нет - не тяните и сделайте это сейчас же! biggrin.gif

Он-то знает, что это вовсе не так. wink.gif

Цитата(GetSmart @ Nov 24 2008, 01:24) *
...При условии, что между поступающими буферами нет потерянных отсчётов.
Этого в условии нет.
Кроме того, сказано (нужное традиционно выделил smile.gif ) :
Цитата(vladimir_m @ Nov 21 2008, 16:03) *
Задача такая.
Есть сигнал - синусоида с постоянной составляющей, которая может медленно изменяться.
Синусоида оцифровывается и передаетя в комп буферами. Период синусоиды большой, заранее не известный, намного больше фиксированного размера буфера. Необходимо отслеживать изменение постоянной составляющей по приходу каждого буфера (уточнять с каждым буфером).
Как такое можно сделать?
Цитата(vladimir_m @ Nov 21 2008, 16:34) *
...А оценивать постоянную составляющую нужно сразу.
Вот я и предложил способ, который определяет постоянную составляющую "сразу". А потом может её уточнять с приходом каждого последующего буфера.

Цитата(GetSmart @ Nov 24 2008, 01:24) *
...Если вдруг будет постоянка, то любая сумма (делённая на кол-во отсчётов) любого кол-ва отсчётов будет правильным результатом smile.gif
lol.gif lol.gif lol.gif
Дорогой, Вы меня способны уморить насмерть. Пожалейте, ради бога, не выдавайте больше таких откровений...

Цитата(GetSmart @ Nov 24 2008, 01:24) *
...Причём когда в сигнале есть только одна синусоида и она значительно больше шумов, то достаточно найти два пика этой синусоиды (без т.н. "оценивания") и посчитать сумму между ними.
lol.gif
А это как: "посчитать сумму между ними", т.е., двумя пиками, как Вы изволили выразиться? 07.gif

Вот и посчитайте её для своих же условий. А я посмеюсь.


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


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Stanislav @ Nov 24 2008, 05:20) *
А вот по поводу этого заявления, уважаемый, будет направлена жалоба в администрацию. И, надеюсь, что попрошайничество на сей раз Вам не поможет снять взыскание.

Ну вы прямо как девочка... Будет жаловаться. Прямого нарушения правил нет, успокойтесь smile.gif

Где конкретный алгоритм расчёта постоянки только по одному буферу? Либо выкладывайте, либо слив засчитан. Отмазки типа "знаю, но не скажу" оставьте для своих обожателей.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 23 2008, 23:49
Сообщение #23


Гуру
******

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



Цитата(GetSmart @ Nov 24 2008, 02:45) *
Ну вы прямо как девочка... Будет жаловаться. Прямого нарушения правил нет, успокойтесь smile.gif
Это решать модераторам. Скриншоты имеются. Надеюсь, они примут правильное решение.

Цитата(GetSmart @ Nov 24 2008, 02:45) *
...Где конкретный алгоритм расчёта постоянки только по одному буферу? Либо выкладывайте, либо слив засчитан. Отмазки типа "знаю, но не скажу" оставьте для своих обожателей.
Так не пойдёт. Давайте на деньги поспорим.
Не будет алгоритма - деньги Ваши. Ну, а уж будет - мои.wink.gif
За бесплатно доказывать Вам что-либо не имею желания боле.


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


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

Группа: Свой
Сообщений: 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
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #26


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

Группа: Свой
Сообщений: 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
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #28


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

Группа: Свой
Сообщений: 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
Сообщение #29


Знающий
****

Группа: Участник
Сообщений: 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
GetSmart
сообщение Nov 24 2008, 22:23
Сообщение #30


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(ivan219 @ Nov 22 2008, 01:57) *
Зделать FFT и 0 отщёт будет = пост состовляющей.
Возможный уровень ошибки из-за нецелого числа периодов в FFT будет A/N, где A = амплитуда синусоиды, N = кол-во целых периодов синусоиды в расчётных отсчётах. При вычислении нового FFT после прихода нового буфера этот уровень ошибки выльется пульсациями в результате. Прикол в том, что ошибка будет приблизительно равна ошибке в вычислении простого средне арифметического всех отсчётов smile.gif

Сообщение отредактировал GetSmart - Nov 24 2008, 22:38


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 24 2008, 23:54
Сообщение #31


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



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


PS. Зубрила нервно курит в сторонке biggrin.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 25 2008, 00:31
Сообщение #32


Гуру
******

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



Цитата(fontp @ Nov 24 2008, 12:51) *
Да ладно... Переходное время линейного фильтра равно обратному значению его полосы. Вполне определённое. Другое дело, что называет автор под "медленно меняющейся постоянной составляющей", может она "медленно меняется" быстрее чем переходное время фильтра
Очень распространённое заблуждение, обычно выдающее дилетанта.
"Переходное время фильтра", как Вы изволили выразиться, определяется, в общем, не шириной его полосы, а крутизной спада спектральных составляющих в переходной полосе (т.е, эквивалентной добротностью), отнесённой к частоте среза этого фильтра.
Не устаю вам в очередной раз удивляться... В данном случае, уже с кислым привкусом... sad.gif

Цитата(fontp @ Nov 24 2008, 12:51) *
Поэтому я получу результат за известное время ВСЕГДА. Возможно, это будет не то, что хотелось автору. Какой вопрос - такой ответ
Да я и не спрашивал особенно ни о чём... Только вот в условии написано:
Цитата(vladimir_m @ Nov 21 2008, 16:03) *
...Синусоида оцифровывается и передаетя в комп буферами. Период синусоиды большой, заранее не известный, намного больше фиксированного размера буфера...
Отсюда явно следует, что результат Вы получите за время заранее неизвестное, то есть, неопределённое.
Хотелось бы верить, что хоть сейчас это стало понятным...

Цитата(fontp @ Nov 24 2008, 12:51) *
...Про "сразу" это он погорячился. И не в условии, а потом...
Не заставляйте подозревать Вас в лукавстве.
Это условие было обнародовано до Вашего, равно как и моего, первого поста.
Насчёт "погорячился" - это лишь Ваши придумки. Лично я предпочитаю понимать всё именно так, как написано.

Цитата(fontp @ Nov 24 2008, 12:51) *
...В любом случае для того, чтобы отличить компоненту частоты 0 от компоненты частоты F ему нужно время измерения сигнала как минимум 1/F
Это верно лишь в применению к Вашим советам.
Я же предлагаю метод, который будет на порядок-другой быстрее. Более конкретно, он выдаст результат на основании данных только одного буфера, если уровень скммарных помех будет не слишком велик, т.е., в T/t раз быстрее, чем Ваш (T-период синусоиды, t-длина буфера).

Цитата(fontp @ Nov 24 2008, 12:51) *
...Разрывами, которые Вы собрались сшивать по непрерывности сигнала.
Повторяю вопрос: почему эти разрывы "мои"? Прошу ответить.
И каким это образом я "пытался сшивать разрывы по непрерывности сигнала"? Вы хоть понимаете, что сейчас написали? 07.gif

ЗЫ. Вероятно, речь идёт об этой теме.
Я бы на Вашем месте не позорился. biggrin.gif

Цитата(fontp @ Nov 24 2008, 12:51) *
...Существование разрывов во времени, когда сигнал не регистрируется, обычно есть признак неправильного проектирования девайса.
Да что Вы говорите?
У нас, например, такие дивайсы делают - только в путь. А об их "неправильном проектировании" судить, к счастью, не Вам, а потребителям.

Цитата(fontp @ Nov 24 2008, 12:51) *
...Тогда задним числом программными методами пытаются замутить компенсацию ошибки аппаратного проектирования. Бывает, но не типично...
Если "бывает", зачем тогда об этом здесь писать?
"Ошибки проектирования", повторюсь, целиком на Вашей совести.

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

Цитата(fontp @ Nov 24 2008, 12:51) *
..."Все" - это все, кроме Вас. Понятно, что это моё частное мнение + мнение тех с кем этот вопрос мной обсуждался
Там я пояснил, как, вопреки Вашему мнению, задача может быть решена. И многие посетители это поняли, и прогнали у себя на компах матлабовский алгоритм, мною там выложенный, чтобы убедиться в такой возможности.
Алгоритм с тех пор доработан, и почти готов. Если есть желание - предлагаю обсудить, только без надувания щёк и фырканья.
А о тех, с кеми этот вопрос обсуждался, не имею чести, так сказать... В теме наблюдал кучку неучей, неспособных принять очевидное, даже выраженное в матлабовском коде и выложенное в виде диаграмм.
Так что проецировать на "всех" своё невежество настоятельно не рекомендую. Отвечайте за себя, если уж поспорить хочется.

Цитата(fontp @ Nov 24 2008, 12:51) *
Нет-нет-и-нет. Никакой фигни "по непрерывности" в практических случаях не бывает
Жыыыр. biggrin.gif

Цитата(fontp @ Nov 24 2008, 12:51) *
...И не смейте меня винить в хамстве и грозить забанить! В Вашем стиле... Сначала обозвать оппонента "без мысли", потом бежать ябедничать модераторам ;-)
Я бы предпочёл высечь ремнём оппонента, затеявшего этот безсмысленный спор. Однако, по причине географической удалённости, предпочитаю действовать в соответствии с Правилами форума, не вступая в излишнюю полемику с их нарушителем.
Если не знаешь, как поступить, поступай по уставу (ЦЭ)
На Вас же пока я не жаловался, так что не волнуйтесь понапрасну. smile.gif

Цитата(fontp @ Nov 24 2008, 12:51) *
...ЗЫ. В дискуссии о "сшивании сигнала по непрерывности" я участвовать не собираюсь. Мое мнение что это фигня, оправданная только для отмазок от предъяв заказчика, когда бабки потрачены на проектирование кривого устройства. Денег всё равно уже нет, нужно искать цивилизованное решение и т.д.
Скучно читать Вас, ей-богу. Такую чушь пишете... А ещё инженером называетесь, наверное...


Цитата(GetSmart @ Nov 25 2008, 01:23) *
Возможный уровень ошибки из-за нецелого числа периодов в FFT будет A/N, где A = амплитуда синусоиды, N = кол-во целых периодов синусоиды в расчётных отсчётах. При вычислении нового FFT после прихода нового буфера этот уровень ошибки выльется пульсациями в результате. Прикол в том, что ошибка будет приблизительно равна ошибке в вычислении простого средне арифметического всех отсчётов
А это что?
Цитата(vladimir_m @ Nov 21 2008, 16:03) *
Синусоида оцифровывается и передаетя в комп буферами. Период синусоиды большой, заранее не известный, намного больше фиксированного размера буфера.
biggrin.gif
Теоретик, так и растак...

Цитата(GetSmart @ Nov 25 2008, 02:54) *
По приходу нового буфера берётся несколько последних буферов (с гарантированным хотя бы одним периодом) и точно определяется период опорной частоты методом корелляции.
biggrin.gif

Цитата(GetSmart @ Nov 25 2008, 02:54) *
...Интеграл сигнала от периода даст постоянку. Влияние шумов на результат минимально. Широкие просторы для оптимизации.
biggrin.gif

Цитата(GetSmart @ Nov 25 2008, 02:54) *
...Начиная от начального поиска пика корелляции в допустимых пределах частоты синусоиды и до последующего использования в алгоритме корелляции минимального кол-ва буферов, равного 1..1.5 от периода. Плюс учёт первоначального постоянного смещения (постояннки) между периодами для повышения точности результата.
biggrin.gif
fontp, это ведь один из тех, с кем Вы обсуждали мои алгоритмы, правда?
Ещё 729 и Переключателя не хватает для полного комплекта.



Цитата(alexkok @ Nov 25 2008, 00:03) *
Не обязательно.
Если функция известна, а в данном случае это
y = a + b*sin(2*pi*f + phi),
То при достаточном отношении сигнал/шум можно применить "fitting".
Совершенно так!
Это я и пытаюсь доказать оппонентам. С нулевым результатом, по причинам, от меня не зависящим.
В присутствии шумов и ошибок дискретизации придётся "решать" передетерминированную систему. Но самое важное, что функциональная зависимость сигнала известна точно! И поэтому такой подход даст наилучший результат по сравнению со всеми другими, предложенными в данной теме, при любых критериях оптимизации.
Конечно, по мере накопления материала вычислительная сложность задачи будет увеличиваться. С некоторого времени придётся или усекать окно, или переходить на другой, более простой способ. Но к этому времени оценка параметров сигнала уже давно будет, тогда, как ув. fontp со своими ФНЧ и режекторными фильтрами будет её ждать до посинения. sad.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 25 2008, 07:30
Сообщение #33


Гуру
******

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



ЗЫ. fontp, я готов прекратить спор, если будет признано, что написанное GetSmart неверно:

Цитата(GetSmart @ Nov 24 2008, 01:24) *
Цитата(fontp @ Nov 21 2008, 18:07) *
Но если это слишком медленно, то нужно сшивать буфера, оценивать период синусоиды и суммировать по периоду
Это пока что самый простой, точный и оперативный (по задержке между сигналом и результатом) из предложенных здесь методов. При условии, что между поступающими буферами нет потерянных отсчётов. Если вдруг будет постоянка, то любая сумма (делённая на кол-во отсчётов) любого кол-ва отсчётов будет правильным результатом

А вот это верно:
Цитата(Stanislav @ Nov 22 2008, 21:09) *
Предложенный мною путь даст принципиально самую точную оценку за разумное время из всех, что здесь обнародованы.
Естественно, в алгоритмическом смысле, без учёта вычислительных затрат.

Собственно, это и составляет смысл дискуссии.

В противном случае, придётся проводить ликбез с демонстрацией. Но тогда уж без обид, пожалуйста.


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


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

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



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


Fitting в присутствии шума работает плохо, как всякая параметрическая модель.

Цитата(Stanislav @ Nov 25 2008, 10:30) *
ЗЫ. fontp, я готов прекратить спор, если будет признано, что написанное GetSmart неверно:

Это пока что самый простой, точный и оперативный (по задержке между сигналом и результатом) из предложенных здесь методов. При условии, что между поступающими буферами нет потерянных отсчётов. Если вдруг будет постоянка, то любая сумма (делённая на кол-во отсчётов) любого кол-ва отсчётов будет правильным результатом
А вот это верно:Естественно, в алгоритмическом смысле, без учёта вычислительных затрат.
Собственно, это и составляет смысл дискуссии.

В противном случае, придётся проводить ликбез с демонстрацией. Но тогда уж без обид, пожалуйста.


А с вами никто и не спорит, неуч wink.gif Спор давно закончен.
А здесь две страницы вашего флуда, писсатель. По поводу вашего метода ничего сказать не могу, честно, не стану врать - как хам, возомнивший о себе, вы у меня давно в игноре. Соответственно, ваши посты я обычно не читаю, разве что в разделе общение, чисто поржать включаю wink.gif

Цитата(vladimir_m @ Nov 22 2008, 15:31) *
Всем спасибо!
Лично я остановился на варианте уважаемого fontp, как наиболее приемлемом алгоритмически для моей задачи.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 25 2008, 08:23
Сообщение #35


Гуру
******

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



Цитата(fontp @ Nov 25 2008, 10:54) *
Fitting в присутствии шума работает плохо, как всякая параметрическая модель.
smile.gif
А кто говорил о шуме, уважаемый?
Кроме того, смею Вас заверить: фиттинг в шуме работает как раз хорошо. Обусловленность матриц потому что хорошая.

Цитата(fontp @ Nov 25 2008, 10:54) *
...А с вами никто и не спорит, неуч wink.gif Спор давно закончен. А здесь две страницы вашего флуда, писсатель. По поводу вашего метода ничего сказать не могу - как хам, возомнивший о себе, вы у меня давно в игноре. Соответственно, ваши посты я обычно не читаю, разве что в разделе общение, чисто поржать
Ну, что же Вы так нервничаете, уважаемый? Спокойнее надо, серьёзнее себя вести. Я ведь тоже могу ошибаться. Вот и подумалось, что со мной кто-то захотел поспорить. Очень рад, что это были не Вы. smile.gif
Только выражаетесь вот снова как-то вычурно, во множественном числе. Слова нехорошие употребляете... Некрасиво...
Рекомендую зверобой и валериану.
И почему же я у Вас давно в игноре? Уж не за ту ли тему, упомянутую Вами, где я объяснил, Вам как надо решать задачу, и даже показал наглядно? Дык, за это спасибо говорить надо, а не в игнор ставить, по-моему...


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
alexkok
сообщение Nov 25 2008, 17:52
Сообщение #36


Знающий
****

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



Цитата(fontp @ Nov 25 2008, 10:54) *
Fitting в присутствии шума работает плохо, как всякая параметрическая модель.

Fitting, как Вам уже ответили, при шуме работает хорошо.
Вопрос только - какую точность удастся получить.
Зависит от длины буфера, сигнал/шум, соотношения длины буфера и периода частоты, соотношения амплитуд синусоиды и величины постоянки.
Вполне возможно что одного буфера будет достаточно.
А с двумя буферами, если задержка между ними известна и достаточно велика, правильный результат почти гарантирован.


--------------------
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 25 2008, 23:17
Сообщение #37


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(alexkok)
Fitting, как Вам уже ответили, при шуме работает хорошо.
Вопрос только - какую точность удастся получить.

Что-то более конкретное можете сказать? Например для 1К буфера, 10 битные сэмплы, 7 бит (+-128) амплитуда, S/N=20dB, период синусоиды = 10 буферов.
Цитата
соотношения амплитуд синусоиды и величины постоянки.
А это как влияет на точность?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Nov 26 2008, 04:58
Сообщение #38


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(Stanislav @ Nov 22 2008, 15:53) *
А каким должен быть коэффициент K Вашего чудо-алгоритма? wink.gif


Что такое? Наш всезнайка не знает как определить коэффициент К?

ИМХО: Если человек обладает хотя-бы десятой частью тех знаний, которые вы, Станислав, здесь пытаетесь показать, то он легко может отличить"Чудо-алгоритм" от примитивного рекурсивного ФНЧ.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Nov 26 2008, 05:23
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(alexkok @ Nov 25 2008, 20:52) *
Fitting, как Вам уже ответили, при шуме работает хорошо.
Предлагаю на поставленную задачу посмотреть под другим углом.
Для выделения полезного сигнала на фоне шума ничего лучше согласованного фильтра, насколько мне известно, ещё не придумали. В данной задаче полезным сигналом является постоянная составляющая. Согласованным фильтром для неё будет ФНЧ с бесконечно узкой полосой пропускания. Ч.Т.Д.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 26 2008, 07:03
Сообщение #40


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(blackfin)
Для выделения полезного сигнала на фоне шума ничего лучше согласованного фильтра, насколько мне известно, ещё не придумали.

Придумали корреляцию, ДПФ и ещё много чего здесь уже описанного. Результат сразу, без лишних задержек типа полосы фильтра.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
alexkok
сообщение Nov 26 2008, 08:10
Сообщение #41


Знающий
****

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



Цитата(GetSmart @ Nov 26 2008, 02:17) *
А это как влияет на точность?

Вы забыли уровень постоянки.
А постоянка, если я правильно понял автора, и есть параметр который нужно измерить, причем быстро.
Всё остальное, в том числе и синусоида, является шумом по отношению к постоянке.
Примем для определенности уровень постоянки в 10 единиц.
Цитата
Что-то более конкретное можете сказать? Например для 1К буфера, 10 битные сэмплы, 7 бит (+-128) амплитуда, S/N=20dB, период синусоиды = 10 буферов.

Попробую грубо прикинуть. Вывести точные формулы для оценки ошибки желающие могут сами.
После корреляции с 1к буфером будем иметь S/N 50дБ.
Т. е. для полной синусоиды мы бы имели ошибку амплитуды ~0,3% и фазы около 0,3гр.
Т. к. мы имеем только 10% периода, то ошибка будет на порядок больше.
Итого где-то 4 единицы ошибки, т. е. для постоянки ошибка будет около 40%.
Желающие меня поправят.

Цитата
(blackfin)
Предлагаю на поставленную задачу посмотреть под другим углом.
Для выделения полезного сигнала на фоне шума ничего лучше согласованного фильтра, насколько мне известно, ещё не придумали. В данной задаче полезным сигналом является постоянная составляющая. Согласованным фильтром для неё будет ФНЧ с бесконечно узкой полосой пропускания. Ч.Т.Д.

Проблема в том, что автор хочет получить результат быстро, а не через бесконечное время.

Сообщение отредактировал alexkok - Nov 26 2008, 08:12


--------------------
Go to the top of the page
 
+Quote Post
alex_os
сообщение Nov 26 2008, 08:25
Сообщение #42


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(GetSmart @ Nov 26 2008, 10:03) *
Придумали корреляцию, ДПФ и ещё много чего здесь уже описанного. Результат сразу, без лишних задержек типа полосы фильтра.

А корреляция ( или там нулевой коэф. ДПФ) разве не похожи на согласованный фильтр?! biggrin.gif И чтобы посчитать туже корреляцию разве не нужно накопить достаточный блок данных?


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 26 2008, 09:02
Сообщение #43


Гуру
******

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



Цитата(Михаил_K @ Nov 26 2008, 07:58) *
Что такое? Наш всезнайка не знает как определить коэффициент К?
Но-но, полегче, юноша.
Я действительно не знаю, как определить коэффициент К при данной постановке задачи.

Цитата(Михаил_K @ Nov 26 2008, 07:58) *
...ИМХО: Если человек обладает хотя-бы десятой частью тех знаний, которые вы, Станислав, здесь пытаетесь показать, то он легко может отличить"Чудо-алгоритм" от примитивного рекурсивного ФНЧ.
Мда... Вы, вероятно, не обладаете и одной сотой. Поскольку предлагаемый Вами чудо-алгоритм и есть "примитивный рекурсивный ФНЧ". wink.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Nov 26 2008, 09:04
Сообщение #44


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(Stanislav @ Nov 26 2008, 12:02) *
Мда... Вы, вероятно, не обладаете и одной сотой. Поскольку предлагаемый Вами чудо-алгоритм и есть "примитивный рекурсивный ФНЧ". wink.gif


Будьте откровенны. Вы ведь это поняли только после моей подсказки lol.gif
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 26 2008, 09:08
Сообщение #45


Гуру
******

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



Цитата(Михаил_K @ Nov 26 2008, 12:04) *
Будьте откровенны. Вы ведь это поняли только после моей подсказки
Я понял, что Вы написали бред, молодой человек. Так что рекомендую прекратить флуд в теме и заняться чем-нибудь более полезным, если на прямо поставленный вопрос ответить не можете.


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


Частый гость
**

Группа: Участник
Сообщений: 117
Регистрация: 28-01-08
Пользователь №: 34 498



пост не в тему...

Stanislav, не обижайтесь, но это правда.

Вот какую ветку ни открою, везде Stanislav пытается всем утереть нос под видом большого знатока всего и вся. Это кризис возраста или врожденный комплекс Наполеона?...

Со мной кто-нибудь согласен по этому поводу?

Сообщение отредактировал RadioJunior - Nov 26 2008, 09:11
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 26 2008, 10:43
Сообщение #47


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(RadioJunior)
Со мной кто-нибудь согласен по этому поводу?
Молчание - знак согласия smile.gif

Цитата(alex_os)
И чтобы посчитать туже корреляцию разве не нужно накопить достаточный блок данных?
Достаточно двух периодов сигнала. То есть реальных, а не предположительно максимального периода для постоянной времени фильтра.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Serg76
сообщение Nov 26 2008, 16:34
Сообщение #48


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(fontp @ Nov 21 2008, 18:07) *
Фильтр НЧ с постоянной времени заведомо во много периодов синусоиды поможет.

Простейший рекурсивный y(n) = (1-e)* y(n-1) + e*x(n) , если всё равно какой в смысле времени реакции, е очень мало

Но если это слишком медленно, то нужно сшивать буфера, оценивать период синусоиды и суммировать по периоду


Может несколько запоздало, но мне тоже кажется, что это наиболее подходящий вариант. У меня по такому принципу построены системы АРУ и тактовой синхронизации в демодуляторе. Вхождение в синхронизм осуществляется достаточно быстро и реализовано просто. Энергетические потери демодулятора при этом составляют Eb/No<0,4 дБ при Pb=10^-6 (для QPSK).
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 26 2008, 21:29
Сообщение #49


Гуру
******

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



Цитата(RadioJunior @ Nov 26 2008, 12:11) *
пост не в тему...
Зачем? 01.gif

Цитата(RadioJunior @ Nov 26 2008, 12:11) *
Stanislav, не обижайтесь, но это правда.

Вот какую ветку ни открою, везде Stanislav пытается всем утереть нос под видом большого знатока всего и вся.
Во-первых, не всем.
На электрониксе тусуется табунок неучей, охарактеризованных мной в теме, на которую здесь есть ссылка. Отличительная особенность - неистребимое желание писать ерунду во всех ветках, которые Вам довелось открывать, и не только, а также паталогическая неспособность признавать свои ошибки или неправоту и вести конструктивный диалог. Вот он-то и является предметом моего особенного внимания, о чём я объявлял каждой особи открыто и доходчиво.
Во-вторых, пытаюсь утереть сопли, или всё-таки утираю? РадиоЮноша, пора бы научится отличать эти понятия. Докажите, что я неправ в чём-либо, и у нас с Вами будет полное взаимопонимание. А флудить здесь не надо - тема вполне конкретная, а Вам-то я хорошо знаю цену - сосунок, вздумавший, что ему можно хамить дяде (письма личные привести, чтобы все полюбовались?).
В-третьих, кто-то получил по заслугам за излишнее высокомерие и вальяжность. От маклауда через тяжеловеса. В дальнейшем будет придерживать язык, я думаю.
С вашей командой у меня разговор короткий. Давил, и буду давить, пока уму-разуму не научитесь, не начнёте признавать свои ошибки и говорить по существу вопроса.
Вы также являетесь ярким представителем данного сообщества, и на снисхождение не надейтесь. Жаль, времени на вас всех мало...
На месте модераторов я бы уделил вашей стайке самое пристальное внимание. Толку от ваших постов чуть, а словесного мусора - выше крыши.

Цитата(RadioJunior @ Nov 26 2008, 12:11) *
Это кризис возраста или врожденный комплекс Наполеона?...
Отнюдь. Элементарное желание сделать воздух на форуме чище. Можете считать меня ассенизатором.smile.gif


Цитата(RadioJunior @ Nov 26 2008, 12:11) *
...Со мной кто-нибудь согласен по этому поводу?
Конечно, есть такие! biggrin.gif

Цитата(blackfin @ Nov 26 2008, 08:23) *
Предлагаю на поставленную задачу посмотреть под другим углом.
Для выделения полезного сигнала на фоне шума ничего лучше согласованного фильтра, насколько мне известно, ещё не придумали. В данной задаче полезным сигналом является постоянная составляющая. Согласованным фильтром для неё будет ФНЧ с бесконечно узкой полосой пропускания. Ч.Т.Д.
Это верно.
Только ФНЧ с бесконечно узкой полосой пропускания будет иметь и бесконечно большое время отклика. Ждать придётся не до посинения, а до самых белых слонов. biggrin.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
mvb
сообщение Nov 27 2008, 00:07
Сообщение #50


Участник
*

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



Господа, сразу прошу прощения за то, что вмешиваюсь в вашу интеллектуальную беседу.
Я студент, проблема мне показалась интересной, поэтому я захотел разобраться, но к сожалению умные люди не пришли к единому мнению, поэтому я полез в матлаб, попробовать озвученные методы.

Сначала сформулирую проблему, которую решал: есть N отсчетов, в которых присутствует синусоида + постоянная составляющая + шум. Период синусоиды заведомо в разы больше N, начальная фаза случайная. Шум -- норм. распределенная случ. величина с нулевым мат. ожиданием.

Я попробовал два озвученных решения: ФНЧ и Станислава. ДПФ и АКФ не смотрел, потому что не понимаю как они здесь помогут.

ФНЧ брал 1й Чебышева. Варьировал все возможные параметры как мог, но не смог добиться того, чтобы на выходе как-то обозначилась искомая величина. Да, выход по времени рассматривал достаточно длинный.

Для реализации метода, предложенного Станиславом взял Curve Fitting toolbox из матлаба. При бесконечном ОСШ он точно выдает искомую величину. В присутствии шума решение начинает гулять. Только надо выставлять область ограничений для решения не бесконечную, иначе минимумов у целевой функции получается несколько.

На все это я потратил 1 час 7 минут.

Вопросы к знающим: 1. как именно вы предлагаете применять фнч?
2. Как здесь можно использовать дпф или акф?

Отдельная просьба: ваше мнение о моих способностях, оставьте при себе.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 27 2008, 00:23
Сообщение #51


Гуру
******

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



Цитата(mvb @ Nov 27 2008, 03:07) *
Для реализации метода, предложенного Станиславом взял Curve Fitting toolbox из матлаба. При бесконечном ОСШ он точно выдает искомую величину. В присутствии шума решение начинает гулять. Только надо выставлять область ограничений для решения не бесконечную, иначе минимумов у целевой функции получается несколько.

На все это я потратил 1 час 7 минут.
Вероятно, Вы неплохо изучили Матлаб, потому, что у меня ушло бы времени больше, хотя работать с ним приходится. smile.gif
Если не трудно, выложите программу, интересно посмотреть. Постараюсь сделать и свою, если время будет.
Конечно, оценка в шумах будет гулять. Но она будет, и она будет оптимальной, в каком угодно смысле.
Кроме того, в условии о шумах ничего не говорилось. Есть сигнал, нужно определить постоянную составляющую. Формально поставленная задача, имеющая сугубо формальное решение. О ньюансах автор как-то не сообщал.
В условиях больших помех сильно может помочь априорное знание хотя бы одного из параметров - амплитуды или фазы гармонического сигнала, например.
Впрочем, это банальность. Знание вида функции уже даёт многое.

ЗЫ. Кстати, фитнуть можно и не гармонической функцией, а её разложением в ряд. Вероятно, будет менее напряжённо вычислительно.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 27 2008, 04:12
Сообщение #52


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(mvb)
2. Как здесь можно использовать дпф или акф?
ДПФ более-менее точно измеряет частоту/период, когда в блоке находится много периодов. АКФ достаточно два периода. Хотя имея гарантированно два периода частоты можно "ручками" отсканировать блок (свёртками sin/cos) на дробные частоты. 729 кажется знал ещё какой-то хороший метод определения дробных частот. Только он пропал куда-то.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
mvb
сообщение Nov 27 2008, 21:10
Сообщение #53


Участник
*

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



Вот мой код, без претензий на робастность и скорость:
Код

clc;

N = 100;        % кол-во отсчетов
n = 1:N;
d = .1;         % постоянная составляющая
p = rand()*pi;  % случайная фаза
f = 1/(4*N);    % частота (в N отсчетах 1/4 периода)
SNR = 40;       % ОСШ в дБ

% собсно анализируемые отсчеты
s = sin(2*pi*f*n+p) + d + randn(1, N)*(d+sqrt(2))*10^(-SNR/20);

st_ = [ .5 2*pi*f 0 0 ];
fo_ = fitoptions('method','NonlinearLeastSquares','Lower',[0 0 -1.7 -1],'Upper',[5 0.10000000000000001 1.7 0.10000000000000001]);
set(fo_,'Startpoint',st_);
ft_ = fittype('a*sin(b*x+c)+d',...
     'dependent',{'y'},'independent',{'x'},...
     'coefficients',{'a', 'b', 'c', 'd'});
cf_ = fit(n',s',ft_,fo_);

a = coeffvalues(cf_);

a(4)


Да, у меня тоже была мысль о разложении синуса в ряд, или как-то перейти к полиному Чебышева, но тогда постоянная составляющая будет спрятана в свободном члене полинома, и как ее оттуда вычленить я не знаю.

2GetSmart: ну если в распоряжении есть больше (м.б. больше равно) одного периода, то все становится понятно
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Nov 28 2008, 05:00
Сообщение #54


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(RadioJunior @ Nov 26 2008, 12:11) *
Это кризис возраста или врожденный комплекс Наполеона?...


Нет. Вы ошибаетесь. Нет никакого кризиса возраста и нет никакого Наполеона.
Все оказалось намного банальнее.

Цитата(Stanislav @ Nov 27 2008, 00:29) *
Можете считать меня ассенизатором.smile.gif


Если человек потратил жизнь на борьбу с гав..ом. Сами понимаете....
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 28 2008, 06:55
Сообщение #55


Гуру
******

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



Цитата(mvb @ Nov 28 2008, 00:10) *
Вот мой код, без претензий на робастность и скорость:
Код
..................................
Понятно. Собственно, у меня вышло бы так же.
Попробую его "усовершенствовать", когда время будет.

Цитата(mvb @ Nov 28 2008, 00:10) *
Да, у меня тоже была мысль о разложении синуса в ряд, или как-то перейти к полиному Чебышева, но тогда постоянная составляющая будет спрятана в свободном члене полинома, и как ее оттуда вычленить я не знаю.
Тоже подумаю.

Цитата(mvb @ Nov 28 2008, 00:10) *
2GetSmart: ну если в распоряжении есть больше (м.б. больше равно) одного периода, то все становится понятно
А мне вот не совсем понятно, что собирается делать GetSmart, если в его распоряжении будет кусок, заведомо больший только одного периода.


Цитата(Михаил_K @ Nov 28 2008, 08:00) *
Нет. Вы ошибаетесь. Нет никакого кризиса возраста и нет никакого Наполеона.
Все оказалось намного банальнее.

Если человек потратил жизнь на борьбу с гав..ом. Сами понимаете....
Да не потратил ещё. А трачу.


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


Участник
*

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



Если бы у меня был бы фрейм с достаточным количеством отсчетов, я бы сначала попробовал такой способ:

1. Определил бы период синуса (в первом приближении с пом. автоковариационной функции, дальше покопал бы продвинутые методы вычисления спектра)

2. Далее скомпенсировал бы ошибку в ДПФ на 0 частоте от того, что частота синуса не кратна 2*Pi/N
Насколько я помню отклик гармонической функции при ДПФ пропорционален sinc, тогда получается что-то вроде этого:
модуль постоянной составляющей = ДПФ(0) - sinc(0 - fsin)*ДПФ(fsin)
(fsin -- измереная частота синуса)

Наверняка вы найдете здесь ошибки, укажите мне на них пожалуйста!
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 28 2008, 11:45
Сообщение #57


Гуру
******

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



Цитата(mvb @ Nov 28 2008, 13:03) *
Если бы у меня был бы фрейм с достаточным количеством отсчетов, я бы сначала попробовал такой способ:

1. Определил бы период синуса (в первом приближении с пом. автоковариационной функции, дальше покопал бы продвинутые методы вычисления спектра)

2. Далее скомпенсировал бы ошибку в ДПФ на 0 частоте от того, что частота синуса не кратна 2*Pi/N
Насколько я помню отклик гармонической функции при ДПФ пропорционален sinc, тогда получается что-то вроде этого:
модуль постоянной составляющей = ДПФ(0) - sinc(0 - fsin)*ДПФ(fsin)
(fsin -- измереная частота синуса)

Наверняка вы найдете здесь ошибки, укажите мне на них пожалуйста!
Щас времени маловато. Вот некоторые соображения:
1. Автоковариационный метод даст большую ошибку в определении частоты, даже если в окне будет несколько периодов. Только по одному периоду, ПМСМ, работать не будет. Собственный простой способ предложу попозже.
2. Не учтена амплитуда гармонического сигнала и его фаза, поэтому ДПФ будет неоднозначной по отношению к этим параметрам. Правда, после оценивания частоты её найти их не так уж сложно. Или я не понял что-то?

Впрочем, способ интересный, есть в нём что-то эдакое... smile.gif

ЗЫ. А-а, понял, наконец. smile.gif Речь идёт, конечно, о модулях спектра сигнала. Что ж, посмотрю на досуге, действительно стало интересно. smile.gif
Только с фазой, по-моему, всё равно засада...


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


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


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(mvb)
2. Далее скомпенсировал бы ошибку в ДПФ на 0 частоте от того, что частота синуса не кратна 2*Pi/N
Насколько я помню отклик гармонической функции при ДПФ пропорционален sinc, тогда получается что-то вроде этого:
модуль постоянной составляющей = ДПФ(0) - sinc(0 - fsin)*ДПФ(fsin)
(fsin -- измереная частота синуса)
Я например многое из этого не понял.
ДПФ по какому блоку делается? По одному или по скольки буферам?

sinc(0 - fsin)*ДПФ(fsin) что из себя представляет? Это свёртка?

Кстати, ДПФ(0) - это простое среднее арифметическое блока. Как бы амплитуда постоянки (0 Гц), которая в отличие от остальных спектральных компонентов даже фазы не имеет. У меня сразу мысли возникают - почему такая дискриминация, ведь все частоты должны быть равноправные? Но это к этой теме отношения не имеет smile.gif

Да, и забыл совсем
Цитата(Stanislav)
...Надеюсь, что попрошайничество на сей раз Вам не поможет снять взыскание...
Бред сивой кобылы biggrin.gif

Сообщение отредактировал GetSmart - Nov 28 2008, 13:20


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 28 2008, 20:59
Сообщение #59


Гуру
******

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



Цитата(GetSmart @ Nov 28 2008, 16:08) *
Да, и забыл совсем
Бред сивой кобылы biggrin.gif
А вот почитайте, позорник. Память, видимо, короткая, да и достоинство на нуле...


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


Участник
*

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



Попробовал на досуге определить период синуса в матлабе через автоковариацию. При вышеописаных условиях получается ошибка порядка 10-15%, чего явно не достаточно. Чем больше периодов умещается в окне, тем меньше относителльная погрешность.
Вобщем да, имея один период определить частоту получается плохо.

Станислав: да, под ДПФ(х) я подрузомевал модуль, извините, за то что так криво написал. На самом деле под ДПФ(fsin) я имел ввиду просто амплитуду синусоиды, из ДПФ ее вычленить наверное не получится...

GetSmart: sinc(0 - fsin)*ДПФ(fsin) -- нет, это просто sinc, умноженный на амплитуду синусоиды.
Модуль ДПФ(0) строго равен среднему арифметическому, аргумент же строго равен нулю. Все просто: вычисляется скалярное произведение сигнала с комплексной экспонентной от нуля --
ДПФ(0) = <s, exp(j*0)>/N
exp(j*0) = 1
Т.о. получается что действительная часть ДПФ(0) равна просто сумме сигнала деленного на N, а мнимая нулю.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 22:06
Рейтинг@Mail.ru


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