Найти в Дзене

MATLAB - ЦОС \ Практическое введение в частотно-временной анализ

В этом примере показано, как выполнять и интерпретировать базовый частотно-временной анализ сигнала. В практических приложениях многие сигналы являются нестационарными. Это означает, что их представление в частотной области (их спектр) меняется с течением времени. В примере обсуждаются преимущества использования частотно-временных методов по сравнению с представлениями сигнала в частотной области или во временной области. Он отвечает на основные вопросы, такие как: Вы можете разделить практически любой изменяющийся во времени сигнал на достаточно короткие временные интервалы, чтобы сигнал оставался практически неизменным в каждом разделе. Частотно-временной анализ чаще всего выполняется путем сегментации сигнала на эти короткие периоды и оценки спектра по скользящим окнам. Функция pspectrum, используемая с опцией "спектрограмма", вычисляет спектральную оценку на основе БПФ для каждого скользящего окна и позволяет визуализировать, как частотный состав сигнала меняется с течением времен
Оглавление

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

  • Когда определенная частотная составляющая присутствует в моем сигнале?
  • Как мне увеличить разрешение по времени или частоте?
  • Как я могу увеличить резкость спектра компонента или извлечь определенный режим?
  • Как мне измерить мощность в частотно-временном представлении?
  • Как мне визуализировать частотно-временную информацию моего сигнала?
  • Как мне найти прерывистые помехи в частотном содержимом интересующего сигнала?

Использование частотно-временного анализа для идентификации чисел в сигнале DTMF

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

Рассмотрим сигнальную систему цифрового телефонного набора. Сигналы, производимые такой системой, известны как двухтональные многочастотные сигналы (DTMF). Звук, генерируемый каждым набранным номером, состоит из суммы двух синусоид или тонов с частотами, взятыми из двух взаимоисключающих групп. Каждая пара тонов содержит одну частоту низкой группы (697 Гц, 770 Гц, 852 Гц или 941 Гц) и одну частоту высокой группы (1209 Гц, 1336 Гц или 1477 Гц) и представляет собой уникальный символ. Ниже приведены частоты, назначенные кнопкам телефонной панели:

Сгенерируйте DTMF-сигнал и прослушайте его.

-2

Прислушиваясь к сигналу, вы можете сказать, что был набран трехзначный номер. Однако вы не можете сказать, какой это был номер. Затем визуализируйте сигнал во временной и частотной области в диапазоне от 650 до 1500 Гц. Установите параметру "Leakage" функции pspectrum значение 1, чтобы использовать прямоугольное окно и улучшить частотное разрешение.

-3
-4

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

-5
-6
-7

Здесь вы можете увидеть три импульса, каждый продолжительностью примерно 100 миллисекунд. Однако вы не можете сказать, какие номера были набраны. График в частотной области поможет вам разобраться в этом, потому что он показывает частоты, присутствующие в сигнале.

Найдите частотные пики, оценив среднюю частоту в четырех различных частотных диапазонах.

-8

Сопоставив расчетные частоты со схемой телефонной панели, вы можете сказать, что набранными кнопками были "5", "8" и "0". Однако график в частотной области не предоставляет никакой информации о времени, которая позволила бы вам определить порядок, в котором они были набраны. Комбинация может быть '580','508','805','850', '085', или '058'. Чтобы решить эту головоломку, используйте функцию pspectrum для вычисления спектрограммы и понаблюдайте, как частотный состав сигнала меняется со временем.

Вычислите спектрограмму в диапазоне от 650 до 1500 Гц и удалите содержимое ниже уровня мощности 10 дБ, чтобы визуализировать только основные частотные компоненты. Чтобы увидеть длительность тонов и их расположение во времени, используйте 0% перекрытия.

-9
-10

Цвета спектрограммы кодируют уровни частотной мощности. Желтые цвета указывают на частотное наполнение с более высокой мощностью; синие цвета указывают на частотное наполнение с очень низкой мощностью. Четкая желтая горизонтальная линия указывает на наличие сигнала на определенной частоте. На графике четко видно наличие сигнала 1336 Гц во всех трех набранных цифрах, что говорит о том, что все они находятся во втором столбце клавиатуры. Из графика видно, что первой была набрана самая низкая частота, 770 Гц. Следующей была самая высокая частота, 941 Гц. Средняя частота, 852 Гц, была последней. Следовательно, набранный номер был 508.

Меняйте разрешение по времени и частоте, чтобы получить наилучшее представление Вашего сигнала

Функция pspectrum разделяет сигнал на сегменты. Более длинные сегменты обеспечивают лучшее частотное разрешение; более короткие сегменты обеспечивают лучшее временное разрешение. Длиной сегмента можно управлять с помощью параметров 'FrequencyResolution' и 'TimeResolution'. Если значения частотного или временного разрешения не указаны, pspectrum пытается найти хороший баланс между временным и частотным разрешениями на основе длины входного сигнала.

Рассмотрим следующий сигнал, дискретизированный на частоте 4 кГц, который состоит из трельной части песни тихоокеанского синего кита:

-11

Сигнал трели состоит из последовательности тональных импульсов. Посмотрите на временной сигнал и спектрограмму, полученные с помощью pspectrum, когда разрешение не указано и когда временное разрешение установлено равным 10 миллисекундам. Установите параметр "Leakage" равным 1, чтобы использовать прямоугольные окна. Поскольку мы хотим локализовать временное положение импульсов, установите процент перекрытия равным 0. Наконец, используйте "MinThreshold" в 60 дБ, чтобы удалить фоновый шум из вида спектрограммы.

