Цифровая обработка сигналов – некоторые основные понятия.

Физические величины, если только не опускаться на квантовый уровень, изменяются непрерывно. Однако цифровая обработка сигналов работает исключительно с дискретными величинами, причем дискретность проявляется двояко - при квантовании по времени и при квантовании по амплитуде сигнала. Это видимое усложнение вполне оправдано тем, что для обработки мы может использовать цифровые вычислительные машины, полностью избавившись от проблемы нестабильности параметров, столь болезненной при обработке аналоговой. Не меньшим преимуществом является то, что стоимость цифровой обработки низка и продолжает падать, даже при очень сложных ее видах. Это позволяет создавать эффективные системы обработки сигналов при разумных затратах. Насколько допустима такая замена? Не приводит ли она к потере точности?

Дискретный сигнал получается из аналогового операцией дискретизации – взятием отсчетов (измерением) через интервал времени Т. В принципе возможна и цифровая обработка при неравномерной дискретизации по времени, однако эта тема куда менее разработана математически и, по-видимому, представляет не столь большой практический интерес. При этой операции представляется возможной потеря информации, заключенной в значениях сигнала в интервалах между отсчетами. Условия, при которых осуществимо восстановление аналогового сигнала по полученному из него цифровому, то есть сохранение всей исходно содержавшейся в сигнале информации, выражаются теоремой Найквиста-Уиттекера-Котельникова-Шеннона (в зависимости от пристрастий автора встречаются все мыслимые комбинации этих имен). Для этого требуется, чтобы полоса частот входного сигнала была бы не менее чем вдвое уже, чем частота дискретизации, то есть fc=1/2fd. (Нередко приводят частную ее формулировку, верную для сигналов, чья полоса частот начинается с нулевой частоты – “чтобы не присутствовали частоты большие, нежели половина частоты дискретизации”).

Если же такие частоты имеются, возникает эффект маскировки (подмены) частот. Наглядным его проявлением может служить иллюзия, часто проявляющаяся в кино – вращающееся колесо вдруг начинает вращаться в противоположную сторону. Здесь частота смены кадров является аналогом частоты дискретизации, и когда колесо совершает между последовательными кадрами более чем пол-оборота, оно кажется вращающимся в другую сторону и с иной скоростью. Для частоты f маскируются под нее частоты (2fc±f), (4fc±f), (6fc±f) и т.д. Употребляется также термин “алиасы”, от aliases. Неучет этого эффекта может приводить к грубым ошибкам: так, в одном, проведенном в серьезной лаборатории исследовании было обнаружено наличие в электроэнцефалограмме у всех больных, в отличие от здоровых испытуемых, частот 22 и 28 герц. Однако, заметив, что частота дискретизации в данном исследовании была принята 128 Гц, видим, что эти частоты суть “призраки”, порождения помехи на частотах 100 и 150 Гц – второй и третьей гармониках сетевой частоты (их источником могли быть, например, нелинейные устройства в цепях питания аппаратуры, такие, как выпрямители и трансформаторы). Регистрация же их исключительно у больных вызвана была тем, что в условиях больницы, сравнительно с университетской лабораторией, где записывали ЭЭГ здоровых испытуемых, уровень помех существенно выше.

Борьба с эффектом маскирования частот (антиалиасинг) приводит к необходимости предварительной фильтрации сигнала, исключающей частоты выше половины частоты дискретизации, причем ввиду несовершенства реальных фильтров частоту среза выбирают заведомо более низкую, чем требуемая теоретически, как правило, в три-четыре раза ниже частоты дискретизации. Несовершенство это порождено не неумением инженеров-электриков, а носит фундаментальный характер. Дело в том, что сигнал с ограниченной частотной полосой в принципе не может быть конечной длины, а если он конечен во времени, то содержит бесконечную по ширине полосу частот. (Это ограничение количественно выражается соотношением неопределенностей, связывающим длину импульса и его частотную полосу – бесконечно короткий импульс содержит “в зародыше” все возможные частоты, а строго моночастотная синусоида должна простираться от минус до плюс бесконечности.) Поэтому чересчур высококачественный фильтр будет иметь слишком большое время установления, а “идеальный” - вообще бесконечное.

