Представление периодических сигналов. Ряд Фурье

Содержание
Введение
В данном разделе будет рассмотрено представление периодических сигналов при помощи ряда Фурье. Ряды Фурье являются основой теории преобразования Фурье и спектрального анализа, поэтому что преобразование Фурье непериодического сигнала можно получить как предельный переход ряда Фурье при бесконечном периоде повторения. В результате все свойства ряда Фурье также справедливы и для преобразования Фурье непериодических сигналов.
Мы рассмотрим выражения для ряда Фурье в тригонометрической и комплексной форме, а также уделим внимание условиям Дирихле сходимости ряда Фурье. Также мы подробно остановимся на пояснении такого понятия как отрицательная частота спектра сигнала, которое часто вызывает особую сложность при первом знакомстве с теорией спектрального анализа.
Периодический сигнал. Тригонометрический ряд Фурье
Пусть имеется периодический сигнал $s(t)$ непрерывного времени $t$ который повторяется с периодом $T$ секунд, т.е. $s(t+T) = s(t)$. В качестве примера на рисунке 1 показана периодическая последовательность прямоугольных импульсов.

Рисунок 1. Пример периодической последовательности прямоугольных импульсов
Из курса математического анализа известно [1], что система тригонометрических функции с кратными частотами $\omega_n:$
$$ \big\{\varphi_n (t) \big\} = \left\{\frac{1}{\sqrt{T}},\; \sqrt{\frac{2}{T}} \cdot \sin\left( \omega_n \cdot t \right), \; \sqrt{\frac{2}{T}} \cdot \cos\left( \omega_n \cdot t \right)\right\}, \; \omega_n = \frac{2\pi}{T} \cdot n, \; n = 1,2,3,\ldots $$
(1)
образует ортонормированный базис для разложения любых периодических сигналов с периодом $T$, для которых выполняется условие Дирихле [1]. Условия Дирихле сходимости ряда Фурье требуют, чтобы сигнал был задан на сегменте $\left[ -\frac{T}{2}, \; \frac{T}{2}\right]$, сигнал должен быть ограничен (не должен иметь бесконечных значений), должен быть кусочно-непрерывным, т.е. иметь конечное число точек разрыва первого рода (скачки и устранимые разрывы), и должен быть кусочно-монотонным, т.е. должен иметь конечное число экстремумов. Так например периодическая функция $s(t) = \tan (t)$ не удовлетворяет условиям Дирихле, потому что функция $s(t) = \tan (t)$ имеет разрывы второго рода и принимает бесконечные значения при $t = \frac{\pi}{2} + \pi \cdot k,$ где $k=0,\pm 1,\pm 2, \ldots.$ Таким образом, функция $s(t) = \tan (t)$ не может быть представлена рядом Фурье. Также можно привести пример функции $s(t) = \sin\left(\frac{1}{\sin(t)}\right)$, которая является ограниченной, но также не удовлетворяет условиям Дирихле поскольку имеет бесконечное число точек экстремума при приближении $t$ к нулю. График $s(t) = \sin\left(\frac{1}{\sin(t)}\right)$ показан на рисунке 2.
Рисунок 2. График $s(t) = \sin\left(\frac{1}{\sin(t)}\right)$
На верхнем графике показано два периода повторения функции $s(t) = \sin\left(\frac{1}{\sin(t)}\right),$ а на нижнем – область в районе $t=0.$ Можно видеть, что при приближении $t$ к нулю частота колебаний бесконечно возрастает, и такая функция также не может быть представлена рядом Фурье.
Необходимо заметить, что на практике не бывает сигналов с бесконечными значениями тока или напряжения. Функции типа $s(t) = \sin\left(\frac{1}{\sin(t)}\right)$ также можно назвать математической экзотикой, в прикладных задачах не встречаются.
Все реальные периодические сигналы, например периодические последовательности прямоугольных импульсов, показанные на рисунке 1, удовлетворяют условиям Дирихле и могут быть представлены, бесконечным тригонометрическим рядом Фурье вида:
$$ s(t) = \frac{a_0}{2} + \sum_{n=1}^{\infty} \Big[ a_n \cdot \cos\left( \omega_n \cdot t \right) + b_n \cdot \sin\left( \omega_n \cdot t \right) \Big]; \\ a_0 = \frac{2}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) dt; \\ a_n = \frac{2}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \cos\left( \omega_n \cdot t \right) dt; \\ b_n = \frac{2}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \sin\left( \omega_n \cdot t \right) dt. \\ $$
(2)
В выражении (2) коэффициент $a_0$ задает постоянную составляющую периодического сигнала.
Во всех точках где сигнал $s(t)$ непрерывен ряд Фурье (2) сходится к значениям данного сигнала, а в точках разрыва первого рода к среднему значению $\frac{1}{2}\cdot \big(s(t-0) + s(t+0) \big)$, где $s(t-0)$ и $s(t+0)$ – пределы слева и справа от точки разрыва.
Также из курса математического анализа известно, что использование только $N$ членов ряда Фурье, вместо бесконечной суммы, приводит к приближенному представлению сигнала $s(t):$
$$ s(t) \approx \frac{a_0}{2} + \sum_{n=1}^{N} \Big[ a_n \cdot \cos\left( \omega_n \cdot t \right) + b_n \cdot \sin\left( \omega_n \cdot t \right) \Big]. $$
(3)
при котором обеспечивается минимум среднего квадрата ошибки представления сигнала. Анимация 1 иллюстрирует приближение периодической последовательности прямоугольных импульсов при использовании различного количества членов ряда Фурье.
Анимация 1. Приближение усеченного ряда к периодической последовательности прямоугольных импульсов.
Ряд Фурье в комплексной форме.
В предыдущем параграфе мы рассмотрели тригонометрический ряд Фурье для разложения произвольного периодического сигнала $s(t),$ удовлетворяющего условиям Дирихле. Однако это не единственное представление которое можно использовать для периодических сигналов.
Применив формулу Эйлера для комплексных чисел, можно показать, что:
\begin{multline} \frac{a_n - j \cdot b_n}{2} \cdot \exp \left( j \cdot \omega_n \cdot t \right) + \frac{a_n + j \cdot b_n}{2} \cdot \exp \left( -j \cdot \omega_n \cdot t \right) = \\ =\left(\frac{1}{2} \cdot a_n - j \cdot \frac{1}{2} \cdot b_n \right) \cdot \big(\cos\left(\omega_n\cdot t\right) + j \cdot \sin\left(\omega_n\cdot t\right) \big) + \\ +\left(\frac{1}{2} \cdot a_n + j \cdot \frac{1}{2} \cdot b_n \right) \cdot \big(\cos\left(\omega_n\cdot t\right) - j \cdot \sin\left(\omega_n\cdot t\right) \big) =\\ = \frac{1}{2} \cdot a_n \cdot \cos\left(\omega_n\cdot t\right) + \frac{1}{2} \cdot b_n \cdot \sin\left(\omega_n\cdot t\right) + j\cdot \frac{1}{2} \cdot a_n \cdot \sin\left(\omega_n\cdot t\right) - j\cdot \frac{1}{2} \cdot b_n \cdot \cos\left(\omega_n\cdot t\right) + \\ + \frac{1}{2} \cdot a_n \cdot \cos\left(\omega_n\cdot t\right) + \frac{1}{2} \cdot b_n \cdot \sin\left(\omega_n\cdot t\right) - j\cdot \frac{1}{2} \cdot a_n \cdot \sin\left(\omega_n\cdot t\right) + j\cdot \frac{1}{2} \cdot b_n \cdot \cos\left(\omega_n\cdot t\right) =\\ =a_n \cdot \cos\left( \omega_n \cdot t \right) + b_n \cdot \sin\left( \omega_n \cdot t \right). \end{multline}
(4)
Тогда тригонометрический ряд Фурье (2) с учетом (4):
$$ s(t) = \frac{a_0}{2} + \sum_{n=1}^{\infty} \Big[ \frac{a_n - j \cdot b_n}{2} \cdot \exp \left( j \cdot \omega_n \cdot t \right) + \frac{a_n + j \cdot b_n}{2} \cdot \exp \left( -j \cdot \omega_n \cdot t \right) \Big]. \\ $$
(5)
Таким образом, периодический сигнал $s(t)$ может быть представлен суммой постоянной составляющей и комплексных экспонент, вращающихся с частотами $ \pm \omega_n$ с комплексными коэффициентами $\frac{a_n - j \cdot b_n}{2}$ для положительных частот комплексных экспонент и $\frac{a_n + j \cdot b_n}{2}$ для комплексных экспонент, вращающихся с отрицательными частотами $ -\omega_n$.
Рассмотрим коэффициенты для комплексных экспонент, вращающихся с положительными частотами $\omega_n$:
$$ \frac{a_n - j \cdot b_n}{2} = \frac{1}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \cos\left( \omega_n \cdot t \right) dt - j \cdot \frac{1}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \sin\left( \omega_n \cdot t \right) dt = \\ =\frac{1}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \exp \left( -j \cdot \omega_n \cdot t \right) dt, \;\; \omega_n >0. $$
(6)
Аналогично коэффициенты для комплексных экспонент, вращающихся с отрицательными частотами $-\omega_n$:
$$ \frac{a_n + j \cdot b_n}{2} = \frac{1}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \cos\left( -\omega_n \cdot t \right) dt + j \cdot \frac{1}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \sin\left( -\omega_n \cdot t \right) dt = \\ =\frac{1}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \exp \left( -j \cdot \omega_n \cdot t \right) dt, \;\; \omega_n <0. $$
(7)
Выражения (6) и (7) совпадают, кроме того коэффициент постоянной составляющей также можно представить через комплексную экспоненту на нулевой частоте:
$$ \frac{a_0}{2} = \frac{1}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \exp \left( -j \cdot \omega_n \cdot t \right) dt, \;\; \omega_n =0. $$
(8)
Таким образом, (5) с учетом (6)-(8) можно представить как единую сумму при индексации $n$ от минус бесконечности до бесконечности:
$$ s(t) = \sum_{n=-\infty}^{\infty} S(\omega_n) \cdot \exp \left( j \cdot \omega_n \cdot t \right); \\ S(\omega_n) = \frac{1}{T} \cdot \int_{-\frac{T}{2}}^{\frac{T}{2}} s(t) \cdot \exp \left( -j \cdot \omega_n \cdot t \right) dt= \begin{cases} \frac{a_n - j \cdot b_n}{2}, & \text{если $\omega_n>0$}; \\ \frac{a_0}{2},& \text{если $\omega_n=0$}; \\ \frac{a_n + j \cdot b_n}{2},& \text{если $\omega_n<0$}; \end{cases} \\ \omega_n = \frac{2\pi}{T} \cdot n, \; n = 0, \pm 1, \pm 2, \pm 3,\ldots $$
(9)
Выражение (9) представляет собой ряд Фурье в комплексной форме. Коэффициенты ряда Фурье в комплексной форме $S(\omega_n)$ связаны с коэффициентами ряда в тригонометрической форме и определяются как для положительных, так и для отрицательных частот. Мы обозначаем коэффициент $S(\omega_n)$ как функцию зависящую от частоты потому что данный коэффициент соответствует частоте $\omega_n.$
Из выражения (2) следует, что для вещественного сигнала $s(t)$ коэффициенты $a_0,$ $a_n,$ и $b_n$ ряда (2) также являются вещественными. Тогда из (9) следует, что комплексные коэффициенты $S(\omega_n)$ соответствующие положительным частотам $\omega_n>0$ являются комплексно-сопряженными коэффициентам $S(\omega_n)$ для отрицательных частот $\omega_n<0$.
Некоторые пояснения к ряду Фурье в комплексной форме.
В предыдущем параграфе мы осуществили переход от тригонометрического ряда Фурье к ряду Фурье в комплексной форме. В результате вместо разложения периодических сигналов в базисе вещественных тригонометрических функций мы получили разложение в базисе комплексных экспонент, с комплексными коэффициентами $S(\omega_n)$, да еще и появились отрицательные частоты в разложении! Поскольку данный вопрос часто встречает непонимание, то необходимо дать некоторые пояснения.
Во-первых, работать с комплексными экспонентами, в большинстве случаев, проще чем с тригонометрическими функциями. Например при умножении (делении) комплексных экспонент достаточно лишь сложить (вычесть) показатели, в то время как формулы умножения (деления) тригонометрических функций более громоздкие.
Дифференцировать и интегрировать экспоненты (пусть даже комплексные) также проще, чем тригонометрические функции, которые постоянно меняются при дифференцировании и интегрировании (синус превращается в косинус и наоборот).
Во-вторых, ряд в комплексной форме удобнее использовать как для вещественных, так и для комплексных сигналов. Если сигнал $s(t)$ периодический и вещественный, то тригонометрический ряд Фурье кажется более наглядным, потому что все коэффициенты разложения $a_0,$ $a_n$ и $b_n$ остаются вещественными. Однако часто приходится иметь дело с комплексными периодическими сигналами (например при модуляции и демодуляции используют квадратурное представление комплексной огибающей). В этом случае при использовании тригонометрического ряда Фурье все коэффициенты разложения $a_0,$ $a_n$ и $b_n$ станут также комплексными, в то время как при использовании ряда Фурье в комплексной форме будет использованы только комплексные коэффициенты разложения $S(\omega_n)$ и для вещественных и для комплексных входных сигналов.
Ну и наконец, необходимо остановится на пояснении отрицательных частот, которые появились в (5) и (9). Этот вопрос часто вызывает наибольшее непонимание.
В повседневной жизни мы не сталкиваемся с отрицательными частотами. Например мы никогда не настраиваем свой радиоприемник на отрицательную частоту. Давайте рассмотрим следующую аналогию из механики.
Пусть имеется механический пружинный маятник, который совершает свободные колебания с некоторой частотой $\omega_0.$ Может ли маятник колебаться с отрицательной частотой $\omega_0?$ Конечно нет, как не бывает радиостанций, выходящих в эфир на отрицательных частотах, так и частота колебаний маятника не может быть отрицательной. Но это не означает, что понятие отрицательной частоты лишено смысла.
Необходимо отметить, что рассмотренный маятник это одномерный объект (маятник совершает колебания вдоль одной прямой). Но мы можем также привести еще одну аналогию из механики: колесо, вращающееся с частотой $\omega_0$. Колесо, в отличии от маятника вращается, т.е. точка на поверхности колеса перемещается в плоскости, а не просто совершает колебания вдоль одной прямой. Поэтому для однозначного задания вращения колеса просто задать частоту вращения недостаточно, потому что необходимо задать также направление вращения. Вот именно для этого мы и можем использовать знак частоты.
Так если колесо вращается с частотой $\omega_0$ рад/с против часовой стрелки, то считаем, что колесо вращается с положительной частотой $\omega_0,$ а если по часовой стрелки, то частота вращения будет отрицательной. Таким образом для задания вращения отрицательная частота перестает быть бессмыслицей и указывает на направление вращения.
А теперь самое главное, что мы должны понять. Колебание одномерного объекта (например пружинного маятника) может быть представлено как сумма вращений двух векторов, как это проиллюстрировано анимацией 2.
Анимация 2. Колебание пружинного маятника как сумма вращений двух векторов на комплексной плоскости.
Маятник совершает колебания вдоль вещественной оси комплексной плоскости с частотой $\omega_0$ по гармоническому закону $s(t) = \cos(\omega_0 \cdot t)$. Положение маятника показано зеленым вектором. Красный вектор совершает вращения $\frac{1}{2} \cdot \exp(j\cdot \omega_0 \cdot t)$ на комплексной плоскости с положительной частотой $\omega_0$ (против часовой стрелки), а синий вектор $\frac{1}{2} \cdot \exp(-j\cdot \omega_0 \cdot t)$ вращается с отрицательной частотой $-\omega_0$ (по направлению часовой стрелки). Анимация 2 наглядно иллюстрирует хорошо известное из курса тригонометрии соотношение:
$$ \cos(\omega_0 \cdot t) = \frac{ \exp(j\cdot \omega_0 \cdot t)+ \exp(-j\cdot \omega_0 \cdot t)}{2}. $$
(10)
Таким образом, ряд Фурье в комплексной форме (9) представляет периодические одномерные сигналы $s(t)$ как сумму векторов на комплексной плоскости, вращающихся с положительными и отрицательными частотами. При этом обратим внимание, что в случае вещественного сигнала $s(t)$, согласно (9), коэффициенты разложения $S(\omega_n)$ для отрицательных частот $\omega_n<0$ являются комплексно-сопряженными соответствующим коэффициентам для положительных частот. В случае комплексного сигнала это свойство коэффициентов не выполняется ввиду того что $a_n$ и $b_n$ также являются комплексными.
Спектр периодических сигналов
Ряд Фурье в комплексной форме представляет собой разложение периодического сигнала $s(t)$ в сумму комплексных экспонент, вращающихся с положительными и отрицательными частотами кратными $\frac{2\pi}{T}$ с соответствующими комплексными коэффициентами $S(\omega_n)$, которые определяют спектр сигнала $s(t)$. При этом комплексные коэффициенты $S(\omega_n)$ могут быть представлены по формуле Эйлера как $S(\omega_n) = |S(\omega_n)| \cdot \exp ( j \cdot \Phi(\omega_n)),$ где $\left|S(\omega_n)\right|$ – амплитудный спектр сигнала, $\Phi(\omega_n)$ – фазовый спектр. Поскольку периодические сигналы раскладываются в ряд только на фиксированной сетке частот $\omega_n = \frac{2\pi}{T} \cdot n$, то спектр $S(\omega_n)$ периодических сигналов является линейчатым (дискретным). На рисунке 3 приведен пример амплитудного $\left|S(\omega_n)\right|$ и фазового $\Phi(\omega_n)$ спектра периодической последовательности прямоугольных импульсов (см. рисунок 1 при $T = 4$ сек и амплитуде импульсов равной 2).

