Главная > DSP > Что такое комплексный сигнал, зачем он нужен и чем хорош

Что такое комплексный сигнал, зачем он нужен и чем хорош

Комплексный сигнал — важная штука; он являет собой один из краеугольных камней радиотехники. Почти все современные приемники (GSM, Wi-Fi, Bluetooth…) работают, выделяя квадратурные составляющие, которые потом подвергаются цифровой обработке. Увы, обычно в ВУЗах эту тему объясняют с привлечением полулетальных доз матанализа. Понятное дело, после этого у любого нормального человека надолго отпадает желание возвращаться к такому материалу, и формируется стойкое непонимание того, чем же такой ужас может быть удобен. В этой статье я постараюсь объяснить по-человечески, что такое комплексный сигнал и почему он действительно чудно хорош.

Одно «но»: я предполагаю, что читатель уже знаком с таким устройством как перемножитель (смеситель) и в курсе явления переноса частоты; то есть картинка, приведенная ниже, сердечно ему знакома, как обычно бывает уже курсе этак на третьем-четвертом, ближе к сессии. Также предполагается, что понятия скалярного произведения векторов и функций не вызывают удивления у читающего.

mix_reg

Итак, выше мы видим смеситель, на который подается опорный сигнал (сигнал гетеродина) REF, а также полезный сигнал S. Как известно, на выходе получается смесь разных гармоник, в числе которых присутствует и интересующий нас сигнал p (копия сигнала S, перенесенная на промежуточную частоту IF), который мы выделяем с помощью фильтра низкой частоты. Это стандартная схема гетеродинирования, совершенно чудесного метода, который позволяет перенести сигнал с каких-нибудь диких гигагерц, для коих частот удобно делать компактные антенны, на низкую промежуточную частоту, где сигнал удобно анализировать в силу того, что на низкой частоте мы можем без проблем оцифровать его и далее применить любые алгоритмы.

Однако любой человек, делавший лабы на эту тему, знает, что гетеродинированию свойственны некоторые недостатки, а именно наличие так называемых побочных каналов приема, в частности, зеркального канала и канала на промежуточной частоте. То есть, в выходной сигнал p попадет не только то, что находится на IF Герц ниже частоты настройки гетеродина REF, но также и то, что находится симметрично, на IF Герц выше по частоте, и, кроме того, то, что приходит на вход непосредствено на частоте IF; при этом, если прохождение сигнала на промежуточной частоте может быть ослаблено совершенствованием схемотехники смесителя, наличие зеркального канала является фундаментальной проблемой и не может быть устранено никаким образом кроме применения внешнего фильтра, ослабляющего нежелательную полосу частот.

Откуда берется зеркальный канал? Его наличие можно показать аналитически, но я предлагаю посмотреть на проблему немного под другим углом. Давайте вглядимся в примерное уравнение работы нарисованного выше смесителя (строго говоря, оно не совсем корректно в смысле, например, пределов интегрирования, но идею демонстрирует):

mix_eq

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

Когда видишь скалярное произведение чего-то (в нашем случае — сигналов), это что-то всегда начинает напоминать вектор. Итак, у нас есть векторы сигналов и их скалярное произведение. Давайте нарисуем его на плоскости!

mix1

В свете этого получается, что выходной сигнал p — ничто иное, как проекция вектора S на вектор REF (мы ведь помним, что скалярное произведение — это проекция). Но смотрите, есть ведь и еще один вектор, I, проекция которого на REF точно такая же, причем расположен он зеркально вектору S. Вот он, наш зеркальный канал. Очевидно, что он будет всегда, потому что любой вектор S можно отразить относительно вектора REF (нет, я не буду это доказывать; слава богу, в физике объяснение «это очевидно» вполне работает для подобных случаев).

Как отличить проекцию вектора I от проекции вектора S? В случае одного опорного вектора REF, понятное дело, никак. Остается только подавлять зеркальный канал до смесителя. Однако проблема исчезнет сама собой, если добавить второй опорный вектор, повернутый на 90°.

mix_quadr

Ортогональные вектора REF1 и REF2 образуют на плоскости декартову систему координат, в которой однозначно представим любой вектор, хоть S, хоть I — при отражении одна из координат просто меняется на противоположную.

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

