Что такое наложение спектра (aliasing)
Когда непрерывный сигнал оцифровывают, его снимают дискретными отсчётами с частотой дискретизации fs. Теорема Котельникова—Найквиста утверждает: без искажений можно восстановить только те частоты, что лежат ниже половины частоты дискретизации — так называемой частоты Найквиста fs/2. Всё, что выше этой границы, отсчётами не различается от своего «зеркального двойника» в нижней части спектра. Это и есть наложение спектра, или алиасинг: высокочастотный сигнал маскируется под низкочастотный и становится неотличим от настоящего. Именно поэтому нельзя просто «расширить полосу» записи, не повысив fs — лишние частоты не пропадут, а завернутся внутрь и испортят полезный диапазон.
r = f mod fs f_набл = (r ≤ fs/2) ? r : fs − r
Калькулятор берёт частоту сигнала f и частоту дискретизации fs (обе в кГц) и «сворачивает» f в диапазон однозначности 0…fs/2. Сначала находится остаток r = f mod fs — то есть частота, приведённая к первой зоне шириной fs. Если этот остаток не превышает Найквиста (r ≤ fs/2), сигнал попадает в спектр как есть. Если превышает — он отражается от границы fs/2 и наблюдается как fs − r. Флаг «Наложение» поднимается всякий раз, когда исходная f выше fs/2, даже если после сворачивания она красиво «легла» на какое-то целое значение.
Частота Найквиста и зоны спектра
Ось частот при дискретизации разбивается на полосы шириной fs/2, которые называют зонами Найквиста. Первая зона (0…fs/2) — рабочая, только в ней частота отображается сама собой. Вторая зона (fs/2…fs) отражается вниз зеркально, третья (fs…3fs/2) повторяет первую, и так далее — спектр становится периодическим с периодом fs. Поэтому сигналы 30 кГц, 66 кГц и 78 кГц при fs = 48 кГц дадут одинаковый наблюдаемый тон: аппаратура не в силах их разделить. Разрешающая способность по частоте внутри зоны, кстати, определяется уже не дискретизацией, а длиной анализируемого блока — её считает калькулятор разрешения БПФ.
Обратите внимание на два опасных края. Если f кратно fs, остаток r = 0 — помеха садится прямо на постоянную составляющую (0 Гц) и выглядит как дрейф нуля. Если же f попадает точно на fs/2, тон оказывается на самой границе и в реальной системе «мерцает» между двумя отсчётами. Оба случая на практике одинаково вредны, и оба калькулятор честно показывает.
Ещё одно следствие периодичности спектра: наложение работает в обе стороны. Не только высокочастотная помеха приходит в рабочую зону, но и любой узкополосный шум питания, наводка от тактового генератора или гармоника соседнего преобразователя способны отразиться и сесть рядом с полезным сигналом. Поэтому при разводке платы и выборе fs учитывают не только полосу самого сигнала, но и спектр возможных помех — иногда достаточно чуть сдвинуть частоту дискретизации, чтобы увести зеркальный образ мешающей гармоники в сторону от полезного диапазона.
Как выбирать частоту дискретизации
Теоретического запаса «ровно вдвое» почти никогда не хватает: реальный сигнал не обрывается на fs/2, а аналоговый фильтр не бесконечно крутой. Поэтому на практике берут fs с запасом — типично в 2,2–2,5 раза выше максимальной полезной частоты, а для звука исторически закрепились 44,1 и 48 кГц при слышимой полосе до 20 кГц. Между границей полезной полосы и Найквистом остаётся «переходный коридор», в котором фильтр успевает спасть до нужного подавления; чем этот коридор шире, тем более пологим (и дешёвым) может быть фильтр. Ключевую роль играет аналоговый ФНЧ (anti-aliasing) перед АЦП: он должен подавить всё выше fs/2 до того, как сигнал попадёт на преобразователь. Если крутизны одного RC-звена мало, ставят фильтр более высокого порядка или активный Sallen—Key.
Радикальный приём — передискретизация (oversampling): частоту дискретизации задирают в несколько раз выше необходимой, тогда переходный коридор становится огромным и от аналогового фильтра требуется лишь мягкий завал, а основную режекцию берёт на себя цифровой фильтр с последующим прореживанием (децимацией). Именно так устроены сигма-дельта АЦП звукового и измерительного класса. Но помните главное правило: полностью «после оцифровки» уже наложившиеся частоты не убрать — свёрнутые тоны математически неотделимы от полезных, и никакой цифровой обработкой их не расцепить. Всё, что можно, делается до преобразователя.
Куда попадёт помеха — таблица зон
Для fs = 48 кГц (Найквист 24 кГц) видно, как частоты выше границы заворачиваются вниз. Столбец r — остаток f mod fs, последний — наблюдаемый тон в первой зоне.
| f сигнала, кГц | r = f mod fs | Наблюдаемая, кГц | Наложение |
| 12 | 12 | 12 | ✓ нет |
| 24 | 24 | 24 | ✓ край |
| 30 | 30 | 18 | ⚠ да |
| 36 | 36 | 12 | ⚠ да |
| 44 | 44 | 4 | ⚠ да |
| 48 | 0 | 0 (DC) | ⚠ да |
| 54 | 6 | 6 | ⚠ да |
| 72 | 24 | 24 | ⚠ да |
Где применяют — и где не годится
Расчёт зеркальной частоты нужен везде, где есть дискретизация: при проектировании звуковых и измерительных АЦП-трактов, где алиасинг напрямую съедает динамический диапазон и портит расчётный SNR и ENOB; при цифровом синтезе, где DDS порождает зеркальные образы несущей выше fs/2; при передаче данных, чтобы битрейт потока и полоса не выходили за зону однозначности. Отдельная классика — полезный алиасинг: в стробоскопах и в технике субдискретизации (undersampling) высокочастотный радиосигнал специально заворачивают в низкую зону, чтобы принять его медленным АЦП. Не годится этот расчёт там, где сигнал заведомо ограничен по полосе честным аналоговым фильтром и весь лежит ниже fs/2 — тогда наложения просто нет. И помните: калькулятор описывает идеальную свёртку по частоте; он не учитывает уровень помехи и крутизну реального фильтра, поэтому окончательное решение принимают по спектру измеренного сигнала.
Пример
На значениях по умолчанию (f = 30 кГц, fs = 48 кГц). Частота Найквиста fs/2 = 24 кГц. Остаток r = 30 mod 48 = 30 кГц, что больше 24 кГц, значит сигнал лежит во второй зоне и отражается: f_набл = fs − r = 48 − 30 = 18 кГц. Поскольку исходные 30 кГц выше Найквиста, поднимается флаг ⚠ есть наложение. В спектре записи вместо реальных 30 кГц появится ложный тон 18 кГц, который уже никаким цифровым фильтром не отделить от настоящего сигнала 18 кГц — лечится только аналоговым фильтром до АЦП или повышением fs хотя бы до 60–66 кГц.
См. также: Найквист / дискретизация · разрешение БПФ · RC-фильтр (anti-aliasing) · ADC SNR / ENOB · DDS-спектр · все калькуляторы
|