Рисунок 3. Пример амплитудного $|S(\omega_n)|$ и фазового $\Phi(\omega_n)$ спектра периодической последовательности прямоугольных импульсов
Амплитудный спектр исходного вещественного сигнала является симметричным относительно нулевой частоты, а фазовый спектр - антисимметричным. При этом заметим, что значения фазового спектра $\Phi(\omega_n) = \pi$ и $\Phi(\omega_n) = -\pi$, соответствуют одной и той же точке комплексной плоскости $\exp(\pm j \cdot \pi) = -1$. Т.е. можно сделать вывод, что все коэффициенты $|S(\omega_n)|$ разложения приведенного сигнала являются чисто вещественными, и фазовый спектр $\Phi(\omega_n) = \pm \pi$ соответствуют отрицательным коэффициентам $S(\omega_n)$.
Скрипт, реализующий расчет данных для построения рисунка 3 приведен в файле fourier_series_spectrum.py.
							
						# -*- coding: utf-8 -*-
"""
 Скрипт расчета данных для построения рисунка 3 раздела
 Представление периодических сигналов. Ряд Фурье.
 @author: Бахурин Сергей
 www.dsplib.org
"""
import numpy as np

# Период повторения сигнала
T = 4.0
P = 8000

# Количество коэффициентов ряда Фурье
N =20