Преобразование сигнала в цифровую форму производится аналого-цифровым преобразователем (АЦП). Практически все они используют двоичную систему представления при равномерной шкале (не следует, впрочем, забывать и про неравномерные шкалы, такие, как логарифмические α-law и μ-law, употребляемые в цифровой телефонии, двоично-десятичное представление данных и некоторые другие, иногда весьма экзотические решения), характеризуясь определенным числом разрядов. Увеличение числа разрядов повышает точность измерения и позволяет расширить динамический диапазон измеряемых сигналов. Потерянная из-за недостатка разрядов АЦП информация невосстановима, и не существует простых критериев, подобных теореме НКШ (Найквиста-Котельникова-Шеннона), показывающих, когда подобное восстановление могло бы иметь место. Существуют лишь оценки погрешности, например, через мощность шума, порожденного ошибкой в последнем разряде, однако не всегда они удовлетворительны. К примеру, слух человека логарифмичен (закон Вебера-Фехнера), и маломощная помеха в диапазоне, где мощность сигнала невысока, слишком хорошо различима. Для того, чтобы оценить влияние помехи, вводится понятие “отношение сигнал-шум” - отношение мощности сигнала к мощности шума. Часто употребляется логарифмическая мера, в децибелах.

Дб=10 log (Pc/Pш) P - мощность

или

Дб=20 log (Ac/Aш) A – амплитуда

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

Наиболее часто используются 8-, 10-, 12-, 16-, 20- и 24-х разрядные АЦП. Каждый дополнительный разряд улучшает отношение сигнал-шум на 6 децибел (вернее сказать, способен улучшить это отношение при оптимальной реализации всех прочих компонент системы сбора сигналов). Однако увеличение количества разрядов снижает возможную скорость дискретизации и увеличивает стоимость аппаратуры. Важным аспектом является также динамический диапазон, определяемый максимальным и минимальным значением сигнала, который может быть безошибочно введен. Для обратного преобразования используется цифро-аналоговый преобразователь (ЦАП), основные характеристики (разрядность, частота дискретизации, число каналов и т.п.) которого аналогичны характеристикам АЦП. Выход его так же, как правило, подвергается аналоговой фильтрации, прежде всего для удаления высокочастотной помехи.

Для компенсации ошибки, порожденной неточной дискретизацией, существуют, однако, определенные методы. Например, усредняя по нескольким реализациям, можно добиться выделения даже сигнала, меньшего в несколько десятков раз по амплитуде по сравнению с ошибкой дискретизации. Впрочем, такое (“когерентное”) усреднение употребляется и для устранения ошибки и иного происхождения. Иногда, впрочем, используется и искусственное привнесение помехи (дизеринг при обработке звука – слабый гауссовский шум, вносимый для маскирования шума квантования и воспринимающийся на слух куда приятнее “точного” сигнала).

Чтобы рассмотреть более строго проблемы, возникающие при переходе от аналоговой к цифровой обработке, введем следующие понятия:

а. непрерывного сигнала - действительного или комплексного колебания во времени f(t), как функции непрерывной действительной временной переменной t (впрочем, в ряде задач это функция непрерывной пространственной переменной)

б. дискретного сигнала - функции f(n), определенной для всех целочисленных значениях n (если хотят подчеркнуть, что последовательные значения берутся через временной интервал Т, пользуются обозначением f(nT)).

Говоря о сигнале, мы упомянули, что он может быть действительным или же комплексным, то есть состоящим из действительной и мнимой частей. Комплексные числа здесь появляются отнюдь не как дань математической общности (хотя возможность вместо двух разных выражений eacos(b) и easin(b) записать одно exp(a+i*b) сильно облегчает жизнь и выкладки...) и тем более не стоит видеть здесь математическую мистику (“корень квадратный из минус единицы”). Ими естественно, например, представлять синфазную (совпадающую по фазе с некоторым иным сигналом) и квадратурную (отличающуюся по фазе от этого сигнала на 90 градусов) составляющие сигнала. Естественно возникают комплексные числа и при решении дифференциальных уравнений, представляющих многие природные и технические объекты, особенно в связи с описанием колебательных процессов.

