"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.
Дискретность позволяет компьютеру работать с сигналами, которые в природе меняются непрерывно. Чтобы сохранить, обработать или передать звук, его измеряют через равные промежутки времени, а измеренные значения округляют до уровней, доступных для кодирования. Так возникает цифровое представление сигнала. Его точность зависит от частоты измерений и числа уровней, а увеличение точности обычно требует больше места для хранения.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Непрерывный сигнал — величина, способная принимать любые значения в некотором диапазоне и изменяться в любой момент времени. Например, звук — это колебания воздуха: давление меняется плавно, а не только в заранее выбранные секунды. Такое описание нужно, чтобы понимать, какой исходный сигнал предстоит измерять.
Дискретный сигнал — сигнал, значения которого рассматривают только в отдельных моментах времени или выбирают из конечного набора уровней. Он уже не описывает каждое мгновение и каждую возможную величину, как непрерывный сигнал. Такая форма подходит компьютеру для хранения и обработки данных.
Дискретизация — преобразование непрерывного сигнала в последовательность отсчётов, взятых через равные промежутки времени. Отсчёт — это измеренное значение сигнала в выбранный момент. Дискретизация позволяет представить изменение сигнала набором чисел, с которыми компьютер может работать.
Квантование — замена значения каждого отсчёта ближайшим значением из конечного набора уровней. Вместо бесконечного множества возможных значений остаются только заранее допустимые уровни. Это делает значения отсчётов кодируемыми конечным числом битов.
Физические процессы обычно не останавливаются между измерениями: звук распространяется как непрерывное изменение давления, а свет — как изменение яркости. Компьютер же хранит данные в виде конечной последовательности битов, поэтому не может записать все мгновения и бесконечно точные значения. Чтобы перевести сигнал в подходящую форму, применяют дискретизацию и квантование.
При дискретизации выбирают промежуток времени между измерениями и фиксируют значение сигнала в каждый такой момент. Например, если брать отсчёт каждую тысячную долю секунды, то за секунду получится тысяча отсчётов. Между ними компьютер не получает новых значений исходного сигнала: запись содержит только измеренные точки, а непрерывное изменение между ними напрямую не передаётся.
Даже после измерения значение отсчёта может быть любым в диапазоне сигнала, а для хранения нужно использовать ограниченное число комбинаций битов. Поэтому квантование сопоставляет измеренному значению ближайший доступный уровень. Если точное значение расположено между уровнями, оно округляется, и возникает ошибка квантования — разница между исходным и записанным значениями.
После квантования каждому уровню присваивают числовой код. При кодировании n битами можно получить 2ⁿ разных комбинаций, а значит, представить 2ⁿ уровней; например, 8 бит дают 256 уровней. Эти коды записываются как последовательность нулей и единиц, то есть в виде данных, которые компьютер может хранить, обрабатывать и передавать.
Точность зависит от двух независимых настроек. Частота дискретизации определяет, насколько часто измеряют сигнал во времени, а число уровней квантования — насколько точно можно записать каждое измеренное значение. Увеличение частоты добавляет отсчёты, а увеличение числа уровней требует больше битов на отсчёт; в обоих случаях растёт объём данных.
| Параметр | Что определяет | Что происходит при увеличении |
|---|---|---|
| Частота дискретизации | Число отсчётов за единицу времени | Промежуток между отсчётами уменьшается |
| Промежуток между отсчётами | Время между соседними измерениями | При увеличении частота дискретизации уменьшается |
| Число уровней квантования | Количество допустимых значений отсчёта | Квантование становится точнее, требуется больше битов |
| Количество битов на один отсчёт | Число кодируемых уровней | Уровней становится больше: их число равно 2ⁿ |
| Точность цифрового представления | Насколько близки записанные значения к исходному сигналу | Обычно требуется больше отсчётов или уровней |
| Объём данных | Место, занимаемое записью | Увеличивается при росте числа отсчётов или битов на отсчёт |
Сначала определите, какой параметр рассматривается: временной шаг или точность записи значения. Частота дискретизации связана с числом отсчётов, а число уровней — с количеством битов на каждый отсчёт. Поэтому улучшение одного параметра не означает автоматического увеличения другого.
Задача 1. Сигнал записывают с частотой 8000 отсчётов в секунду. Сколько отсчётов будет получено за 2 секунды? Частота показывает количество измерений за одну секунду, а длительность сообщает, сколько таких секунд содержится в записи. Значит, нужно умножить число отсчётов за секунду на число секунд.
Ответ: за 2 секунды будет получено 16 000 отсчётов. Если длительность записи увеличить вдвое при той же частоте, число отсчётов также удвоится. Это помогает проверить, что зависимость выбрана верно.
Задача 2. Для хранения каждого отсчёта используют 8 бит. Сколько уровней квантования можно закодировать? Каждый бит может иметь одно из двух значений, поэтому для восьми битов число комбинаций определяется степенью двойки. Число уровней равно количеству возможных кодов.
Ответ: можно закодировать 256 уровней квантования. Проверка здравого смысла: уже один бит даёт два уровня, а каждый дополнительный бит удваивает количество комбинаций. Поэтому число уровней не равно числу битов.
Задача 3. Монофонический звук длительностью 10 секунд записан с частотой 44 100 отсчётов в секунду и глубиной 16 бит. Найдём объём несжатых данных в байтах. Монофоническая запись имеет один канал, поэтому отдельного множителя для нескольких каналов нет. Сначала определим число отсчётов, затем переведём биты в байты.
Ответ: несжатая запись занимает 882 000 байт. Для стереозвука при тех же параметрах объём был бы вдвое больше, потому что записываются два канала. При подобных расчётах важно использовать длительность и переводить биты в байты делением на 8.
Путать дискретизацию с квантованием — значит смешивать выбор моментов измерения с округлением измеренных значений. Это происходит потому, что оба действия входят в один процесс оцифровки. Проверьте себя вопросом: если меняются моменты получения отсчётов, речь о дискретизации; если меняются допустимые значения, речь о квантовании.
Иногда считают, что увеличение частоты дискретизации автоматически добавляет уровни квантования. Причина ошибки — оба параметра влияют на точность цифровой записи, но отвечают за разные её стороны. Проверка проста: частота измеряется в отсчётах за секунду, а уровни задают число возможных кодов значения.
Число уровней при кодировании n битами иногда принимают равным n. Такую ошибку допускают, забывая, что каждый бит имеет два возможных состояния и комбинации складываются в степени двойки. Подставьте небольшое значение: 2 бита дают 2² = 4 уровня, а не 2.
При расчёте объёма данных можно забыть длительность записи, число каналов или перевод битов в байты. Это случается, когда сразу перемножают числа, не проверяя, что именно они описывают. Перед вычислением запишите формулу: длительность × частота × битовая глубина × число каналов, а результат в битах разделите на 8.
Для понимания дискретности нужно знать, что компьютер кодирует информацию двоичными числами, а также различать бит и байт. Эти понятия объясняют, почему число уровней связано с количеством битов и как вычислять объём записи. Без них невозможно перейти от измеренного значения к его цифровому коду.
Дискретное представление используют при оцифровке звука и изображений, хранении мультимедиа и передаче цифровых данных. В каждом случае непрерывный сигнал преобразуют в конечный набор данных, доступных устройствам. Конкретные параметры выбирают с учётом требуемой точности и ограничений хранения или передачи.
С темой связаны измерение объёма файлов и оценка качества цифровой записи. Расчёты показывают, сколько памяти понадобится для заданной длительности и параметров оцифровки. Сравнение частоты и числа уровней помогает понять, за счёт чего меняется точность записи.
Чем дискретный сигнал отличается от непрерывного?
Непрерывный сигнал может менять значение в любой момент и принимать любые значения в некотором диапазоне. У дискретного сигнала рассматривают отдельные моменты времени или только ограниченный набор значений.
Чем дискретизация отличается от квантования?
Дискретизация определяет, в какие моменты времени измерять сигнал. Квантование округляет полученные значения до ближайших уровней из конечного набора.
Что показывает частота дискретизации?
Она показывает, сколько отсчётов сигнала получают за единицу времени, обычно за секунду. Чем она выше, тем меньше промежуток между измерениями.
Как по числу битов определить число уровней квантования?
Если один отсчёт кодируют n битами, можно представить 2ⁿ различных значений. Например, 8 бит позволяют закодировать 2⁸ = 256 уровней.
Почему более точная оцифровка требует больше памяти?
Для точности нужно чаще измерять сигнал или различать больше уровней его значений. В первом случае растёт число отсчётов, во втором — количество битов на отсчёт, поэтому увеличивается общий объём данных.
§ 7. Дискретность