Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
RMS можно вычислять без всяких квадратных корней. Возводите входной сигнал в квадрат
Отправлено
Леонид Иванович
02 ноября 2009, г. 14:21
В ответ на:
Товарищи, помогите образумить человека или меня. Хочет среднеквадратичное значение мерить без к...{+}
отправлено пользователем
pticin
02 ноября 2009, г. 13:02
и делите на этот же сигнал, только после низкочастотной фильтрации. Посмотрите, например, структуру AD637, там делают именно так.
А привязку к входной частоте можно делать с помощью программной PLL.
Составить ответ
|
Вернуться на конференцию.
Ответы
Какое-то у вас неправильное описание:-)) Текущее значение rms получается фильтрацией, усрреднеием, частного от деления квадрата входного сигнала на предыдущее значение rms. Такая странная рекурсия, выросшая из простого соотношения: Vrms^2=<Vin^2>. Которое плавно перетекает в Vrms[n]*Vrms[n-1]=<Vin^2>. Откуда собственно и получается Vrms[n]=<Vin^2/Vrms[n-1]>, n - номер итерации:-)
-
пароль_потерял_
(02.11.2009, 15:28:0
193.125.71.140
,
пустое
)
Ну чуть некорректно сформулировал. Возводим входной сигнал в квадрат и делим на выходной сигнал ФНЧ. На вход ФНЧ - результат деления.
-
Леонид Иванович
(02.11.2009, 15:39:47
87.252.227.56
,
пустое
)
Так собственно ваше первоначальное "чуть" вычисляло все, что угодно, но только не рмс. А щас - совсем другое дело, к такой формулировке претензий нетути:-)))
-
пароль_потерял_
(02.11.2009, 15:43:10
193.125.71.140
,
пустое
)
Метод вычисления очень распространенный, думал, достаточно намёка :)
-
Леонид Иванович
(02.11.2009, 15:50:23
87.252.227.56
,
пустое
)
Ну его и оказалось достаточно :-)
-
пароль_потерял_
(02.11.2009, 16:21:59
194.190.183.238
,
пустое
)
для произвольного сигнала это не будет RMS
-
argus98
(02.11.2009, 15:02:23
81.22.205.230
,
пустое
)
Все известные микросхемы RMS преобразователей именно так и работают, никто не жаловался :)
-
Леонид Иванович
(02.11.2009, 15:03:50
87.252.227.56
,
пустое
)
Кому они должны жаловаться? Просто тем, кому нужно мерить негармонические сигналы, такими микросхемами не пользуются.
-
Oldring
(02.11.2009, 15:34:8
85.141.214.127
,
пустое
)
Почему не пользуются? У той же LTC1968 погрешность менее 0.1% для Crest Factor до 4.
-
Леонид Иванович
(02.11.2009, 15:38:18
87.252.227.56
,
пустое
)
значит никто досконально не проверял (+):
-
argus98
(02.11.2009, 15:14:58
81.22.205.230
, 178 байт)
Вот, например, из описания Precision Wide Bandwidth RMS-to-DC Converter LTC1968:
-
Леонид Иванович
(02.11.2009, 15:34:21
87.252.227.56
,
пустое
,
картинка
)
так это и есть одна из схем вычисления кв. корня. В цифре такое реализовывать весьма неэффективно
-
argus98
(02.11.2009, 15:49:17
81.22.205.230
,
пустое
)
Это не схема вычисления корня. В цифре реализуется эффективно. P.S. На Linear Technology дураки сидят?
-
Леонид Иванович
(02.11.2009, 16:04:51
87.252.227.56
,
пустое
)
не дураки - это как раз цифро-аналоговая схема нахождения кв. корня (делитель в обратной связи). В чисто цифровом виде она эквивалента итерационному методу Ньютона
-
argus98
(02.11.2009, 16:09:23
81.22.205.230
,
пустое
)
Не дураки. Им дешевле извлекать корень в полуаналоговой схеме.
-
Oldring
(02.11.2009, 16:08:15
85.141.214.127
,
пустое
)
Ну в принципе да. И в чисто аналоговой схеме такой метод реализуется проще. В ADI тоже не дураки :)))
-
Леонид Иванович
(02.11.2009, 16:12:46
87.252.227.56
, 98 байт)
Здесь осредняют квадрат входного сигнала. А квадратный корень в цифре не сложнее деления.
-
Oldring
(02.11.2009, 15:40:14
85.141.214.127
, 190 байт)
Микроконтроллеру все же легче умножать и делить.
-
Леонид Иванович
(02.11.2009, 15:51:22
87.252.227.56
,
пустое
)
так этот метод приводит к итерационному методу вычисления корня с использованием кучи операций деления, что не есть хорошо... Не все аналоговые методы хорошо подходят к цифровым
-
argus98
(02.11.2009, 16:03:19
81.22.205.230
,
пустое
)
Здесь делений не больше, чем извлечений корней в обычной схеме. За уши притягиваете проблемы, которых нет.
-
Леонид Иванович
(02.11.2009, 16:10:9
87.252.227.56
,
пустое
)
Это программисту микроконтроллера проще, потому что привычнее. Тем более, если нет даже встроенной команды деления достаточной разрядности.
-
Oldring
(02.11.2009, 15:57:50
85.141.214.127
,
пустое
)
=>
-
Oldring
(02.11.2009, 16:01:13
85.141.214.127
,
пустое
,
ссылка
)
Хотите сказать, что вычислить корень быстрее, чем поделить? :)
-
Леонид Иванович
(02.11.2009, 16:08:19
87.252.227.56
,
пустое
)
16-бит квадратный корень в AVR без умножителя - в районе 160+-20 тактов... С умножителем быстрее
-
argus98
(02.11.2009, 16:19:6
81.22.205.230
,
пустое
)
На процессорах с быстрой командой умножения но без команды деления - именно так. Ньютоновской итерацией.
-
Oldring
(02.11.2009, 16:09:47
85.141.214.127
,
пустое
)
Ушел проверять.
-
Леонид Иванович
(02.11.2009, 16:13:44
87.252.227.56
,
пустое
)
То есть в результате это просто неявная схема извлечения квадратного корня.
-
Oldring
(02.11.2009, 15:42:20
85.141.214.127
,
пустое
)
Не совсем, наверное... И свойства у таких RMS-to-DC отличаются от классических с квадратом-усреднением-корнем. Частота среза ФНЧ влияет на погрешность среднего значения выходного напряжения. Наткнулся, когда для AD637 хотел сделать цифровую пост-фильтрацию, уменьшив Cav.
-
Леонид Иванович
(02.11.2009, 15:49:36
87.252.227.56
,
пустое
)
Разумеется. В описании микросхемы написано: выкладки верны для постоянного входного сигнала. На переходные режимы эта схема не расситана.
-
Oldring
(02.11.2009, 15:55:22
85.141.214.127
, 373 байт)
В Ваших словах слышен скептицизм. А ведь эта схема вычисления RMS очень красивая и эффективная. Неудобства возникают лишь при требуемых постоянных времени измерителя, близких к периоду измеряемого напряжения.
-
Леонид Иванович
(02.11.2009, 16:06:26
87.252.227.56
,
пустое
)
Блин, что значит "красивая"? Им было дешевле поставить ЦАП для замыкания схемы вычисления квадратного корня, чем считать квадратный корень в цифре. Тем самым также уменьшают динамический диапазон чисел в цифре. Экономят каждый бит. Ну и ЧТО?
-
Oldring
(02.11.2009, 16:13:39
85.141.214.127
,
пустое
)
Ну мне как программисту микроконтроллеров гораздо проще написать деление, чем по Ньютону вычислить квадратный корень.
-
Леонид Иванович
(02.11.2009, 16:18:50
87.252.227.56
,
пустое
)
да 24LCxx вешаем с табличкой - и хоть корень 4ой степепи... "Сопроцессор"
-
basilmak
(02.11.2009, 21:28:46
89.191.241.237
,
пустое
)
По Ньютону проще x/sqrt(x) вычислять, т.е. собственно 1/sqrt(x).:-) А еще проще аппроксимировать корень в диапазоне x {0,5-1} полиномом. Степень от точности. :-)
-
пароль_потерял_
(02.11.2009, 16:26:28
194.190.183.238
,
пустое
)
аппроксимация полиномом менее эффективна - уже проходили...
-
argus98
(02.11.2009, 16:36:52
81.22.205.230
,
пустое
)
Правда:-)? А я вот, когда всякими глупостями, типа прогграммирования и схемотехники занимался, тоже проходил. Заменял библиотечные техасовские ньютоновские итерации полиномиальной аппроксимацией. Для одного из техасовских дсп. И выигрывал. :-)
-
пароль_потерял_
(02.11.2009, 16:50:33
194.190.183.238
,
пустое
)
а кто сказал, что Ньютон самый эффективный? или чьи-то библиотеки?
-
argus98
(02.11.2009, 17:06:9
81.22.205.230
,
пустое
)
Успокойтесь, я не имел ввиду ваши неведомые самые эффективные методы. А просто привел пример из своей практики, в ответ на ваше невнятное замечание, что аппроксимация менее эффективна. Наивно подумав, что раз речь до этого шла о Ньютоне, то и сравнение ваше с ним. Извините, ошибся. :-)
-
пароль_потерял_
(02.11.2009, 17:25:11
194.190.183.238
,
пустое
)
sqrt(x)/x
-
Oldring
(02.11.2009, 16:31:50
85.141.214.127
,
пустое
)
sqrt(x) = (1/sqrt(x))*x
-
Oldring
(02.11.2009, 17:04:13
85.141.214.127
,
пустое
)
:-))
-
пароль_потерял_
(02.11.2009, 17:37:29
194.190.183.238
,
пустое
)
С этим я и не спорю. "Как заполнить водой наполовину полный стакан?" ;)
-
Oldring
(02.11.2009, 16:21:27
85.141.214.127
,
пустое
)
Водой? Это как-то не по-нашему...
-
Леонид Иванович
(02.11.2009, 16:26:42
87.252.227.56
,
пустое
)
Именно водой. Другие жидкости будут стимулировать даже программистов использовать более экономные алгоритмы :)
-
Oldring
(02.11.2009, 16:29:48
85.141.214.127
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 387:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru