Вопрос математикам

tessob
Уже с Приветом
Posts: 549
Joined: 07 Jan 2016 13:04

Re: Вопрос математикам

Post by tessob »

Privet wrote: 26 Dec 2020 14:43Извините, повесил глобально. Ну очень надо.
Не уверен, что правильно понял проблему, но если нам нужно просто получить функцию Гауса максимально приближенную к тем точкам, которые у вас есть, то нужно ввести функцию ошибки, которую и нужно оптимизировать. В качестве такой функции, например, можно взять сумму квадратов отклонений ваших точек от гауссианы. Далее итеративно подбирать параметры Гауссианы (их 2) до тех пор пока функция ошибки будет улучшаться. Решение “в лоб” - покоординатный спуск. Более продвинутое решение - градиентный спуск. Нужно будет еще подобрать функцию “затухания” размера шага и критерий остановки (например, количество шагов или размер шага). Алгоритм получается итеративный, но учитывая, что точек у вас мало и функция Гауса не сильно сложная, работать будет довольно быстро, но все же это не аналитическое решение.

Вместо Гауссианы можно взять любую другую функцию на ваш вкус.
User avatar
VladDod
Уже с Приветом
Posts: 56205
Joined: 06 May 2001 09:01

Re: Вопрос математикам

Post by VladDod »

tessob wrote: 11 Jan 2021 09:21 ... итеративно подбирать параметры Гауссианы (их 2) до тех пор пока функция ошибки будет улучшаться. Решение “в лоб” - покоординатный спуск. Более продвинутое решение - градиентный спуск. .
тогда лучше метод "Нелдера-Мида". https://ru.wikipedia.org/wiki/%D0%9C%D0 ... 0%B4%D0%B0
функция от "параметров Гауссианы ", запросто будет иметь "овражный" или сильно "зашумленный" характер по которому "градиентный спуск" просто не пройдет.
в реале супруги редко бывают друзьями, так как их отношения подпорчены сексом (с)Роза
Плавали-Знаем! (C)
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Re: Вопрос математикам

Post by Privet »

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

Задача: Необходимо определить частоту несущей (чистый гармонический сигнал в полосе 1960 Гц) с точностью не хуже 2 Гц за время не превышающее 140 мс. На чистом шуму обнаружитель несущей должен давать не более На входе в реальной системе стоит фильтр Баттерворта 6-го порядка. Отношение С/Ш в данной полосу составляет 6 дБ. Распределение шума - нормальное. При моделировании используется ФНЧ Баттерворта со срезом на частоте 980 Гц. Частота дискретизации в системе 1953 Гц. Процессор Cortex-3M 40mHz. БПФ 256 точек выполняет примерно за 4мс. Из этого можно прикинуть сколько времени займёт БПФ на другое число точек.

Кажется, всё. Если чего-то забыл - напомните.
Вот наш результат: Боковые палки отстоят от центральной применео на 1 Гц. Красные линии это границы допустимого интервала.
FreqDiff.png
FreqDiffOrig.png
You do not have the required permissions to view the files attached to this post.
Привет.
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Вопрос математикам

Post by Sergunka »

Privet wrote: 25 Jan 2021 23:48 Кажется, всё. Если чего-то забыл - напомните.
Еще было бы неплохо указать двигаются объекты или нет.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Re: Вопрос математикам

Post by Privet »

Вчера подкорректировал пост и... уснул, не нажав submit.
Sergunka wrote: 26 Jan 2021 04:35
Privet wrote: 25 Jan 2021 23:48 Кажется, всё. Если чего-то забыл - напомните.
Еще было бы неплохо указать двигаются объекты или нет.
Нет не двигаются. Это было бы уж слишком.
Привет.
OtecFedor
Уже с Приветом
Posts: 8378
Joined: 17 Oct 2001 09:01
Location: Уездный город N

Re: Вопрос математикам

Post by OtecFedor »

Privet wrote: 25 Jan 2021 23:48 Извиняюсь, я выпал из топика на некоторое время. Я не проверял его, т.к. думал, что он уже затух. У нас выяснилось, что алгоритм, который мы использовали до этого, не подходит и это держало всю работу. Был аврал.
Вообще, я спрашивал только о методах, но попробую описать задачу полнее. Наши алгоритмы, как вы понимаете, я не могу, к сожалению, описывать детально.

