PhViewer 2.0

цифровая обработка сигналов

"О кепстральном анализе в популярной форме"
Суворов В.Н., "Ви Тэк", Санкт.Петербург, Россия
… такое чувство, что сигнал слишком неинформативен. В результате - неточность сравнения. Пытался уменьшать частоту дискретизации - но все равно... Специалисты советуют: не мешало бы еще и кепстр вычислить, да сравнивать уже кепстральные коэффициенты… Вопрос, по поводу кепстра. Я столько мучаюсь, ищу, ищу, никак не могу понять. Это ж вроде как обратное преобразование Фурье от логарифма преобразования фурье? Если так, то мы ж получаем тот же самый сигнал, что был раньше, только по модулю, и с меньшей амплитудой? Или я не прав? Спасибо за ответ.

Вообще говоря, сам по себе кепстральный анализ не вызывает у многих специалистов в области вибродиагностики, распознавания речи, и др., особых восторгов. Иногда, кое в чем, он действительно может помочь в анализе результатов обычного спектрального анализа, но человек, не имеющий достаточной подготовки и опыта, может и изумиться полученным результатам и надолго задуматься, что же это значит.
Непреодолимую аллергию вызывает сама уже устоявшаяся терминология этого метода. Вместо того, чтобы сказать "спектр спектра" надо говорить "кепстр", предполагая, что перестановка букв отражает особенности метода. Вместо "гармоника" - рахмоника", кстати, термин придуман для того, чего, похоже, и в природе не существует, но об этом ниже. А уж для слова "частота" и вовсе не хватило богатства русского языка, чтобы тут что-то переставить, поэтому решили коверкать его в английской интерпретации и писать вместо "фрекьюенси" - "кьюфренси", полный дурдом. Ну вот, отвели душу, перейдем к делу.
Сначала несколько слов об обычном спектре. В чем основные достоинства представления информации о сигнале в частотной области? При переходе из временной области в частотную, представление информации оказывается более наглядным, подробным и компактным, происходит сжатие информации. Причем, чем более "простым" является сигнал во временной области, тем в большей степени происходит сжатие. Например, простейший синусоидальный сигнал во временной области представляется, строго говоря, бесконечным набором точек. Тот же сигнал в частотной области представляется одной точкой, координаты которой по осям "X" и "Y" содержат ту же информацию о частоте (или периоде сиганала) и амплитуде. Можно сказать, что спектр - это наглядное, компактное, численное представление периодичностей, присутствующих в сигнале во временной области.
Кепстральный анализ. Рис.1

Из очевидных достоинств спектрального представления информации и родилась идея кепстрального ана.лиза. В природе не часто встретишь вибрации синусоидального характера, во многих случаях и вид спектра требует длительного и вдумчивого анализа. Почему бы не заменить в спектре ось частоты на ось времени, т.е. представить себе, что этот спектр является просто сигналом?
Тогда, определив спектр этого "сигнала" (его и назвали "кепстр"), можно легко определить невидимые явно периодичности в этом "сигнале". А присутствующие в виде исходного спектра периодичности есть не что иное, как гармонические ряды.
Таким образом, появится возможность представить исходную спектральную информацию еще более компактно, когда каждый гармонический ряд исходного спектра будет представлен всего одной (в идеале) составляющей в кепстре.
Сказано - сделано. На сегодняшний день общепринято считать, что кепстр это есть спектр логарифма спектра исходного сигнала, т.е. первоначальный спектр должен быть представлен в логарифмическом масштабе. Логарифмирование не имеет отношения к существу метода, поэтому о смысле этой операции позднее. Пока для простоты будем считать, что кепстр - это спектр спектра.
Для большей ясности конкретизируем представленный исходный спектр. Пусть этот спектр получен в диапа.зоне от 0 до 80Гц с шагом анализа по частоте 1Гц, т.е. состоит из 80-ти спектральных составляющих. Основные дискретные составляющие в спектре принадлежат двум частотным рядам: гармоники частоты 10Гц (ряд r1 на рисунке) и гармоники частоты 18Гц (ряд r2 ):
Кепстральный анализ. Рис.2