Вообще, комплексные числа можно рассматривать попросту как способ совместить в одном числе два разных, но так, чтобы можно было оперировать с ними одновременно. Одно из используемых чисел представляется действительной, а другое – мнимой частью комплексного числа a+bi=r(cos(φ)+i sin(φ))=r exp(iφ). Удобно представлять их точками на плоскости – одна координата будет представлять действительную, вторая же мнимую часть. Тогда их сложение станет сложением векторов, а умножение – поворотом векторов на плоскости (с умножением их длин, равным модулям этих чисел; углы же, равные аргументам этих чисел, складываются). Последовательное возведение комплексного числа в степень становится вращением выражающего это число вектора вокруг начала координат. Проекция этого вектора на одну из осей будет испытывать нарастающие, затухающие или же с постоянной амплитудой колебания – в зависимости от того, больше ли единицы модуль r данного комплексного числа, меньше или же равен ей.

Хотя реальные объекты все в большей или меньшей степени нелинейны, но мы начнем рассмотрение с простейшего, но важного и часто достаточного для удовлетворительного описания случая. А наиболее просты для рассмотрения линейные системы. Линейными называются такие системы, для которых имеет место суперпозиция (то есть отклик на сумму двух входных сигналов будет равен сумме откликов на эти сигналы по отдельности - “целое равно сумме своих частей”) и однородность, или гомогенность (то есть отклик на входной сигнал, усиленный в определенное число раз, будет усилен в то же число раз - “размер не имеет значения”). Линейность позволяет рассматривать наш объект исследования по частям, а однородность - в удобном для нас масштабе, в частности, подавая на вход его простые пробные сигналы и изучая его реакцию на них, а сложные реальные сигналы представляя в виде суммы простых. Очевидно, для реальных объектов свойство линейности может иметь место лишь приближенно и в определенном интервале входных сигналов.

В качестве примера нелинейных технических систем можно привести диод, оставляющий от синусоидального сигнала только положительные полусинусоиды или трансформатор, насыщение ярма которого магнитным полем приводит к “затуплению” вершин синусоиды (а с точки зрения частотного спектра это проявляется появлением частот вдвое, втрое и т.п. большей по сравнению с основной частоты – гармоник, а иногда и частот меньшей в кратное число раз частоты – субгармоник). Возможно, больший интерес для читателя представляют нелинейности в системах биологических, как пороговое действие, выражаемое законом “все или ничего”, или нелинейное преобразование в органах чувств, приближаемое логарифмом в согласии с законом Вебера-Фехнера. Тем не менее, как правило, начинают исследование в предположении линейности, и затем вводят поправки на нелинейность.

Если вход x(t-t0) порождает одинаковый выход y(t-t0) при любом сдвиге t0, то систему называют инвариантной во времени. Это значит, что нам достаточно исследовать ее свойства в какой-то момент времени, и они уже тем самым известны для всех моментов времени. Это также важное упрощающее предположение.

Для описания линейной системы вводится специальный входной сигнал - единичный импульс (импульсная функция)

м 1 n=0

δ(n)= н

о 0 n≠0

В силу свойства суперпозиции и однородности мы можем представить любой входной сигнал в виде суммы таких импульсов, подаваемых в разные моменты времени и умноженных на соответствующие коэффициенты. Тогда выход системы будет представим в виде суммы откликов на эти импульсы, умноженных на указанные коэффициенты. Отклик на единичный импульс называют импульсной характеристикой h(n), и отклик на произвольный входной сигнал f(n) можно выразить сверткой g(n)=∑ h(n-k)*f(k) где индекс суммирования к меняется от минус, до плюс бесконечности. Рассматривают также другой входной сигнал – единичный скачок, равный нулю до определенного момента времени, а затем становящийся равным единице.

м 1 n≥0

u(n)= н

о 0 n<0

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