Ранее мы сделали шаг от классической блок-схемы смесителя к картинке с векторами. Теперь давайте сделаем обратный шаг — от картинки выше, уже с двумя опорными векторами, к эквивалетной блок-схеме. Как мы уже выяснили, один смеситель соответствует одному скалярному произведению. Теперь у нас скалярных произведения два, так что смесителя тоже будет два. А еще на схеме появится фазовращатель — второй опорный вектор-сигнал, повернутый на 90°, на практике получают из одного основного (во временной области поворот соответствует сдвигу по фазе).

mix_quad_mixer

И вот у нас получилась классическая схема того, что называется квадратурным демодулятором, на выходе которого мы имеем комплексный сигнал. Канал, полученный умножением входного сигнала на исходный опорный сигнал, соответствует вещественной части комплексного сигнала (Re) и часто называется каналом I (in-phase, без сдвига). Соответственно, канал, полученный умножением входного сигнала на второй опорный сигнал, являющийся сдвинутой версией исходного, соответствует мнимой части (Im) и часто называется каналом Q (quadrature, со сдвигом на 90°). Дальше по пути каналов I и Q в 99% случаев стоят АЦП. Да-да, это именно то, что лежит в основе SDR.

Комплексный сигнал имеет много ценных свойств, в частности:

  • в нем содержится полная информация о спектре как ниже частоты гетеродина, так и выше — исчезает проблема зеркального канала, ВЧ-тракт получается проще и эффективнее;
  • как следствие первого, комплексный сигнал содержит информацию о фазе — можно работать с фазовой модуляцией (а когда мы откладываем на комплексной плоскости координаты I и Q, соответствующие определенным фазам, например при PSK или QAM, у нас получается сигнальное созвездие);
  • с ним прекрасно работает комплексное преобразование Фурье, что открывает безграничные возможности по анализу и синтезу любых сигналов (после оцифровки, конечно);
  • каждому из каналов (I и Q) требуется всего половина той полосы частот, которую занимает спектр исходного сигнала, который они представляют, что снижает требования к АЦП.

Поскольку смеситель может переносить частоту как вниз, так и вверх (в спектре выходного колебания присутствует и гармоника суммы частот входного сигнала и гетеродина, можно отфильтровать ее, а не промежуточную частоту), из квадратурного демодулятора легко получается квадратурный модулятор; в этом случае, формируя комплексный сигнал произвольным образом в цифровом виде и выводя на модулятор компоненты I и Q с помощью цифро-аналоговых преобразователей, мы можем легко получить самые замороченные виды модуляции (вроде OFDM), которые другим путем получить практически невозможно. Если выражаться в стиле геометрических аналогий, приведенных выше, в случае квадратурного модулятора мы имеем дело с суммой маштабированных опорных векторов REF1 и REF2 (см. соответствующую картинку).

Пара слов о преобразовании Фурье. Известно, что для вещественного сигнала результат преобразования Фурье симметричен, и его вторая часть не несет полезной информации. Если же на вход преобразования Фурье подать комплексный сигнал с квадратурного демодулятора, то область отрицательных частот (то, что дальше половины количества выборок в случае дискретного преобразования), будет соответствовать области спектра ниже частоты гетеродина, а область положительных частот — области спектра выше частоты гетеродина. Таким образом, результат преобразования Фурье для комплексного сигнала имеет смысл целиком. Результат же обратного преобразования Фурье пригоден для подачи на вход квадратурного модулятора, что позволяет сформировать совершенно любой сигнал, зная его спектр.

Напоследок небольшой пример того, как это выглядит в реальности. На картинке ниже показан сигнал с условной несущей 10 кГц, до момента 1 мс отклоняющийся от нее на -1.5 кГц (т.е., имеющий реальную частоту 8.5 кГц), а после этого момента — на +1.5 кГц (11,5 кГц, то, что в случае одного смесителя мы назвали бы зеркальным каналом). Ниже показаны сигналы I и Q, полученные при частоте опорного сигнала 10 кГц. Видно, как в момент изменения частоты входного сигнала на симметричную ей по спектру относительно частоты гетеродина синфазный канал (I) не претерпевает изменений, а квадратурный канал (Q) резко меняет свою фазу.

signal

IQ

Статья получилась достаточно длинной и, наверное, не самой простой; тем не менее надеюсь, что кому-то она поможет уложить в голове понятие комплексного сигнала.