Задача: Необходимо определить частоту несущей (чистый гармонический сигнал в полосе 1960 Гц) с точностью не хуже 2 Гц за время не превышающее 140 мс. На чистом шуму обнаружитель несущей должен давать не более На входе в реальной системе стоит фильтр Баттерворта 6-го порядка. Отношение С/Ш в данной полосу составляет 6 дБ.
У вас фундаментальная спектральная точность df = 1/0.14 (140 ms) = 7.1 Hz, плюс высокии шум, по-моему 2 Hz ето перебор
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Re: Вопрос математикам

Post by Privet »

aml5691 wrote: 06 Jan 2021 06:32 ... Ни свойства сигнала, ни свойства шума не определены, и не дано точное определение того, что же все таки ищется ("центр колокольчика"). Возможно также нужно об'яснить способ измерения сигнала. Подозреваю, что исходный сигнал - непрерывен, но он измеряется устройством, которое интегрирует исходный непрерывный сигнал по равноотстоящим интервалам измерения, выдавая в результате "дискретный" сигнал, по которому и вычисляется спектр...
То, что вы пишете это не наука, а наукообразие - гора квазинаучной лексики, которая абсолютно ничего не добавляют к тому, что можно коротко сказать самыми простыми словами. В данном случае достаточно лишь знать, что "колокольчик" симметричен с двух сторон.
Привет.
User avatar
Komissar
Уже с Приветом
Posts: 64875
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Вопрос математикам

Post by Komissar »

Privet wrote: 26 Jan 2021 23:54
aml5691 wrote: 06 Jan 2021 06:32 ... Ни свойства сигнала, ни свойства шума не определены, и не дано точное определение того, что же все таки ищется ("центр колокольчика"). Возможно также нужно об'яснить способ измерения сигнала. Подозреваю, что исходный сигнал - непрерывен, но он измеряется устройством, которое интегрирует исходный непрерывный сигнал по равноотстоящим интервалам измерения, выдавая в результате "дискретный" сигнал, по которому и вычисляется спектр...
То, что вы пишете это не наука, а наукообразие - гора квазинаучной лексики, которая абсолютно ничего не добавляют к тому, что можно коротко сказать самыми простыми словами.
+100. "Наука умеет много гитик". В химии за такое обливают кислотой. Концентрированной.
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Re: Вопрос математикам

Post by Privet »

OtecFedor wrote: 26 Jan 2021 23:36 ...
У вас фундаментальная спектральная точность df = 1/0.14 (140 ms) = 7.1 Hz, плюс высокии шум, по-моему 2 Hz ето перебор
Разрешение БПФ 7.6 Гц. Мы его успеваем взять 36 раз с шагом каждые 8 отсчётов, которые берутся на частоте 1953 Гц.

Поправил: не 10, а 36 раз. Обнаружитель включается до появления сигнала. Каждые 8 отсчётов мы получаем результат БПФ. Т.е. отсчёты задвигаются в БПФ.
Привет.
OtecFedor
Уже с Приветом
Posts: 8378
Joined: 17 Oct 2001 09:01
Location: Уездный город N

Re: Вопрос математикам

Post by OtecFedor »

Privet wrote: 27 Jan 2021 00:15
OtecFedor wrote: 26 Jan 2021 23:36 ...
У вас фундаментальная спектральная точность df = 1/0.14 (140 ms) = 7.1 Hz, плюс высокии шум, по-моему 2 Hz ето перебор
Разрешение БПФ 7.6 Гц. Мы его успеваем взять 36 раз с шагом каждые 8 отсчётов, которые берутся на частоте 1953 Гц.

Поправил: не 10, а 36 раз. Обнаружитель включается до появления сигнала. Каждые 8 отсчётов мы получаем результат БПФ. Т.е. отсчёты задвигаются в БПФ.
Если время измерения 140 мс, то частота сигнала определена с точностью 7.1 Гц, у вас просто нет достаточо исходнои информации, не важно как точно вы ее меряете, ну что-то вроде принципа Геизенберга штоли, енергия - время. Или вы вы набирате 8 раз по 140 мс?
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Re: Вопрос математикам

Post by Privet »

VladDod wrote: 02 Jan 2021 20:33 ...Данные взял из первого поста. У меня получился такой колокольчик с максимумом в точке 45.8 с погрешностью около 0.1.

Вы не могли бы озвучить ответ к задачке, кстати? :oops:

Колокольчик получился такой.

...
Примерно так и есть. Мы думали о полиномиальной аппроксимации - классическое решение такой задачи, но оно требует бОльшего числа операций.
Привет.
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Re: Вопрос математикам

Post by Privet »