Как практически получить кепстр?
Технические реализации тут могут быть самые разнообразные. Для простоты и определенности будем считать, что речь идет о цифровой обработке, это сейчас всем доступно и широко используется (опустим также нюансы типа убрать постоянную составляющую сигнала и пр.).
Итак, у нас в цифровом виде хранятся данные ис.ходного спектра . 80 значений на частотах от 1 до 80Гц. Для начала нужно заменить ось частот на ось времени. Для этого необходимо просто прочитать эти 80 значений в каком.то темпе и ввести в анализатор для вычисления спектра. Вот здесь уже начинаются нюансы кепстральной обработки:
■ в отличие от обычного спектрального анализа тут отсутствует понятие усреднения, усреднять тут нечего, данные вводятся однократно;
■ сколько делать отсчетов при вводе данных? Очевид.но, 80. Если меньше, то потеряем часть информации, если больше - будем иметь повторяющиеся данные, что тоже смысла не имеет;
■ как считывать данные, справа налево или слева направо? Никакого значения не имеет. Совершенно очевидно, что направление ввода никак не отразится на тех периодичностях, которые мы хотим выявить в сигнале;
■ С каким темпом считывать, т.е. какая должна быть частота опроса? Оказывается, в данном случае это тоже никакого значения не имеет. Чем этот спектральный ана.лиз существенно отличается от обычного?
Внешний вид кепстра никак не зависит от частоты опроса, меняться будут только значения на шкале частоты. Но поскольку значения на этой шкале это в любом случае предмет отдельного разбирательства (об этом ниже), примем для определенности, что ввод данных для вычисления кепстра делается с частотой 1Гц. Это означает, что ввод данных займет 80 секунд, кепстр будет вычислен в диапазоне частот от 0 до 0,5Гц, будет состоять из 40 спектральных составляющих с шагом по частоте 0,0125Гц. Логично ожидать, что в кепстре мы увидим две частотных составляющих (как это показано на рисунке), характеризующие ряды 10Гц и 18Гц исходного спектра.
Мы действительно увидим там две составляющие на частотах 0,055Гц и 0,1Гц.
Кепстральный анализ. Рис.3
Если внимательно проанализировать те параметры ввода данных, о которых говорилось выше, то окажется, что частота 0,055Гц соответствует периодичности в исходном спектре 18Гц, а частота 0,1Гц соответствует периодич.ности 10Гц, как это и показано на рисунке. Вот на этом месте у неизвестных авторов метода переворачивается ось частот и появляется неодолимый зуд начать изобретать новые термины с перестановкой букв.
Кепстральный анализ. Рис.4
В действительности любому спектроанализатору совершенно все равно, что Вы там делаете с организацией входного сигнала - на выходе анализа частоты расположатся слева направо, по возрастающей. Точно так же и в кепстре. Другой вопрос, как интерпретировать разультат, т.е. что Вас в нем интересует. Поскольку здесь нас интересует, каким образом полученный спектр можно соотнести с исходным спектром, точнее даже с его внешним видом, то действительно, периодичности с большим интервалом по частоте будут левее периодичностей с меньшим интер.валом по частоте. Никто ведь не может толком ответить, а какая же это частотная ось перевернулась? Да никакая, просто раньше и не было такой оси нигде. Мы просто для удобства толкования результата нарисовали новую ось, на которой можно периодичности исходного спектра отобразить в герцах и эта ось действительно оказалась направлена справа налево.
Продолжим, дальше будет еще интереснее. В действительности, мало кому удастся увидеть описанную картинку. Применительно к рассматриваемому здесь примеру реальный кепстр будет выглядеть примерно так, как показано на последнем рисунке.
Откуда же берется все остальное?
Если избавиться от иллюзий и не завораживаться экзотической терминологией, то все очень просто. Посмотрим еще раз исходный рисунок, заменим мысленно буквочку F на оси абсцисс на буквочку t, - это и есть наш исходный "сигнал" для кепстрального анализа. Разве этот сигнал хоть отдаленно напоминает по своему виду сумму двух синусоид. Скорее это похоже на сигнал с какого. нибудь индукционного датчика оборотов, когда вал вращается нестабильно. А ведь реальные спектры могут выглядеть и много "страшнее", и чем более узкополосный анализ делался исходно, тем более острыми будут пики и тем их будет больше в этом "сигнале". Соответственно и в кепстре Вы увидите еще массу гармонических составляющих этого "сигнала". Вот здесь самое время вспомнить о логарифмировании исходного спектра. По сути здесь эта процедура направлена только на то, чтобы хоть как-то сгладить вид исходного спектра и, соответственно, уменьшить количество паразитных составляющих в кепстре.
Очень важно понимать те принципиальные различия, которые есть между частотными составляющими в традиционном спектре и частотными составляющими в спектре, называемом кепстром. В первом случае любая частотная составляющая имеет физический смысл, сигнал с такой частотой и амплитудой действительно присутствует в исходном сигнале во временной области. Во втором же случае, в кепстре, присутствие гармоник может совсем не означать, что в исходном спектре существуют соответствующие периодичности, а только то, в какой мере вид дискретных составляющих в исходном спектре более или менее островершинный. А это совсем не то, что нас в данном случае интересует.
Вот поэтому специалисты считают, что с этим видом анализа надо быть очень внимательным и осторожным. Нужен большой опыт и очень хорошая подготовка, чтобы правильно интерпретировать результаты и делать правильные выводы.