Перейти к содержанию
    

Замер амплитуды у синуса

9 hours ago, Tarbal said:

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

даже если шум есть, вокруг каждого максимума/минимума можно взять +-несколько точек, наименьшими квадратами натянуть на них параболу и ax^2+bx+c

и найти максимумы x0 = -b/2/a, y0=-b^2/4/a+c

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понятно, как решить задачу автора предлагаемой математикой, если у него ровно 1 Мвыб, ровно 500 кГц, и 100 мкс на всё.

 

Если сигнал точно синус, то стробируемый пиковый детектор на диоде можно заменить стробируемым же интегратором, т.е. остальная схема (калибратор и т.п.) та же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/3/2021 at 2:23 AM, Tarbal said:

Если нет шума, то найти максимум и минимум. Вычесть из максимума мунимум и поделить на два.

Хм, такой способ что ли завязан на фазу сигнала? Как будто бы (смотрю по моделированию ситуации на питоне) если фаза сигнала равна 45 градусов, то получается слишком большая ошибка в ответе. Если фаза, например, 0, то такой спсооб даёт 100% правильный ответ. Но шумы в сигнале наверняка будут, поэтому такой способ всё равно, как вы говорите, не подходит.

 

On 5/3/2021 at 2:23 AM, Tarbal said:

Посчитать дисперсию, которая равна RMS и умножить на корень из двух. Окно измерения должно помещать целое число периодов.

О, а этот способ уже, похоже, не зависит от фазы. И более-менее толерантен к шумам в сигнале.

 

Что дают два остальных алгоритма, если они сводятся к нахождению максимума и минимума?

Изменено пользователем DisplayName

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 в нахождении амплитуды?

Изменено пользователем DisplayName

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/3/2021 at 1:06 PM, Plain said:

Если сигнал точно синус, то стробируемый пиковый детектор на диоде можно заменить стробируемым же интегратором, т.е. остальная схема (калибратор и т.п.) та же.

Какое преимущество даёт такая замена?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

35 минут назад, DisplayName сказал:

Какое преимущество даёт такая замена?

Ёмкость и сопротивление диода дают погрешность, калибровать которую нужно по нескольким точкам, а интегратор по двум.

 

И ещё, у Вас по ТЗ требуется измерять амплитуду ноль — тогда для компаратора, и вообще, нужен усилитель-ограничитель — либо на автообнуляемом ОУ, либо на обычном, обнуляемым программно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, DisplayName said:

Хм, такой способ что ли завязан на фазу сигнала? Как будто бы (смотрю по моделированию ситуации на питоне) если фаза сигнала равна 45 градусов, то получается слишком большая ошибка в ответе. Если фаза, например, 0, то такой спсооб даёт 100% правильный ответ. Но шумы в сигнале наверняка будут, поэтому такой способ всё равно, как вы говорите, не подходит.

 

О, а этот способ уже, похоже, не зависит от фазы. И более-менее толерантен к шумам в сигнале.

 

Что дают два остальных алгоритма, если они сводятся к нахождению максимума и минимума?

 

Первый способ никак не завязан на фазу сигнала.

Дисперсия -- интегральный метод и ддействительно устойчив к шумам.

Амплитуда -- это модуль значения синуса в максимуме и минимуме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...