-12
-13

Временное разрешение в 47 миллисекунд, выбранное pspectrum, недостаточно мало для локализации всех импульсов трели на спектрограмме. С другой стороны, временного разрешения в 10 миллисекунд достаточно, чтобы локализовать каждый импульс трели во времени. Это становится еще более четким, если мы увеличим масштаб до нескольких импульсов:

-14
-15

Теперь загрузите сигнал, состоящий из эхолокационного импульса, излучаемого большой коричневой летучей мышью (Eptesicus fuscus). Сигнал измеряется с интервалом дискретизации 7 микросекунд. Проанализируйте спектрограмму сигнала.

-16
-17

Спектрограмма со значениями параметров по умолчанию показывает четыре грубых частотно-временных диапазона. Уменьшите значение разрешения по частоте до 3 кГц, чтобы получить более подробную информацию об изменении частоты каждого диапазона.

-18
-19

Обратите внимание, что теперь частотные гребни лучше локализованы по частоте. Однако, поскольку частотное и временное разрешение обратно пропорциональны, временное разрешение спектрограммы значительно меньше. Установите перекрытие в 99%, чтобы сгладить временные интервалы. Используйте 'MinThreshold' в -60 дБ для удаления нежелательного фонового содержимого.

-20
-21

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

Переназначение частоты во времени

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

Функция pspectrum способна оценивать центр энергии для каждой спектральной оценки как по времени, так и по частоте. Если вы переназначите энергию каждой оценки в ячейку, ближайшую к новым временным и частотным центрам, вы можете скорректировать некоторую утечку окна. Вы можете сделать это с помощью параметра 'Reassign'. При установке для этого параметра значения true вычисляется переназначенная спектрограмма сигнала.

-22
-23

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

Восстановление частотно-временного интервала

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

-24
-25

Давайте восстановим часть звука "splat", выделив гребень во частотно-временной плоскости. Мы используем fsst для повышения резкости спектра зашумленной версии сигнала splat, tfridge для определения границы звука чириканья и ifsst для восстановления чириканья. Этот процесс подавляет восстановленный сигнал.

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

-26
-27

Увеличьте резкость спектра с помощью синхронного преобразования Фурье, fsst. fsst локализует энергию во частотно-временной плоскости путем переназначения энергии по частоте на фиксированное время. Вычислите и постройте график синхронизированной формы шумного чириканья (chirp).

-28
-29

Звуковой сигнал отображается как локализованный гребень в частотно-временной плоскости. Определите гребень с помощью tfridge. Нанесите гребень вместе с преобразованием.

-30
-31

Затем восстановите сигнал чириканья (chirp), используя вектор индекса гребня iridge. Включите по одной ячейке с каждой стороны гребня. Постройте спектрограмму восстановленного сигнала.

-32
-33

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

-34

Измерение мощности

Рассмотрим импульс со сложной линейной частотной модуляцией (LFM), который является обычным радиолокационным сигналом. Вычислите спектрограмму сигнала, используя временное разрешение 1,27 микросекунды и 90% перекрытия.

-35
-36

Параметры, используемые для вычисления спектрограммы, дают четкое частотно-временное представление низкочастотного сигнала. pspectrum вычисляет спектрограмму мощности, это означает, что значения цвета соответствуют истинным уровням мощности в дБ. Цветовая шкала показывает, что уровень мощности сигнала составляет около 4 дБ.

Визуализация логарифмической шкалы частот

В определенных приложениях может оказаться предпочтительным визуализировать спектрограмму сигнала в логарифмической шкале частот. Этого можно добиться, изменив свойство yScale для оси y. Например, рассмотрим логарифмический звуковой сигнал с частотой дискретизации 1 кГц. Частота звукового сигнала увеличивается с 10 Гц до 400 Гц за 10 секунд.

-37
-38

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

-39
-40

Трехмерная визуализация водопада

С помощью команды view вы можете визуализировать спектрограмму сигнала в виде трехмерного графика водопада. Вы также можете изменять цвета отображения с помощью функции colormap.

-41
-42
-43
-44

Поиск помех с использованием спектра

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

Рассмотрим узкополосный сигнал помехи, встроенный в широкополосный сигнал. Генерируйте чириканье с частотой дискретизации 1 кГц в течение 500 секунд. Частота чириканья увеличивается со 180 Гц до 220 Гц во время измерения.

-45

Сигнал также содержит помехи частотой 210 Гц с амплитудой 0,05, которые присутствуют только на протяжении 1/6 от общей длительности сигнала.

-46

Вычислите спектр мощности сигнала в интервале от 100 до 290 Гц. Слабая синусоида затемняется звуковым сигналом.

-47
-48

Вычислите спектр постоянства сигнала. Теперь оба компонента сигнала хорошо видны.

-49
-50

Выводы

В этом примере вы узнали, как выполнять частотно-временной анализ с помощью функции pspectrum и как интерпретировать данные спектрограммы и уровни мощности. Вы узнали, как изменять разрешение по времени и частоте, чтобы улучшить понимание сигнала, а также как увеличивать резкость спектров и извлекать частотно-временные границы с помощью fsst, ifsst и tfridge. Вы узнали, как настроить график спектрограммы для получения логарифмической шкалы частот и трехмерной визуализации. Наконец, вы узнали, как находить сигналы помех путем вычисления спектра постоянства.