OtecFedor wrote: 27 Jan 2021 00:50
Privet wrote: 27 Jan 2021 00:15
OtecFedor wrote: 26 Jan 2021 23:36 ...
У вас фундаментальная спектральная точность df = 1/0.14 (140 ms) = 7.1 Hz, плюс высокии шум, по-моему 2 Hz ето перебор
Разрешение БПФ 7.6 Гц. Мы его успеваем взять 36 раз с шагом каждые 8 отсчётов, которые берутся на частоте 1953 Гц.

Поправил: не 10, а 36 раз. Обнаружитель включается до появления сигнала. Каждые 8 отсчётов мы получаем результат БПФ. Т.е. отсчёты задвигаются в БПФ.
Если время измерения 140 мс, то частота сигнала определена с точностью 7.1 Гц, у вас просто нет достаточо исходнои информации, не важно как точно вы ее меряете, ну что-то вроде принципа Геизенберга штоли, енергия - время. Или вы вы набирате 8 раз по 140 мс?
Принцип Гайзенберга. В немецком "ei" читаются как "ай". Также, как и Эйнштейна в природе не существовало.
Вы, вероятно, путаете точность измерения времени появления импульса и частоту наблюдаемого сигнала, но и в этом случае Вы не правы, если характеристики системы известны и стабильны.
Привет.
OtecFedor
Уже с Приветом
Posts: 8378
Joined: 17 Oct 2001 09:01
Location: Уездный город N

Re: Вопрос математикам

Post by OtecFedor »

Privet wrote: 27 Jan 2021 01:06
OtecFedor wrote: 27 Jan 2021 00:50
Privet wrote: 27 Jan 2021 00:15
OtecFedor wrote: 26 Jan 2021 23:36 ...
У вас фундаментальная спектральная точность df = 1/0.14 (140 ms) = 7.1 Hz, плюс высокии шум, по-моему 2 Hz ето перебор
Разрешение БПФ 7.6 Гц. Мы его успеваем взять 36 раз с шагом каждые 8 отсчётов, которые берутся на частоте 1953 Гц.

Поправил: не 10, а 36 раз. Обнаружитель включается до появления сигнала. Каждые 8 отсчётов мы получаем результат БПФ. Т.е. отсчёты задвигаются в БПФ.
Если время измерения 140 мс, то частота сигнала определена с точностью 7.1 Гц, у вас просто нет достаточо исходнои информации, не важно как точно вы ее меряете, ну что-то вроде принципа Геизенберга штоли, енергия - время. Или вы вы набирате 8 раз по 140 мс?
Принцип Гайзенберга. В немецком "ei" читаются как "ай". Также, как и Эйнштейна в природе не существовало.
Вы, вероятно, путаете точность измерения времени появления импульса и частоту наблюдаемого сигнала, но и в этом случае Вы не правы, если характеристики системы известны и стабильны.
Это вопрос доступности информации. Если вся информация что есть- появился сигнал в окне 140 мс то будет как я сказал.

Если ещё есть а-приори знание о сигнале, т.е. дополнительная информация, то в общем случае это не так, но как повлияет это на точность с ходу сказать трудно
User avatar
Privet
Администратор
Posts: 17204
Joined: 03 Jan 1999 10:01
Location: Redmond, WA

Re: Вопрос математикам

Post by Privet »

OtecFedor wrote: 27 Jan 2021 01:20 ...
Если ещё есть а-приори знание о сигнале, т.е. дополнительная информация, то в общем случае это не так, но как повлияет это на точность с ходу сказать трудно
В нашем случае вопрос не в сигнале (сигнал - одна чистая гармоника), а в том, каким мы его видим после прохождения через систему. Плюс в том, что выбор системы за нами.
Привет.
Oleg Co
Уже с Приветом
Posts: 7916
Joined: 19 May 2008 22:10
Location: BY->DEU->SFBA

Re: Вопрос математикам

Post by Oleg Co »

Privet wrote: 27 Jan 2021 02:22
OtecFedor wrote: 27 Jan 2021 01:20 ...
Если ещё есть а-приори знание о сигнале, т.е. дополнительная информация, то в общем случае это не так, но как повлияет это на точность с ходу сказать трудно
В нашем случае вопрос не в сигнале (сигнал - одна чистая гармоника), а в том, каким мы его видим после прохождения через систему. Плюс в том, что выбор системы за нами.
Как-то сильно напомнило В круге первом Солженицина. Спец-связь Путину разрабатываете?

Return to “Вопросы и новости IT”