Если h(k)=0 при k<0, то систему с такой импульсной характеристикой называют каузальной (причинной). Иначе говоря, для того, чтобы система считалась причинной, нужно, чтобы реакция на входной сигнал не наступала до поступления этого сигнала. Некаузальные системы реализовать физически невозможно, так что установив некаузальность системы с заданными (частотными, фазовыми и т.п.) характеристиками, можно изрядно сэкономить силы, не пытаясь добиться невозможного. Если же требуются именно эти параметры (такие важные практически устройства, как дифференциатор или преобразователь Гильберта, увы, оказываются некуазальны) – приходится огрублять и искажать требуемые характеристики, чтобы некаузальность не простиралась далее какого-то момента времени в прошлом и затем вводить задержку на это время, с тем, чтобы следствие не наступало раньше причины.

Если на вход дискретной линейной системы подать иной пробный сигнал - экспоненциальную последовательность zn (z - произвольное комплексное число, то есть значения на входе могут не только возрастать или убывать, но и испытывать колебания – это, пожалуй, самый общий и мощный из пробных сигналов), то выход системы будет равен

g(n)=H(z)*zn

H(z)=∑ h(n)*z-n

где сумма берется от минус до плюс бесконечности.

Это выражение известно под именем z-преобразования (двустороннего – при одностороннем, нами здесь, при всей его важности, не рассматриваемом, преобразовании сумма берется от нуля до бесконечности). Очевидным является, что задержка по времени на один отсчет приводит к умножению H(z) на z-1. Среди других важных свойств этого преобразования надо отметить

Линейность

af(n)+bg(n)

aF(z)+bG(z)

Сдвиг

f(n-m)

z-mF(z)

Масштабирование

a-nf(n)

F(az)

Сопряжение

f*(n)

F*(z*)

Обращение времени

F(-n)

F(1/z)

Свертка

f(n) g(n)

F(z)G(z)

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

Важный класс систем описывается линейным разностным уравнением с постоянными коэффициентами

∑ a(k)*y(n-k) = ∑ b(k)*x(n-k)

k=0..p k=0..q

Обычно полагают а(0)=1(это не снижает общности, потому что всегда можно умножить или разделить все коэффициенты на одно и то же число) и иногда уединяют в левой части, получая:

y(n)= ∑ b(k)*x(n-k)- ∑ a(k)*y(n-k)

k=0..q k=1..p

Смысл его достаточно понятен. Этим уравнением утверждается, что выходной параметр y системы в определенный момент времени зависит от значений этого параметра в предыдущие моменты времени (или от скорости его изменения, изменения этой скорости, то есть ускорения и т.п.) и от значений входного параметра x в данный и предыдущие моменты. Зависимость эта притом полагается линейной. Предельная упрощенность такой модели не мешает ей достаточно точно представлять многие важные объекты (от траектории самолета до электроэнцефалограммы и от курса акций до голосового аппарата человека).

z-преобразование этого уравнения представляет собой рациональную функцию от z-1, то есть отношение двух полиномов от z-1. Нахождение корней полиномов – достаточно хорошо разработанная задача алгебры, и мы можем этим воспользоваться. Корни стоящего в числителе полинома называются нулями, а стоящего в знаменателе - полюсами функции H(z). Значения нулей и полюсов позволяют определить некоторые свойства данной линейной системы. Так, если все полюсы лежат внутри единичной окружности (по модулю меньше единицы), то система является устойчивой. Иначе говоря, ни при каких входных воздействиях она не пойдет “вразнос”.

Поскольку корнем полинома называется число, которое, будучи подставлено в полином, обращает его в ноль, то нули функции H(z) обращают и ее в ноль, то есть показывают, какие колебания вовсе не будут восприниматься системой (“антирезонанс”). Полюса же этой функции обращают ее в бесконечность, иначе говоря, такое колебание на входе системы вызывает резонанс и неограниченное возрастание ее выхода.

Если внутри единичной окружности лежат все полюсы и нули, такую систему называют минимально-фазовой. Иногда это свойство имеет четкую физическую интерпретацию, иногда же это просто продукт применяемого нами метода расчета или оценки параметров.

