Форум » » Помогите разобраться с Analog Scaler » Ответить

Помогите разобраться с Analog Scaler

Ale4ko: Привет всем. Объясните пожалуйста как правильно пользоваться Analog Scaler. [quote] DMPS3-4K-150-C Analog input: <Master_Volume> = Valid values range from -800d (-80dB) to 100d (10dB), where 1d = 0.1dB.[/quote]

Ответов - 7

Игорь K.: Попробуйте представить себе, что значения уровня от 0 до +10 dB опредедаютя значениями от 0d до 100d. Отрицательные значения пойдут в обратную сторону, начиная от 65535 в сторону уменьшения. Это история с Signed переменными, попытка соответствия общепринятым линейкам с логарифмическими шкалами. Испытайте на практике.

Ale4ko: Спасибо за ответ! Вроде разобрался, для таких как я новичков выкладываю пример.

Андрей: Добрый день, друзья. Подскажите пожалуйста, отрицательные значения температуры, представляемые в формате от 65535 и дальше в сторону уменьшения, как преобразовать в формат -1 - 2 и т.д.? Заранее благодарю! )


Игорь K.: Андрей пишет: Попробуйте условными операторами If - If- Else в зависимости от получаемого значения от датчика. Например, если полученное значение 65500 соответствует "-20", то формируйте текстовую строку с символом "-" вначале, а численное значение рассчитывайте по формуле. Посмотрите рабочий пример для Shure P300.

Андрей: Игорь K., благодарю, буду пробовать )

Igor: Когда-то столкнулся с подобной задачей, накидал "на коленке" следующую дичь: #HINT "Signed ITOA" #CATEGORY "1" // Analog Operations #DEFAULT_VOLATILE #ENABLE_STACK_CHECKING #ENABLE_TRACE // ANALOG_INPUT In; STRING_OUTPUT Out$; CHANGE In { if (In <= 32767) {Out$ = itoa(In);} if (In > 32767) {Out$ = "-" + itoa((65536 - In));} } Но это на случай линейного преобразования signed analog в string.

Андрей: Igor , благодарю, я примерно так и предполагал )



полная версия страницы