# максмимальное количество коэффициентов ряда Фурье
M = np.max(N)


def pimp_signal(t, T, A, Q):
    """
    Функция генерации последовательности прямоугольных импульсов
    t - массив временных отсчетов
    T - период повторения
    A - Амплитуда импульсов
    Q - коэффициент заполнения (от 0 до 1)
    """
    t0 = t - np.round(t/T)*T
    s = np.zeros(len(t), dtype = 'float64')
    for ind in range(len(t0)):
        if(np.abs(t0[ind]) < T/2 * Q):
            s[ind] = A
    return s                 
    

# Один период повторения
t = np.linspace(-T/2, T/2, num = P, endpoint=False)
s = np.zeros(P, dtype='float64')
s = pimp_signal(t, T, 2.0, 0.5)

# Расчет к-тов усеченного ряда Фурье в комплексной форме
#            M
#   s(t) =  SUM c_n * exp(j*w*t)
#           n=-M
c = np.zeros(N*2+1, dtype = 'complex128')
w = np.zeros(N*2+1, dtype = 'float64')
for n in range (-N, N+1):
    w[n+N] = 2.0*np.pi / T * n
    c[n+N] = np.trapz(s * np.exp(-1j * w[n+N] * t), t) / T
     
amp = np.abs(c)
phi = np.angle(c)


