Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вольты в дециБеллы, перевод в микроконтроллере 
:(
    Опции темы
Dmitron
Дата 19.4.2005, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 19.4.2005

Репутация: 1
Всего: 1



smile
В 16-битный контроллер встроено 12 битное АЦП, необходимо перевести полученное с АЦП значение в дБ по формуле: x=10*log(отсчётыАЦП*100/4095), либо x=10*log(отсчётыАЦП*100/4095).
Рассчёты необходимо производить наиболее быстро в реальном времени. Может какой ряд есть, чтобы в ln или lg переводить? Контроллер работает на С (язык "ЭС").
PM MAIL   Вверх
podval
Дата 19.4.2005, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: нет
Всего: 62



Тема перемещена из раздела "Алгоритмы".


PM WWW ICQ   Вверх
PILOT
Дата 19.4.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



2 podval: Embedded C, сокращенно EC (эс).

2 Dmitron: а кто мешает воспользоваться стандартной библиотечной функцией LOG?

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
Dmitron
Дата 20.4.2005, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 19.4.2005

Репутация: 1
Всего: 1



надо бы побыстрее. диапазон всего то 12 бит.
PM MAIL   Вверх
maxim1000
Дата 20.4.2005, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 1
Всего: 110



можно посчитать количество разрядов числа
получится целая часть логарифма по основанию 2
это будет ОЧЕНЬ быстро
...
только неточно smile
зато после этого можно пробовать уточнять с помощью какой-нибудь аппроксимации...


--------------------
qqq
PM WWW   Вверх
Dmitron
Дата 3.5.2005, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 19.4.2005

Репутация: 1
Всего: 1



Всё намного проще smile . Можно переводить в целочисленной арифметике не теряя данных.
PM MAIL   Вверх
PILOT
Дата 3.5.2005, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Кстати, Dmitron прав, нужно лишь задаться необходимым по точности кол-вом байтов (char, int, long ...) и в принципе получается довольно точно и быстро.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
DRUID_3
Дата 19.6.2005, 21:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну есть ваще-то Чапаевский метод определения динамического диапазона АЦП от количества бит (не путать реальный ДД ограниченный как правило интермодуляцией). Формула такова


6*N+1.76 dB=DR

не поверите - исправно фурычит ! Моего скудного матиматического дара никак не хватит обьяснить Вам почему.... smile

  Вверх
DRUID_3
Дата 19.6.2005, 21:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











... нда, где N битность АЦП.

Поможет это Вам ?
  Вверх
Crait
Дата 20.6.2005, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 244
Регистрация: 20.2.2003

Репутация: нет
Всего: 1



Построй таблицу, если памяти хватает.
12 разрядов - 4096 ячеек.
PM MAIL   Вверх
Dmitron
Дата 24.6.2005, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 19.4.2005

Репутация: 1
Всего: 1



Спасибо за внимание к теме.
Весь перевод у меня производится с помощью операций сдвига, сложения и таблицы из 32 значений.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.1304 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.