Сигналы на входе могут быть случайные или детерминированные. Если во втором случае мы располагаем функцией, позволяющей вычислить значение сигнала в любой момент времени (или хотя бы предполагаем существование такой функции, не зная ее явного вида), то для случайных сигналов мы может знать только вероятность того, что он примет какое-либо значение. Закон распределения (задаваемый функцией распределения – вероятностью того, что случайная величина примет значение меньшее аргумента функции, или же задаваемый плотностью распределения – производной функции распределения) нам далеко не всегда известен. Чаще нам известны (точнее сказать, измерены с некоторой погрешностью) его характеристики, и мы постулируем его, распределения, вид.

Одним из самых популярных является нормальный (Гаусса, Муавра-Лапласа) закон, плотность распределения которого имеет вид симметричного, быстро убывающего по мере отклонения от центра колокола. Популярность эта обусловлена и его большой изученностью, и относительной простотой – для его описания достаточно двух первых моментов, и тем, что он возникает, как предельное распределение, в ряде реалистично выглядящих моделей порождения случайного сигнала. Так, например, сумма большого количества малых случайных величин по мере увеличения их количества будет стремиться к нормальному закону. Тем не менее это не единственный закон распределения, встречающийся в реальности. Определенное значение имеют и равномерный на заданном отрезке закон, и двойной экспоненциальный (Лапласа второго рода), похожий по форме на нормальный, но с более разбросанными “хвостами” (т.е. вероятность больших отклонений для него больше, чем для нормального), и другие, в том числе несимметричные законы.

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

Стремясь упростить задачу, ограничимся случаем, когда наша модель зависит от сколь возможно малого количества параметров. Этому условию удовлетворяет гауссовский процесс – последовательность нормально распределенных случайных величин (вовсе не обязательно независимых, более того, мы можем описать достаточное сложное взаимодействие наших величин во времени, пользуясь только первыми и вторыми моментами распределения). Его параметрами являются матожидание и моменты второго порядка (дисперсия и ковариации). Рассмотрим их подробнее. Величина

x^ [n]=ε(x[n]) называется матожиданием, или средним значением, а величина

R[n1,n2]=ε(x[n1]*x[n2]) называется автокорреляцией в моменты времени n1, n2

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

Cov[n1,n2]=ε((x[n1]-x^[n1])*(x[n2] -x^[n2]))

Следует заметить, что такое употребление термина, восходящее к Винеру, не является общеупотребительным и характерно в основном для инженерной терминологии. В то же время в математической статистике автоковариацией так же именуется приведенная выше величина с удаленным средним, но термин “автокорреляция” означает нормированную так, чтобы ее возможные значения лежали между -1 и 1, величину. (Нормирование производится делением на среднеквадратичное отклонение.) Это несоответствие в терминологии может затруднить сопоставление разных литературных источников.

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

R[n1,n2]=ε(x[n1]*y[n2]) мы получим кросскорреляцию и

Cov[n1,n2]=ε((x[n1]-x^[n1])*(y[n2] -y^[n2])) и кроссковариацию,

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

Если автокорреляция зависит только от разности n1-n2, а среднее значение не зависит от времени, говорят о стационарном в широком смысле процессе. Это важное упрощение позволяет говорить о свойствах случайной последовательности в целом, а не о свойствах, проявляющихся только в данный момент времени. Иначе говоря, одна и та же модель случайного процесса остается справедливой в течение всего времени рассмотрения изучаемого объекта. В реальности этого трудно ожидать даже для технических, тем более для биологических систем. Поэтому разработка методов исследования нестационарных процессов, при том, что они не в пример сложнее, остается весьма актуальной проблемой. Часто ограничиваются применением методов, предполагающих стационарность, но к коротким временным отрезкам (например, кратковременный спектральный анализ), меняя с течением времени (плавно или скачками) их параметры. Более радикальное решение – переход к вейвлетным методам (wavelete, всплески). В них роль упрощающего предположения, делающего задачу посильной нашему разуму, играет гипотеза о подобии свойств изучаемого процесса при больших и малых масштабах.

