exponenta event banner

Физические величины и шкалы измерений

Введение

Решение об использовании аппаратных средств с фиксированной точкой является просто выбором для представления чисел в определенной форме. Это представление часто дает преимущества с точки зрения энергопотребления, размера, использования памяти, скорости и стоимости конечного продукта.

Измерение физической величины может принимать множество числовых форм. Например, температура кипения воды составляет 100 градусов Цельсия, 212 градусов по Фаренгейту, 373 кельвина или 671,4 градуса Ранкина. Независимо от того, какое число дано, физическое количество точно такое же. Числа различаются, поскольку используются четыре различных масштаба.

Известные стандартные шкалы, такие как Цельсий, удобны для обмена информацией. Однако бывают ситуации, когда имеет смысл создавать и использовать уникальные нестандартные шкалы. Эти ситуации обычно связаны с максимальным использованием ограниченных ресурсов.

Например, нестандартные масштабы позволяют разработчикам карт получать максимальную детализацию на листе бумаги фиксированного размера. Типичный дорожный атлас США покажет каждый штат на двухстраничном дисплее. Масштаб от дюймов до миль будет уникальным для большинства штатов. Используя большое соотношение миль и дюймов, весь Техас может поместиться на двух страницах. Использование такой же шкалы для Род-Айленда привело бы к плохому использованию страницы. Использование гораздо меньшего соотношения миль и дюймов позволило бы показать Род-Айленд с максимально возможной детализацией.

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

Использование стандартных шкал для измерений имеет определенные преимущества совместимости. Однако бывают случаи, когда стоит нарушить соглашение и использовать уникальный нестандартный масштаб. Бывают также случаи, когда сочетание уникальности и совместимости имеет смысл. Дополнительные сведения см. в следующих разделах.

Выбор шкалы измерений

Предположим, что необходимо выполнить измерения температуры жидкой воды и представить эти измерения с помощью 8-битных целых чисел без знака. К счастью, диапазон температур жидкой воды ограничен. Независимо от того, какую шкалу вы используете, жидкая вода может идти только от точки замерзания до точки кипения. Поэтому это диапазон температур, которые вы должны захватить, используя только 256 возможные 8-битные значения: 0,1,2,..., 255.

Один из подходов к представлению температур заключается в использовании стандартной шкалы. Например, единицами для целых чисел могут быть Цельсий. Следовательно, целые числа 0 и 100 представляют воду в точке замерзания и в точке кипения соответственно. Сверху эта шкала даёт тривиальное преобразование из целых чисел в градусы Цельсия. В нижней части цифры 101-255 не используются. При использовании этой стандартной шкалы более 60% диапазона номеров было потрачено впустую.

Второй подход заключается в использовании нестандартной шкалы. В этой шкале целые числа 0 и 255 представляют воду в точке замерзания и в точке кипения соответственно. На верхней стороне эта шкала дает максимальную точность, так как есть 254 значения между замораживанием и кипячением, а не только 99. С другой стороны, единицы измерения составляют примерно 0,3921568 градуса Цельсия на бит, поэтому преобразование в Цельсия требует деления на 2,55, что является относительно дорогой операцией для большинства процессоров с фиксированной точкой.

Третий подход заключается в использовании «полустандартной» шкалы. Например, целые числа 0 и 200 могут представлять воду в точке замерзания и в точке кипения соответственно. Единицы измерения для этой шкалы составляют 0,5 градуса Цельсия на бит. На минусе эта шкала не использует цифры от 201 - 255, что представляет собой трату более 21%. С верхней стороны эта шкала обеспечивает относительно легкое преобразование в стандартную шкалу. Преобразование в Celsius предполагает деление на 2, что является простой операцией сдвига на большинстве процессоров.

Шкала измерений: За пределами умножения

Одной из ключевых операций при преобразовании из одной шкалы в другую является умножение. Предыдущее тематическое исследование дало три примера преобразований из квантованного целого значения Q в действительное значение V Цельсия, которое включало только умножение:

V = {100oC100      Q1Conversion 1100oC255 Q2Conversion 2100oC200 Q3Conversion 3

Графически преобразование представляет собой линию с наклоном S, которая должна проходить через начало координат. Линия через начало координат называется чисто линейным преобразованием. Ограничение себя чисто линейным преобразованием может быть расточительным, и часто лучше использовать общее уравнение прямой:

V = Λ + B.

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

Общее уравнение строки дает полезное преобразование в квантованный масштаб. Однако, как и все способы квантования, точность ограничена, и посредством преобразования могут быть введены ошибки. Общее уравнение строки с ошибкой квантования задается

V = Λ + B ± Ошибка.

Если квантованное значение Q округляется до ближайшего представимого числа, то

−S2≤Error≤S2.

То есть величина ошибки квантования определяется как количеством битов, так и масштабом. Этот сценарий представляет ошибку наилучшего варианта. Для других схем округления погрешность может быть вдвое больше.

Выбор шкалы измерения для температуры

В типичных двигателях внутреннего сгорания с электронным управлением поток топлива регулируется для получения желаемого отношения воздуха к топливу в цилиндрах непосредственно перед сгоранием. Поэтому требуется знание текущего расхода воздуха. Некоторые производители используют датчики, которые непосредственно измеряют воздушный поток, в то время как другие производители рассчитывают воздушный поток на основе измерений соответствующих сигналов. Соотношение этих переменных получено из уравнения идеального газа. Уравнение идеального газа включает деление на температуру воздуха. Для получения соответствующих результатов в уравнении должна использоваться абсолютная температурная шкала, такая как кельвин или ранкин. Однако квантование непосредственно в абсолютную температурную шкалу может вызвать ненужные большие ошибки квантования.

Температура воздуха, поступающего в двигатель, имеет ограниченный диапазон. На обычном двигателе радиатор предназначен для поддержания блока ниже температуры кипения охлаждающей жидкости. Допустим максимум 225oF (380 K). Когда воздух проходит через впускной коллектор, он может нагреваться до этой максимальной температуры. Для холодного запуска в экстремальном климате температура может быть такой низкой, как -60oF (222 К). Поэтому, используя абсолютную шкалу кельвина, диапазон интересов составляет 222 - 380 К.

Температура воздуха должна быть квантована для обработки встроенной системой управления. Предполагая нереалистичное квантование до 3-разрядных беззнаковых чисел: 0,1,2,..., 7, чисто линейное преобразование с максимальной точностью равно

V = 380  K7.5 bitQ.

Квантованное преобразование и диапазон интересов показаны на следующей фигуре.

Обратите внимание, что существует 7,5 возможных значений квантования. Это происходит потому, что только половина первого бита соответствует температурам (реальным значениям), превышающим ноль.

Ошибка квантования равна -25,33 К/бит ≤ Ошибка ≤ 25,33 К/бит.

Диапазон интересов квантованного преобразования и абсолютное значение квантованной ошибки показаны на следующем рисунке.

В качестве альтернативы чисто линейному преобразованию рассмотрим общее линейное преобразование с максимальной точностью:

V = ( 380 K − 222 K8) Q + 222 K + 0,5 (380 K − 222 K8)

Квантованное преобразование и диапазон интересов показаны на следующей фигуре.

Ошибка квантования составляет -9,875 K/бит ≤ Ошибка ≤ 9,875 K/бит, что приблизительно в 2,5 раза меньше, чем ошибка, связанная с чисто линейным преобразованием.

Диапазон интересов квантованного преобразования и абсолютное значение квантованной ошибки показаны на следующем рисунке.

Очевидно, что общая линейная шкала дает гораздо лучшую точность, чем чисто линейная шкала в интересующем диапазоне.