1. Преобразование Фурье и спектр сигнала


Во многих случаях задача получения (вычисления) спектра сигнала выглядит следующим образом. Имеется АЦП, который с частотой дискретизации Fd преобразует непрерывный сигнал, поступающий на его вход в течение времени Т, в цифровые отсчеты — N штук. Далее массив отсчетов подается в некую программку, которая выдает N/2 каких-то числовых значений (программист, который утянул из инета написал программку, уверяет, что она делает преобразование Фурье).

Чтобы проверить, правильно ли работает программа, сформируем массив отсчетов как сумму двух синусоид sin(10*2*pi*x)+0,5*sin(5*2*pi*x) и подсунем программке. Программа нарисовала следующее:

image
рис.1 График временной функции сигнала

image
рис.2 График спектра сигнала

На графике спектра имеется две палки (гармоники) 5 Гц с амплитудой 0.5 В и 10 Гц — с амплитудой 1 В, все как в формуле исходного сигнала. Все отлично, программист молодец! Программа работает правильно.

Это значит, что если мы подадим на вход АЦП реальный сигнал из смеси двух синусоид, то мы получим аналогичный спектр, состоящий из двух гармоник.

Итого, наш реальный измеренный сигнал, длительностью 5 сек, оцифрованный АЦП, то есть представленный дискретными отсчетами, имеет дискретный непериодический спектр.
С математической точки зрения — сколько ошибок в этой фразе?

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

image
рис.3 График функции sin(10*2*pi*x)+0,5*sin(5*2*pi*x) на периоде измерения 0.5 сек

image
рис.4 Спектр функции

Что-то как бы не то! Гармоника 10 Гц рисуется нормально, а вместо палки на 5 Гц появилось несколько каких-то непонятных гармоник. Смотрим в интернетах, что да как…

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

image
рис.5 Добили нулей до 5 сек

image
рис.6 Получили спектр

Все равно не то, что было на 5 секундах. Придется разбираться с теорией. Идем в Википедию — источник знаний.

2. Непрерывная функция и представление её рядом Фурье


Математически наш сигнал длительностью T секунд является некоторой функцией f(x), заданной на отрезке {0, T} (X в данном случае — время). Такую функцию всегда можно представить в виде суммы гармонических функций (синусоид или косинусоид) вида:

(1), где:

k — номер тригонометрической функции ( номер гармонической составляющей, номер гармоники)
T — отрезок, где функция определена (длительность сигнала)
Ak — амплитуда k-ой гармонической составляющей,
?k- начальная фаза k-ой гармонической составляющей

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