Прежде чем рассматривать более подробно эти методы, остановимся на куда более популярной и разработанной методике – представлении процесса разложением в ряд Фурье (и на некоторых родственных и сходных представлениях). Все та же концепция линейности позволяет нам предположить, что искомая наша, представляющая сигнал, функция времени f(t) представима суммой:

f(t)=∑i Aiφi(t)

где φi(t) – удобные для исследования функции времени. Вопрос о том, что есть “удобные для исследования” в каждом случае решается по-разному: иногда удается найти функции, характерные для рассматриваемого объекта, иногда важнейшим соображением является вычислительная простота, но в подавляющем большинстве случаев мы имеем дело с линейным объектом приведенного выше вида

y(n)= ∑ b(k)*x(n-k)- ∑ a(k)*y(n-k)

k=0..q k=1..p

или подобным ему, и для нас важно сохранить вид функций при линейном преобразовании. Такому требованию удовлетворяют тригонометрические функции; синус и косинус данной частоты или их комбинация, подвергнутые линейному преобразованию, переходят в комбинацию синуса и косинуса той же частоты. Точно так же превращаются в себя эти функции, будучи подвергнуты дифференцированию и интегрированию. Остается узнать, все ли сигналы представимы комбинацией синусов и косинусов. Вопрос об этом был предметом напряженной дискуссии между Фурье и Лагранжем. Фурье полагал, что любая функция может быть представлена таким разложением, Лагранж же возражал, приводя в пример функции с резкими изломами и указывая, что все слагаемые являются гладкими и представить излом ими нельзя. Окончательный ответ, полученный уже после смерти обоих математиков, состоял в том, что приближение может быть сколь угодно точно в среднеквадратическом смысле, но на местах изломов остается некий скачок, причем по мере увеличения количества слагаемых скачок становится уже, но отнюдь не ниже (хотя заключенная в нем энергия и стремится к нулю). Это так называемое “явление Гиббса” проявляется на практике резким снижением точности приближения или же увеличением числа слагаемых для достижения заданной точности, если в приближаемой функции есть разрывы или, в меньшей степени, резкие изломы.

Значение преобразования Фурье для инженерных расчетов явственно следует из того, что синусоида генерируется распространенными радиотехническими схемами, и может быть выделена простыми устройствами, наподобие колебательного контура, а стало быть, оказывается естественно возникающей и естественно обнаруживаемой частью сигнала. Труднее ответить на вопрос, почему данное преобразование может быть полезно при изучении биологических объектов, не является ли это очередной попыткой “искать под фонарем”, воспользоваться уже разработанной методикой безотносительно к тому, насколько она адекватна объекту исследования, вместо того, чтобы взять на себя тяжелый труд разработки специализированных методов. Возможно, это действительно пример “интеллектуальной лени”, но все же предположение линейности (хотя бы не в математизированной форме, а в виде допущений о том, что объект исследования может быть разделен на рассматриваемые по отдельности части, и что изменение масштаба не приведет к принципиальным изменениям предмета исследования) чересчур часто применяется, и с пользой, в самых разных отраслях знания, чтобы оно не имело под собой оснований. А для линейных объектов собственными их функциями (то есть функциями, которые, будучи поданы на вход объекта, воспроизводятся, с соответственными изменениями, на выходе) являются комплексные экспоненты, частным случаем которых являются синусоида и косинусоида.