Рубрики:DSP
  1. Дмитрий
    12/10/2016 в 20:30

    На мой взгляд, вы перемудрили со скалярным произведением и несколько запутали понятия. Начнем с понятий. Вы не определили, о какой плоскости идет речь, но уже рисуете на ней вектора. Во-вторых, вы почему-то пишете, что скалярное произведение — это проекция одного вектора на другой, хотя на самом деле это далеко не так. Далее путаница с зеркальным каналом. Он ведь зеркален по частоте, а у вас он зеркален в непонятной плоскости.
    Я сам тут не эксперт, но то, что вы пишете, явно противоречит основам. Т.е. вы растолковали элементарные вещи, но запутали в самом главном.

    • YS
      12/10/2016 в 21:35

      Вы знаете простой способ объяснить, о какой плоскости идет речь? : ) В сущности, это некоторая абстрактная плоскость. Любой набор данных в виде массива можно считать вектором. И в какой плоскости они откладываются? В сущности, это уже получается и не плоскость, а пространство. Многомерное. Это не то что не нарисовать, это и не представить. Тем не менее, все законы остаются теми же, что и для векторов в двумерном пространстве.

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

      Я привожу геометрическую аналогию к частотному положению канала. Посмотрите на самый первый рисунок, и на последний пример. Там никаких плоскостей нет, все зеркально по частоте.

      • Дмитрий
        18/10/2016 в 16:23

        Если орт, то 2 замечание можно снять. А 1 и 3 замечание остаются в силе. Да, вы можете представлять что угодно в виде чего угодно, только чтобы оставаться в рамках науки, вы должны показать применимость мат. аппарата используемой модели (абстракции) к своим объектам. Поясню подробнее. У вас есть три вектора — S, I, REF. Они отображают три сигнала, расположенных на разной частоте. Т.к. векторы S и I зеркальны относительно REF в нарисованной плоскости и зеркальны относительно REF по частоте, мы понимаем, что речь идет о полярных координатах, где угол вектора соответствует его частоте. Длина вектора, видимо, соответствует амплитуде. Но тут же мы получаем противоречие, т.к. при увеличении частоты мы начнем получать циклические совпадения векторов, что не имеет аналогий в исходной картине гетеродинирования. Таким образом, ваша аналогия не тождественна физике исходного явления. Либо я чего-то не так понял.

        • YS
          18/10/2016 в 17:33

          Вообще, я изначально не имел в виду полярные координаты. Дело в том, что вектором принято называть вообще любой набор данных. Если в этом наборе четыре числа — это будет вектор на плоскости (две пары X/Y). Если шесть — это будет вектор в трехмерном пространстве. Если больше — это тоже будет вектор, правда, непойми где. Интересно, что скалярное произведение и прочие забавные вещи работают и в таких непойми каких пространствах. И там тоже можно выбрать ортонормированный базис. Это, в частности, позволяет говорить о таких понятиях, как ортогональные сигналы (функции). А преобразование Фурье работает именно потому, что гармонические функции дают возможность построить ортонормированный базис, по которому мы и раскладываем сигнал.

          Так вот, мои вектора символизируют именно вектора сигналов в том непойми каком пространстве. И раскладываются они в ортогональном базисе. Просто нарисовать тысячемерное, например, пространство было бы затруднительно, потому я ограничился двумя измерениями. Но в тысячемерном пространстве, как следует из математики, аналогия будет соблюдаться. Как было принято писать в советских учебниках, несложное доказательство этого очевидного факта автор оставляет любознательному читателю.🙂

  2. Стас
    10/09/2016 в 16:21

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

    • YS
      10/09/2016 в 17:50

      Да, я сам долго шел к пониманию этого факта.🙂

  3. Vugrel
    23/05/2016 в 21:53

    Что делать если дан сигнал из 179 сэмплов а БПФ требует на вход последовательность по длине равную степени двойки

    • YS
      23/05/2016 в 22:20

      Дополнить нулями до ближайшей степени двойки.

  4. Vlad
    14/03/2016 в 22:26

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

    • YS
      14/03/2016 в 23:04

      Рад, что понравилось.🙂 Однако статей по оглашенным темам все же не обещаю. ЦОС не есть мое основное занятие… Может быть чуть попозже будет статья про согласованные фильтры, но пока, опять же, обещать не могу. Сейчас я очень занят на работе (веду четыре проекта), потому времени совсем нет.

  5. 25/10/2015 в 18:59

    А всё равно спасибо!

    Освежил для себя кое-какие моменты. Не думаю, что квадратурная модуляция/демодуляция затронет мои дела. Но кто его знает, жизнь на много сложнее и не предсказумее, чем мы о ней думаем. Спасибо!

    • YS
      25/10/2015 в 20:38

      Не за что, рад, что понравилось.🙂

  1. No trackbacks yet.

Добавить комментарий

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

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s