(Более строго, среднеквадратичное отклонение ряда от функции f(x) будет стремиться к нулю, но несмотря на среднеквадратичную сходимость, ряд Фурье функции, вообще говоря, не обязан сходиться к ней поточечно. См. https://ru.wikipedia.org/wiki/Ряд_Фурье.)

Этот ряд может быть также записан в виде:

(2),
где , k-я комплексная амплитуда.

или

(3)

Связь между коэффициентами (1) и (3) выражается следующими формулами:

{A_k}=\sqrt{a_k^2+b_k^2}

и



Отметим, что все эти три представления ряда Фурье совершенно равнозначны. Иногда при работе с рядами Фурье бывает удобнее использовать вместо синусов и косинусов экспоненты мнимого аргумента, то есть использовать преобразование Фурье в комплексной форме. Но нам удобно использовать формулу (1), где ряд Фурье представлен в виде суммы косинусоид с соответствующими амплитудами и фазами. В любом случае неправильно говорить, что результатом преобразования Фурье действительного сигнала будут комплексные амплитуды гармоник. Как правильно говорится в Вики «Преобразование Фурье (?) — операция, сопоставляющая одной функции вещественной переменной другую функцию, также вещественной переменной.»

Итого:
Математической основой спектрального анализа сигналов является преобразование Фурье.

Преобразование Фурье позволяет представить непрерывную функцию f(x) (сигнал), определенную на отрезке {0, T} в виде суммы бесконечного числа (бесконечного ряда) тригонометрических функций (синусоид и\или косинусоид) с определёнными амплитудами и фазами, также рассматриваемых на отрезке {0, T}. Такой ряд называется рядом Фурье.


Отметим еще некоторые моменты, понимание которых требуется для правильного применения преобразования Фурье к анализу сигналов. Если рассмотреть ряд Фурье (сумму синусоид) на всей оси Х, то можно увидеть, что вне отрезка {0, T} функция представленная рядом Фурье будет будет периодически повторять нашу функцию.

Например, на графике рис.7 исходная функция определена на отрезке {-T\2, +T\2}, а ряд Фурье представляет периодическую функцию, определенную на всей оси х.

Это происходит потому, что синусоиды сами являются периодическими функциями, соответственно и их сумма будет периодической функцией.


рис.7 Представление непериодической исходной функции рядом Фурье

Таким образом:

Наша исходная функция — непрерывная, непериодическая, определена на некотором отрезке длиной T.
Спектр этой функции — дискретный, то есть представлен в виде бесконечного ряда гармонических составляющих — ряда Фурье.
По факту, рядом Фурье определяется некоторая периодическая функция, совпадающая с нашей на отрезке {0, T}, но для нас эта периодичность не существенна.

Далее.

Периоды гармонических составляющих кратны величине отрезка {0, T}, на котором определена исходная функция f(x). Другими словами, периоды гармоник кратны длительности измерения сигнала. Например, период первой гармоники ряда Фурье равен интервалу Т, на котором определена функция f(x). Период второй гармоники ряда Фурье равен интервалу Т/2. И так далее (см. рис. 8).


рис.8 Периоды (частоты) гармонических составляющих ряда Фурье (здесь Т=2?)

Соответственно, частоты гармонических составляющих кратны величине 1/Т. То есть частоты гармонических составляющих Fk равны Fk= к\Т, где к пробегает значения от 0 до ?, например к=0 F0=0; к=1 F1=1\T; к=2 F2=2\T; к=3 F3=3\T;… Fk= к\Т (при нулевой частоте — постоянная составляющая).

Пусть наша исходная функция, представляет собой сигнал, записанный в течение Т=1 сек. Тогда период первой гармоники будет равен длительности нашего сигнала Т1=Т=1 сек и частота гармоники равна 1 Гц. Период второй гармоники будет равен длительности сигнала, деленной на 2 (Т2=Т/2=0,5 сек) и частота равна 2 Гц. Для третьей гармоники Т3=Т/3 сек и частота равна 3 Гц. И так далее.

Шаг между гармониками в этом случае равен 1 Гц.

Таким образом сигнал длительностью 1 сек можно разложить на гармонические составляющие (получить спектр) с разрешением по частоте 1 Гц.
Чтобы увеличить разрешение в 2 раза до 0,5 Гц — надо увеличить длительность измерения в 2 раза — до 2 сек. Сигнал длительностью 10 сек можно разложить на гармонические составляющие (получить спектр) с разрешением по частоте 0,1 Гц. Других способов увеличить разрешение по частоте нет.

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

3. Дискретные сигналы и дискретное преобразование Фурье


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

Обычная схема измерения и оцифровки сигнала выглядит следующим образом.


рис.9 Схема измерительного канала

Сигнал с измерительного преобразователя поступает на АЦП в течение периода времени Т. Полученные за время Т отсчеты сигнала (выборка) передаются в компьютер и сохраняются в памяти.


рис.10 Оцифрованный сигнал — N отсчетов полученных за время Т

Какие требования выдвигаются к параметрам оцифровки сигнала? Устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал) называется аналого-цифровой преобразователь (АЦП, англ. Analog-to-digital converter, ADC) ( Wiki).

Одним из основных параметров АЦП является максимальная частота дискретизации (или частота семплирования, англ. sample rate) — частота взятия отсчетов непрерывного во времени сигнала при его дискретизации. Измеряется в герцах. (( Wiki))

Согласно теореме Котельникова, если непрерывный сигнал имеет спектр, ограниченный частотой Fмакс, то он может быть полностью и однозначно восстановлен по его дискретным отсчетам, взятым через интервалы времени , т.е. с частотой Fd ? 2*Fмакс, где Fd — частота дискретизации; Fмакс — максимальная частота спектра сигнала. Другими слова частота оцифровки сигнала (частота дискретизации АЦП) должна как минимум в 2 раза превышать максимальную частоту сигнала, который мы хотим измерить.

А что будет, если мы будем брать отсчеты с меньшей частотой, чем требуется по теореме Котельникова?

В этом случае возникает эффект «алиасинга» (он же стробоскопический эффект, муаровый эффект), при котором сигнал высокой частоты после оцифровки превращается в сигнал низкой частоты, которого на самом деле не существует. На рис. 5 красная синусоида высокой частоты — это реальный сигнал. Синяя синусоида более низкой частоты — фиктивный сигнал, возникающий вследствие того, за время взятия отсчета успевает пройти больше, чем пол-периода высокочастотного сигнала.


