_pv 52 3 мая, 2021 Опубликовано 3 мая, 2021 · Жалоба 9 hours ago, Tarbal said: Простейший и ненадежный алгоритм. Если нет шума, то найти максимум и минимум. Вычесть из максимума мунимум и поделить на два. даже если шум есть, вокруг каждого максимума/минимума можно взять +-несколько точек, наименьшими квадратами натянуть на них параболу и ax^2+bx+c и найти максимумы x0 = -b/2/a, y0=-b^2/4/a+c Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 168 3 мая, 2021 Опубликовано 3 мая, 2021 · Жалоба Не понятно, как решить задачу автора предлагаемой математикой, если у него ровно 1 Мвыб, ровно 500 кГц, и 100 мкс на всё. Если сигнал точно синус, то стробируемый пиковый детектор на диоде можно заменить стробируемым же интегратором, т.е. остальная схема (калибратор и т.п.) та же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DisplayName 0 4 мая, 2021 Опубликовано 4 мая, 2021 (изменено) · Жалоба On 5/3/2021 at 2:23 AM, Tarbal said: Если нет шума, то найти максимум и минимум. Вычесть из максимума мунимум и поделить на два. Хм, такой способ что ли завязан на фазу сигнала? Как будто бы (смотрю по моделированию ситуации на питоне) если фаза сигнала равна 45 градусов, то получается слишком большая ошибка в ответе. Если фаза, например, 0, то такой спсооб даёт 100% правильный ответ. Но шумы в сигнале наверняка будут, поэтому такой способ всё равно, как вы говорите, не подходит. On 5/3/2021 at 2:23 AM, Tarbal said: Посчитать дисперсию, которая равна RMS и умножить на корень из двух. Окно измерения должно помещать целое число периодов. О, а этот способ уже, похоже, не зависит от фазы. И более-менее толерантен к шумам в сигнале. Что дают два остальных алгоритма, если они сводятся к нахождению максимума и минимума? Изменено 4 мая, 2021 пользователем DisplayName Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DisplayName 0 4 мая, 2021 Опубликовано 4 мая, 2021 (изменено) · Жалоба On 5/1/2021 at 8:30 PM, Serhiy_UA said: Алгоритм CORDIC точный и надежный, рекомендую. Почитал про CORDIC. У него есть 2 режима работы: вращение и векторизация. С помощью режима вращения можно получить по заданному углу значения различных функций (синус, косинус и т.д.). Режим векторизации превращает прямоугольные координаты в полярные. То есть на выходе из CORDIC'а в режиме векторизации получается угол и длина вектора sqrt(x**2 + y**2). Оба режима, как я понял, просто проводят вычисления из исходных данных, которые и так можно посчитать на микроконтроллере/процессоре. On 4/29/2021 at 8:12 PM, Serhiy_UA said: Для этого нужно произвести два измерения со сдвигом в 90 или 270 градусов по известной частоте. Одновременно с вычислением амплитуды здесь же вычисляется и фаза. Предположим, что измерили со сдвигом 90 и получили два одинаковых измерения (попали в 45 и 135 градусов простой функции sin x). Тогда напрашивается сразу ответ на задачу следующим образом. Получаем систему уравнений: 1. Asin(alpha) = y1 2. Acos(alpha) = y2 Делим одно на другое (A уходит, sin на cos даёт тангенс) и через арктангенс получаем alpha. Затем подставляем одно в другое и находим A. Но так как это есть аналитическое решение задачи, то шумы здесь будут вносить свои нехорошие коррективы. Так вот вопрос. Что я упускаю? :) Чем помогает CORDIC в нахождении амплитуды? Изменено 4 мая, 2021 пользователем DisplayName Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DisplayName 0 4 мая, 2021 Опубликовано 4 мая, 2021 · Жалоба On 5/3/2021 at 1:06 PM, Plain said: Если сигнал точно синус, то стробируемый пиковый детектор на диоде можно заменить стробируемым же интегратором, т.е. остальная схема (калибратор и т.п.) та же. Какое преимущество даёт такая замена? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 168 4 мая, 2021 Опубликовано 4 мая, 2021 · Жалоба 35 минут назад, DisplayName сказал: Какое преимущество даёт такая замена? Ёмкость и сопротивление диода дают погрешность, калибровать которую нужно по нескольким точкам, а интегратор по двум. И ещё, у Вас по ТЗ требуется измерять амплитуду ноль — тогда для компаратора, и вообще, нужен усилитель-ограничитель — либо на автообнуляемом ОУ, либо на обычном, обнуляемым программно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 4 мая, 2021 Опубликовано 4 мая, 2021 · Жалоба 7 hours ago, DisplayName said: Хм, такой способ что ли завязан на фазу сигнала? Как будто бы (смотрю по моделированию ситуации на питоне) если фаза сигнала равна 45 градусов, то получается слишком большая ошибка в ответе. Если фаза, например, 0, то такой спсооб даёт 100% правильный ответ. Но шумы в сигнале наверняка будут, поэтому такой способ всё равно, как вы говорите, не подходит. О, а этот способ уже, похоже, не зависит от фазы. И более-менее толерантен к шумам в сигнале. Что дают два остальных алгоритма, если они сводятся к нахождению максимума и минимума? Первый способ никак не завязан на фазу сигнала. Дисперсия -- интегральный метод и ддействительно устойчив к шумам. Амплитуда -- это модуль значения синуса в максимуме и минимуме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться