ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
600688 Топик полностью
fk0, легенда (28.05.2015 10:43, просмотров: 703) ответил Гудвин на Господа Математики и просто Добрые Люди! Прошу помочь определиться с алгоритмами, ибо не сильно дружу с ЦОС ;)
Смотри приаттаченный файл. Идея в том, что пропускаем сигнал через фильтр с примерно известной резонансной частотой (вот это -- самое большое допущение, такой алгоритм, например, совершенно не годится для слежения за оборотами двигателя http://www-users.cs.york.ac.uk/~fisher/mkfilter/res.html
автомобиля, где показания изменяются в несколько раз, хотя можно подумать о более сложном фильтре с более широкой полосой -- но для "квадратных сигналов" получается неприятная картина, гармоники низкооборотных сигналов могут восприниматься как первая гармоника более высоких оборотов). И имеем уже осмысленную, достаточную для анализа амплитуду сигнала без шумов. Если нужно посчитать обороты -- считаешь тупо периоды, т.к. постоянная составляющая тоже ушла. Если нужна частота усреднённая за какое-то время -- можно считать периоды. Если нужна частота быстро, на интервале сопоставимом с длиной периода -- есть два варианта. Первый: см. второй график и правую колонку. Всё делается то же самое, но вначале частота отсчётов подвышается в 32 раза. На выходе имеем уже не пяток точек на период, а в 32 раза больше, график на вид очень даже похож на синус. Можно тупо измерить период (по переходу через 0). Или можно применить метод предложенный argus98 -- аппроксимировать синус кубическим полиномом. Тогда в 32 раза увеличивать не нужно, так думается быстрей будет и даже точней (http://math.stacke …y-through-three-points). Но нужны функции арктангенса и квадратного корня: http://caxapa.ru/src/335 http://caxapa.ru/281052.html
[ZX]