Рис. 11. Появление ложного сигнала низкой частоты при недостаточно высокой частоте дискретизации

Чтобы избежать эффекта алиасинга перед АЦП ставят специальный антиалиасинговый фильтр — ФНЧ (фильтр нижних частот), который пропускает частоты ниже половины частоты дискретизации АЦП, а более высокие частоты зарезает.

Для того, чтобы вычислить спектр сигнала по его дискретным отсчетам используется дискретное преобразование Фурье (ДПФ). Отметим еще раз, что спектр дискретного сигнала «по определению» ограничен частотой Fмакс, меньшей половине частоты дискретизации Fd. Поэтому спектр дискретного сигнала может быть представлен суммой конечного числа гармоник, в отличие от бесконечной суммы для ряда Фурье непрерывного сигнала, спектр которого может быть неограничен. Согласно теореме Котельникова максимальная частота гармоники должна быть такой, чтобы на нее приходилось как минимум два отсчета, поэтому число гармоник равно половине числа отсчетов дискретного сигнала. То есть если в выборке имется N отсчетов, то число гармоник в спектре будет равно N/2.

Рассмотрим теперь дискретное преобразование Фурье (ДПФ).



Сравнивая с рядом Фурье



видим, что они совпадают, за исключением того, что время в ДПФ имеет дискретный характер и число гармоник ограничено величиной N/2 — половиной числа отсчетов.

Формулы ДПФ записываются в безразмерных целых переменных k, s, где k – номера отсчетов сигнала, s – номера спектральных составляющих.
Величина s показывает количество полных колебаний гармоники на периоде Т (длительности измерения сигнала). Дискретное преобразование Фурье используется для нахождения амплитуд и фаз гармоник численным методом, т.е. «на компьютере»

Возвращаясь к результатам, полученным в начале. Как уже было сказано выше, при разложении в ряд Фурье непериодической функции (нашего сигнала), полученный ряд Фурье фактически соответствует периодической функции с периодом Т. (рис.12).


рис.12 Периодическая функция f(x) с периодом Т0, с периодом измерения Т>T0

Как видно на рис.12 функция f(x) периодическая с периодом Т0. Однако из-за того, что длительность измерительной выборки Т не совпадает с периодом функции Т0, функция, получаемая как ряд Фурье, имеет разрыв в точке Т. В результате спектр данной функции будет содержать большое количество высокочастотных гармоник. Если бы длительность измерительной выборки Т совпадала с периодом функции Т0, то в полученном после преобразования Фурье спектре присутствовала бы только первая гармоника (синусоида с периодом равным длительности выборки), поскольку функция f(x) представляет собой синусоиду.

Другими словами, программа ДПФ «не знает», что наш сигнал представляет собой «кусок синусоиды», а пытается представить в виде ряда периодическую функцию, которая имеет разрыв из-за нестыковки отдельных кусков синусоиды.

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

Таким образом, чтобы получить «правильный» спектр сигнала, являющегося суммой нескольких синусоид с разными периодами, необходимо чтобы на периоде измерения сигнала укладывалось целое число периодов каждой синусоиды. На практике это условие можно выполнить при достаточно большой длительности измерения сигнала.


Рис.13 Пример функции и спектра сигнала кинематической погрешности редуктора

При меньшей длительности картина будет выглядеть «хуже»:


Рис.14 Пример функции и спектра сигнала вибрации ротора

На практике бывает сложно понять, где «реальные составляющие», а где «артефакты», вызванные некратностью периодов составляющих и длительности выборки сигнала или «скачками и разрывами» формы сигнала. Конечно слова «реальные составляющие» и «артефакты» не зря взяты в кавычки. Наличие на графике спектра множества гармоник не означает, что наш сигнал в реальности из них «состоит». Это все равно что считать, будто число 7 «состоит» из чисел 3 и 4. Число 7 можно представить в виде суммы чисел 3 и 4 — это правильно.

Так и наш сигнал… а вернее даже не «наш сигнал», а периодическую функцию, составленную путем повторения нашего сигнала (выборки) можно представить в виде суммы гармоник (синусоид) с определенными амплитудами и фазами. Но во многих важных для практики случаях (см. рисунки выше) действительно можно связать полученные в спектре гармоники и с реальными процессами, имеющими циклический характер и вносящими значительный вклад в форму сигнала.