Различаются, строго говоря, понятия “преобразование Фурье” и “ряд Фурье”. Преобразование Фурье предполагает, что частоты заданы непрерывно, ряд же Фурье задан на дискретном наборе частот. Кроме того, мы может говорить о непрерывном или дискретном времени (то есть сигнал может быть задан в наборе временных отсчетов или же рассматриваться, как непрерывная функция времени), что дает нам всего четыре варианта преобразований – преобразование Фурье с непрерывным временем, преобразование Фурье с дискретным временем, ряд Фурье с непрерывным временем и ряд Фурье с дискретным временем. Явно наиболее практична с точки зрения цифровой обработки сигналов дискретизация и во временной, и в частотной области, но она и наиболее ограничительна, являясь прежде всего аппроксимацией непрерывного преобразования. Непрерывное преобразование Фурье позволяет точно представлять любые, вовсе не обязательно периодические, явления. Если же приходится ограничиваться дискретным набором частот, то представимый рядом Фурье сигнал может быть только периодичен, с периодом, равным периоду самой низкочастотной компоненты в ряде Фурье. Сигналы общего вида, не обладающие свойством периодичности, могут быть представлены рядом Фурье только приближенно. Для этого их мысленно периодически продолжают, как бы превращая данный нам отрезок сигнала из отдельного вагончика в бесконечный поезд, составленный из одинаковых частей. На стыках отрезков при этом могут возникать разрывы и изломы сигнала, и приходится вводить окна, сглаживающие эти явления или же использовать представление сигнала, избавляющее от этих разрывов и изломов, например, вместо преобразования Фурье общего вида использовать дискретное косинусное преобразование, соответственно модифицируя сигнал.

Несмотря на столь тонко проведенное нами различие, вместо “дискретно-временной ряд Фурье” обычно кратко, но не слишком точно говорят о дискретном преобразовании Фурье:

X(k)= ∑n=0N-1 x[n]*exp(-j*2π*n/N)

Применяется оно чаще всего (но не только) для решения одной из трех задач: вычисления спектра мощности (и родственных задач вычисления взаимного спектра, задачи кепстрального анализа, оценки полиспектров и пр.); оценивания передаточной функции и импульсного отклика; быстрого вычисления сверток (что, в свою очередь, используется при фильтрации, расчете корреляции, расчете преобразований Гильберта и Радона и т.п.). В первой из этих задач мы желаем установить наличие в данном нам сигнале синусоиды с интересующей нас частотой. Преобразование Фурье коэффициенты при этой синусоиде и косинусоиде превратит в мнимую и действительную части элемента X(k), и модуль этого элемента укажет нам на присутствие интересующей нас синусоиды. Аргумент, фазовый угол, этого элемента не будет нам столь интересен, потому, что будет зависеть от вещи, в сущности, случайной – от момента начала съема сигнала.

При попытке применить на практике столь простую схему исследования мы обнаружим, однако, неприятные сюрпризы. Прежде всего, оценка наша будет чрезвычайно неустойчива. Ее дисперсия не будет стремиться к нулю, как бы мы не увеличивали число градаций по частоте. Оценка, как это именуется в математической статистике, не будет состоятельной. Лекарством от этого будет вычисление нескольких оценок по разным отрезкам ряда и использование средней меж ними; а дисперсия средней, как известно, обратно пропорциональна корню квадратному из числа усреднений. Другая наша проблема вызвана тем, что мы пытаемся приблизить апериодический сигнал при помощи инструмента – ряда Фурье, предназначенного только для работы с сигналами периодическими. В результате неявно предполагаем, что за правым краем нашего отрезка сигнала следует повторение, и притом в точности воспроизводящее левый край – и так до бесконечности. Порожденные этим разрывы и изломы, притом не отражающие никаких реальных свойств сигнала, а только произвольное разбиение его на отрезки, создают искажения оценки спектра сигнала. Одним из методов борьбы с этим искажением является оконное взвешивание – предварительное умножение отрезка сигнала на коэффициенты, большие в центре отрезка и спадающие к его краям (вообще говоря, можно рассмотреть и окна другого вида, но применение их весьма ограничено). Стараясь уменьшить потери информации при обработке, разбиение на отрезки производят так, чтобы одни и те же точки входили дважды – в одном отрезке с большими, в другом с малыми весами.