# сохранение в соответсвующий файл csv
fn = "dat/fourier_series_spectrum_amp.csv"

np.savetxt(fn, np.transpose([w, amp]), fmt="%+.9e")

# сохранение в соответсвующий файл csv
fn = "dat/fourier_series_spectrum_phi.csv" 
np.savetxt(fn, np.transpose([w, phi]), fmt="%+.9e")

"""
import matplotlib.pyplot as plt

plt.figure(1)
plt.stem(w/np.pi,amp)     

plt.figure(2)
plt.stem(w/np.pi,phi/np.pi) 

plt.show()
"""


						
					
					
Выводы
В данном разделе рассмотрено представление периодических сигналов при помощи ряда Фурье. Приведены выражения для ряда Фурье в тригонометрической и комплексной формах. Мы уделили особое внимание условиям Дирихле сходимости ряда Фурье и были приведены примеры функций для которых ряд Фурье расходится.
Мы подробно остановились на выражении ряда Фурье в комплексной форме и показали, что периодические сигналы как вещественные, так и комплексные представляются рядом комплексных экспонент с положительными и отрицательными частотами. При этом коэффициенты разложения являются также комплексными и образуют амплитудный и фазовый спектр периодического сигнала.
В следующих разделах мы более детально рассмотрим свойства спектров периодических сигналов.
Список литературы
[1] Воробьев Н.Н. Теория рядов. Москва, Наука, Главная редакция физико-математической литературы, 1979.

[2] Баскаков С.И. Радиотехнические цепи и сигналы Москва, Высшая школа, 2000.

[3] Гоноровский И.С. Радиотехнические цепи и сигналы Москва, Сов. радио, 1977.

[4] Folland G.B. Fourier Analysis and its Applications Belmont, Wadsworth& Brooks, 1992.

[5] Бесов О.В. Тригонометрические ряды Фурье. Учебно-методическое пособие (для студентов 2-го курса). Москва, МФТИ, 2004. [PDF]


Oбнаружили ошибку в тексте? Выделите ее мышкой и нажмите