Некоторые итоги


1. Реальный измеренный сигнал, длительностью T сек, оцифрованный АЦП, то есть представленный набором дискретных отсчетов (N штук), имеет дискретный непериодический спектр, представленный набором гармоник (N/2 штук).

2. Сигнал представлен набором действительных значений и его спектр представлен набором действительных значений. Частоты гармоник положительны. То, что математикам бывает удобнее представить спектр в комплексной форме с использованием отрицательных частот не значит, что «так правильно» и «так всегда надо делать».

3. Сигнал, измеренный на отрезке времени Т определен только на отрезке времени Т. Что было до того, как мы начали измерять сигнал, и что будет после того — науке это неизвестно. И в нашем случае — неинтересно. ДПФ ограниченного во времени сигнала дает его «настоящий» спектр, в том смысле, что при определенных условиях позволяет вычислить амплитуду и частоту его составляющих.

Использованные материалы и другие полезные материалы.

FourierScope — программа для построения радио сигналов и их спектрального анализа.
Graph — программа с открытым кодом, предназначенная для построения математических графиков.
ДИСКРЕТНОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ – КАК ЭТО ДЕЛАЕТСЯ
Дискретное преобразование Фурье (ДПФ)

Комментарии (44)


  1. amartology
    02.11.2015 17:39

    Ctrl+F «Найквист» — ноль результатов. Что-то тут не так, если вы обсуждаете спектры, получаемые на АЦП, и не говорите про частоту Найквиста.


    1. diakin
      02.11.2015 17:40
      +5

      Найквист ака Котельников, разве нет?


      1. ekapinos
        02.11.2015 17:52
        +1

        «ака» — не совсем верно
        Котельников с Найквистом как Попов с Маркони (а кое где Герц а то и Тесла)


        1. diakin
          02.11.2015 19:39

          Я применительно к «обсуждению спектров» )


        1. forgotten
          03.11.2015 09:07

          Не совсем.
          Наблюдение о необходимости дискретизации с частотой, вдвое превышающей максимальную, сделал Найквист, а вот теоретически обосновал Котельников (и, независимо от него, 16 лет спустя Шеннон).


          1. deniskreshikhin
            03.11.2015 13:55

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

            В советской науке уже в тот момент Котельников все вывел теоретически на 15 лет раньше Шеннона и практически одновременно с работами Найквиста, поэтому нет смысла отсылаться к частоте Найквиста.


  1. Simmetry
    02.11.2015 18:35
    +1

    Напишите, пожалуйста, о вейвлет-преобразовании


    1. diakin
      02.11.2015 19:36

      Не могу, извините. Этой темой не занимался.


      1. Simmetry
        02.11.2015 20:03

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


        1. degs
          02.11.2015 22:11
          +1

          Вейвлет-преобразования появились сравнительно недавно (по крайней мере относительно классического Фурье-преобразования) и теория их гораздо сложнее. Я бы тоже с удовольствием почитал хороший пост про вейвлеты общего назначения, особенно со ссылками на существующие библиотеки. К сожалению, сейчас подразумевается что вейвлет == анализ и сжатие изображений и только в таком контексте описывается.
          Если вас интересует введение, можете попробовать посмотреть здесь.


          1. Simmetry
            02.11.2015 22:33

            Анализ и сжатие изображений — лишь один из инструментов общего вейвлет-анализа. Моделирование биологических структур и связанных с ними процессов с помощью преобразования Фурье оказывается слишком огрубленным, «самая жизнь» исчезает. Так что вейвлет интересен, прежде всего, как способ расчёта непрерывной функции. Для многомасштабного моделирования он подходит, как нельзя лучше. Вдруг, как говорится, желание нападет?


            1. degs
              02.11.2015 22:56

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


              1. Simmetry
                02.11.2015 23:12

                Да уж, работы носят преимущественно прикладной характер. С другой стороны очень немного исследователей забирается в дебри биологических симметрий так далеко, но, поскольку без моделей, стремящихся к разрешению «ab initio», биотехнология никуда не сдвинется, то вейвлет, безусловно, достанут, помоют и станут активно применять. Удачи Вам!


    1. dateless
      03.11.2015 01:45
      +1

      Есть еще «модное» преобразование Гильберта-Хуанга. Не знаю, как вы применяете вейвлеты, но если вам нужно вычленить несущие частоты, то HHT (Hilbert Huang Transform) справляется неплохо.



      1. Simmetry
        03.11.2015 09:12

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


        1. dateless
          04.11.2015 02:00

          Давайте, я сделаю вид, что понял. Я занимаюсь абсолютно другими приложениями, но тоже сталкиваюсь с «уникальностью» процессов. Для простой классификации использую принцип главных компонент (PCA — principal component analysis) или linear discriminant analysis. Эти методы позволяют проверить уникальность процесса, но не изучить его параметры. Опять же в моих приложениях, параметры (а иногда и природа) проверяются с помощью моделей и коэффициентов подобия, типа коэффициента взаимной информации. Коэффициент подобия рассчитывается между моделью и реальными данными. Не уверен, что вам это поможет, но мало ли.


          1. Simmetry
            04.11.2015 09:34

            На особую уникальность мы не претендуем. Работы, изучающие многомасштабную структуру тканей и колебаний различного толка, представлены в достаточном количестве. Алгебраические феномены наследования изучены достаточно подробно. Наша задача прикладная — осуществить сравнение параметров структур, циклических процессов и генетического кода применительно к одному суставу. Вот тут придется приводить имеющийся математический аппарат к единообразию, а как это делать, станет ясно по окончании набора сырых данных в виде пиксельных картинок файлов DICOM. Ваши замечания внимательно изучу, поскольку сопряжение «математики-биологи» выглядит пока весьма гротескно, а это дверь в новую медицину.


    1. yurash
      03.11.2015 10:31

      Верное замечание. Я писал диплом 11 лет назад, с использованием вейвлет, тогда они были из разряда «модно, молодёжно» (теперь я уже всю тему позабыл, т.к. работаю в другой области). И сейчас я офигеваю каждый раз когда на хабре и гиктайм появляется статья с преобразованием Фурье, где как правило ни слова о новых инструментах анализа (в частности, вейвлетах)


      1. deniskreshikhin
        08.11.2015 15:14

        Изменилась проблематика. Вейвлеты были призваны заменить БПФ там где требовалось либо локально повысить точность, либо наоборот разменять точность на быстродействие. Сейчас современные сигнальные процессоры предоставляют достаточную скорость вычислений что бы применять БПФ там где только это можно.

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


    1. polybook
      03.11.2015 10:43
      +1

      См. мою статью тут.


      1. degs
        03.11.2015 16:52

        Спасибо, там вообще много чего интересного. Буду не спеша читать.


  1. Carry
    02.11.2015 19:52
    +2

    Не хватает про оконные функции.


    1. diakin
      03.11.2015 02:42

      Вот здесь хорошо описано.
      Спектральный анализ на ограниченном интервале времени. Оконные функции

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


      1. Alexeyslav
        03.11.2015 13:33

        Увы, хорошо оно описано для математика, для человека со стороны есть множество неочевидных моментов. Прочитал, так и не понял что такое окно и на каком этапе преобразования накладывается.

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

        А если стоит задача измерить спектральное распределение в шумоподобном сигнале? Где там брать период сигнала?


        1. iliasam
          03.11.2015 14:05

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

          Соответствующая картинка с сайта выше:
          image


          1. degs
            03.11.2015 16:56
            +1

            Чудес не бывает к сожалению. Краевые эффекты не исчезают а уменьшаются, причем за счет размывания основной гармоники. Легко показать что наложение окна на сигнал эквивалентно сверке фурье-образа с образом окна, то есть просто некоторому усреднению.


        1. diakin
          03.11.2015 14:34

          Не только бытовой сети. Во многих случаях период может быть известен, например тихоходный вал редуктора делает один оборот, и на этом обороте укладывается энное количество оборотов промежуточных звеньев.
          Или электродвигатель вращает передаточный механизм с известной скоростью и т.д.
          А с какой целью необходимо получить спектральное распределение? Чтобы посмотреть как энергия распределяется по частоте? Так это одна задача. А выделить составляющие сигнала — это другая задача.


      1. iliasam
        03.11.2015 13:51

        У вас отношение периодов синусоид в сигнале равно двум, так что можно подобрать нужную длительность. А вот если бы оно было, например, дробным, то подобрать длительность измерения уже бы не удалось.


        1. diakin
          03.11.2015 14:43

          Да, это так. Но можно просто увеличить длительность (по возможности), тогда колокольчик станет уже и не будет закрывать соседние мелкие гармоники. А окно запортит и «хорошую» гармонику.


  1. PapaBubaDiop
    02.11.2015 19:55

    Для примера было бы хорошо заполнить 4.5 секунды не нулями, а сигналом (9 тайлов по 0.5). И посмотреть на спектральную картинку.


    1. SADKO
      03.11.2015 01:11
      +2

      Вот, вот…
      … а применительно к сигналам из реального мира, само преобразование фурье тривиально, а самые ништяки кроются в особенностях нарезки оных тайлов…


    1. diakin
      03.11.2015 02:01
      +1


      Длительность 4,5 сек


      Длительность 1,5 сек


      Длительность 11,5 сек

      Хм… Интуитивно мне казалось, что амплитуда гармоники 5Гц с увеличением длительности измерения будет стремиться к реальной 0.5 В.


      1. dtestyk
        03.11.2015 05:29

        думаю, она стремится по вероятности


  1. polybook
    03.11.2015 10:58

    Тоже кое-что написал про Фурье- и энергетические спектры:
    Про артефакты, маскировку частот.
    Про конечность выборки.
    Про фильтры и окна.
    Маткадовские примеры (старый Mathcad).


    1. diakin
      03.11.2015 13:46

      По моему мнению для анализа конечного сигнала целесообразно применять разложение в ряд Фурье, а не интеграл Фурье.
      «По самому определению дискретного Фурье-преобразования, исходная функция и так предполагается равной
      нулю за пределами расчетного интервала». Это для интеграла Фурье.
      Для рядов Фурье за пределами интервала измерений исходная функция продлевается периодически, что позволяет найти «неискаженный правильный» спектр, даже если сигнал ограничен.
      Собственно пафос данной статьи в этом и заключался ))
      Хотя, если в пределах окна уложится целое число периодов сигнала — спектр все равно будет «искаженный»?


  1. Gudin
    03.11.2015 16:41

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


    1. diakin
      04.11.2015 00:14

      Спасибо, рад, что статья оказалась хоть немного полезной.


  1. UA3MQJ
    06.11.2015 21:04

    А еще можно написать про секвентный анализ и разложение в ряд меандров.
    Хармут_Теория секвентного анализа Основы и применения_1980.djvu


  1. prijutme4ty
    07.11.2015 20:06

    Извините, вот это не понял:
    «Чтобы увеличить разрешение в 2 раза до 0,5 Гц — надо увеличить длительность измерения в 2 раза — до 2 сек. Сигнал длительностью 10 сек можно разложить на гармонические составляющие (получить спектр) с разрешением по частоте 0,1 Гц. Других способов увеличить разрешение по частоте нет.»

    Казалось бы, два Фурье-разложения, полностью сходящихся на интервале, должны сходится всюду? Почему нельзя, достаточно точно измерив сигнал в 1 сек, расширить его на 10 сек?


    1. Alexeyslav
      08.11.2015 11:03

      За одну секунду от составляющей частоты 0.1Гц останется только часть фазы… если мы начнём его расширять на 10сек повторением то это уже будет сигнал с частотой 1Гц и кучей гармоник.


      1. prijutme4ty
        08.11.2015 11:07

        Да, правда. Забыл про то, что у нас фиксирован способ продолжения сигнала. Спасибо!


  1. dtestyk
    08.11.2015 14:15

    после оцифровки превращается в сигнал низкой частоты
    А какой именно частоты? Правильно ли, что: T_observed = T_sample%T_signal?
    10%21=10=-11
    10%11=10=-1
    10%9=1
    график 10%x в wolframalpha
    Еще интересно, возникает ли аналогичный эффект, когда сигнал имеет больший период, чем период окна?
    Что-то наподобие: T_observed = T_sample%T_signal%T_frame?


    1. dtestyk
      08.11.2015 14:55

      И, вообще, должна существовать какая-нибудь алгебра для людей. Например, если freq0 — гармоника frame_rate и субгармоника sample_rate, т.е
      frame_rate < freq0 < sample_rate,
      где < — отношение делимости,
      то разложив размер окна на простые множители, и взяв оригинальные подмножества, получим количество возможных частот без искажений:
      window=2*2*2*2*3*5*5*5*11 gives (1+4)*(1+1)*(1+3)*(1+1) frequencies
      window=60=2*2*3*5 gives (1+2)*(1+1)*(1+1)*(1+1)=24 frequencies
      window=4096=2^12 gives (1+12)=13 frequencies