Две другие задачи, где с успехом употребляется дискретное преобразование Фурье (ДПФ), используют одно из его важнейших свойств, а именно, что ДПФ от свертки двух сигналов равно произведению ДПФ от этих сигналов. Поскольку выход какой-либо линейной системы есть свертка входного сигнала и отклика этой системы, ДПФ от выхода системы получается перемножением ДПФ от входного сигнала и ДПФ отклика, и, если нам доступны вход и выход системы, и мы может вычислить Фурье от них, передаточная функция получается простым делением. Точно также, если нам нужно вычислить свертку, причем длина свертываемых отрезков столь велика, что нам приходится заботится о вычислительной эффективности, можно, посчитав ДПФ от свертываемых векторов, перемножив и найдя обратное ДПФ, получить искомое (здесь есть некая ловушка – применяя эту теорему “в лоб”, получив циклическую свертку, вычисляя которую и дойдя до конца отрезка, мы начинаем идти по нему с начала – это редко оказывается тем, что мы хотели; для предотвращения этого отрезки дополняются в нужном количестве нулями).

Говоря столь уверенно о вычислительных преимуществах ДПФ, мы еще не дали ни малейших оснований в этой уверенности. Расчет ДПФ по приведенной формуле требует вычисления n коэффициентов, каждый из которых зависит от n элементов исходного отрезка, так что число операций не может быть меньше n2. Не останавливаясь на технических приемах расчета, замечу только, что существует замечательный алгоритм, вернее, целое семейство алгоритмов, известное, как “Быстрое Преобразование Фурье”, и сокращающее время работы до n log n операций. Достигается это искусным применением принципа “разделяй и властвуй”, позволяющего не повторять уже сделанной работы, и прилагательное “быстрое” отнюдь не следует трактовать, как “упрощенное”, “неточное” или “неполноценное”. При точной арифметике результат расчета согласно алгоритму БПФ и расчета по вышеприведенной формуле совпадает, более того, если мы перейдет к арифметике реальной, неточной, окажется, что БПФ дает более высокую точность расчета, чем прямое вычисление. Именно этот алгоритм и делает применение преобразования Фурье настолько полезным в вычислительном отношении.

Известное применение находят и варианты преобразования Фурье. Ограничиваясь только косинусоидами, приходим к Дискретному Косинусному Преобразованию, позволяющему представлять только четные (т.е. f(x)=f(-x)) сигналы, но избавляясь при этом от разрывов. Есть своя ниша и у Дискретного Синусного Преобразования. Определенную пользу приносит преобразование Хартли, где базисные функции не синусы и косинусы, а их суммы, что позволяет добиться некоторого выигрыша в производительности, избавившись от комплексной арифметики. Впрочем, преобразование это слишком близко к Фурье и не может рассматриваться более чем как удобный прием вычислений.

Схожи с Фурье преобразования с иными семействами базисных функций. Например, функции Уолша-Адамара принимают значения +1 и -1, они как бы вырублены топором в попытке изваять карикатуру на синусоиды. Предлагались к использованию и пилообразные или треугольные функции. Им сопутствовал весьма скромный практический успех (в основном в задачах сжатия видеоинформации), а теоретических оснований ожидать появления этих функций в биологических системах, даже таких малых, какие есть у базисных функций Фурье, у них нет. Впрочем, в этом семействе уже разработаны быстрые алгоритмы преобразования, что может оправдать их практическое применение.

К построению семейства функций для разложения сигналов можно подойти и с другой стороны. Начав с описания реального процесса, пусть весьма грубого, можно получить дифференциальное уравнение, собственными функциями которого будет некоторое семейство функций (скажем, функции Бесселя являются собственными решениями дифуравнения мембраны). Они могут оказаться куда пригоднее для описания данного класса процессов, чем стандартное Фурье, но путь этот нелегок и трудоемок.

Наконец, отмечу, что задачи, решаемые при помощи Фурье, могут быть решены и другими способами. Так, для оценивания спектров могут быть использованы авторегрессионный и ARMA методы, импульсная функция отклика может быть оценена при помощи регрессионных оценок и т.п. Единственное всегда верное утверждение здесь таково: нет и не может быть единственного всегда лучшего метода. Особенности порождения и сбора данных, доступные нам средства и методы анализа, перспектива последующего применения наших результатов всегда окажутся определяющими при выборе наилучшего здесь и сейчас метода.

Рабинер и Голд