Найти в Дзене

MATLAB. Цифровая обработка сигналов \ 1 - Начало работы с пакетом ЦОС

Signal Processing Toolbox™ предоставляет функции и приложения для анализа, предварительной обработки и извлечения характеристик из равномерно и неравномерно дискретизированных сигналов. Инструментарий включает инструменты для проектирования и анализа фильтров, повторной выборки, сглаживания, детрендинга и оценки спектра мощности. Кроме того, набор инструментов позволяет извлекать такие характеристики, как точки изменения и огибающие, находить пики и паттерны сигналов, количественно оценивать сходство сигналов и выполнять такие измерения, как SNR и искажения. Также можно выполнять модальный и порядковый анализ вибрационных сигналов. С помощью приложения Signal Analyzer можно выполнять предварительную обработку и анализ нескольких сигналов одновременно во временной, частотной и время-частотной областях без написания кода; исследовать длинные сигналы и выделять области, представляющие интерес. С помощью приложения Filter Designer можно проектировать и анализировать цифровые фильтры, выбир
Оглавление

Выполнение обработки и анализа сигналов

Signal Processing Toolbox™ предоставляет функции и приложения для анализа, предварительной обработки и извлечения характеристик из равномерно и неравномерно дискретизированных сигналов. Инструментарий включает инструменты для проектирования и анализа фильтров, повторной выборки, сглаживания, детрендинга и оценки спектра мощности. Кроме того, набор инструментов позволяет извлекать такие характеристики, как точки изменения и огибающие, находить пики и паттерны сигналов, количественно оценивать сходство сигналов и выполнять такие измерения, как SNR и искажения. Также можно выполнять модальный и порядковый анализ вибрационных сигналов. С помощью приложения Signal Analyzer можно выполнять предварительную обработку и анализ нескольких сигналов одновременно во временной, частотной и время-частотной областях без написания кода; исследовать длинные сигналы и выделять области, представляющие интерес. С помощью приложения Filter Designer можно проектировать и анализировать цифровые фильтры, выбирая из множества алгоритмов и характеристик. Оба приложения генерируют код MATLAB.

Использование приложения Signal Analyzer

Типичный рабочий процесс проверки и сравнения сигналов с помощью приложения Signal Analyzer выглядит следующим образом:

1. Выберите сигналы для анализа - выберите любой сигнал, доступный в рабочей области MATLAB®. Приложение принимает числовые массивы и сигналы с присущей им информацией о времени, такие как массивы расписаний MATLAB, объекты временных рядов и объекты labeledSignalSet. Дополнительные сведения см. в разделе Типы данных, поддерживаемые Signal Analyzer.

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

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

4. Поделиться анализом - скопируйте отображения из приложения в буфер обмена в виде изображений. Экспорт сигналов в рабочую область MATLAB или сохранение их в MAT-файлах. Создание сценариев MATLAB для автоматизации вычисления спектра мощности, спектрограммы или оценки спектра устойчивости, а также выделения областей интереса. Сохраняйте сеансы анализатора сигналов, чтобы продолжить анализ позже или на другой машине.

Пример: Извлечение областей интереса из песни кита

Загрузите файл, содержащий аудиоданные тихоокеанского синего кита с частотой дискретизации 4 кГц. Файл взят из библиотеки вокализаций животных, которую ведет Программа исследований биоакустики Корнельского университета. Временная шкала в данных сжата в 10 раз, чтобы увеличить высоту тона и сделать звуки более слышимыми. Преобразуйте сигнал в расписание MATLAB®.

whaleFile = fullfile(matlabroot,'examples','matlab','data','bluewhale.au');
[w,fs] = audioread(whaleFile);
whale = timetable(seconds((0:length(w)-1)'/fs),w);
% To hear, type soundsc(w,fs)

Откройте Signal Analyzer и перетащите временную таблицу на экран. На фоне шума выделяются четыре особенности. Первая из них известна как трель, а три другие - как стоны.

-2
-3
-4

На вкладке Display нажмите Spectrum, чтобы открыть вид спектра, и нажмите Panner, чтобы активировать панорамирование. С помощью панорамирования создайте окно масштабирования шириной около 2 секунд. Перетащите окно масштабирования так, чтобы оно было сосредоточено на трели. На спектре виден заметный пик на частоте около 900 Гц.

-5

Выделите одиночную трель с помощью фильтрации высоких частот. Щелкните правой кнопкой мыши сигнал в таблице Signal и выберите Duplicate, чтобы создать копию песни кита.

-6

Удалите исходный сигнал с экрана, сняв флажок рядом с его именем в таблице Signal.

-7

На вкладке Analyzer нажмите Preprocessing▼ и выберите Highpass. Установите частоту полосы пропускания на 925 Гц и ослабление полосы пропускания на 80 дБ. Используйте значение по умолчанию для крутизны.

-8
-9
-10

Очистите дисплей и выберите исходный сигнал. Извлеките три стона, чтобы сравнить их спектры:

1. Наведите окно масштабирования панорамной панели на первый стон. Спектр имеет восемь четко выраженных пиков, расположенных очень близко к 170 Гц. Нажмите Extract Signals ▼ и выберите Between Time Limits.

2. Нажмите Panner, чтобы скрыть панорамный экран. Нажмите пробел, чтобы увидеть полный сигнал. Нажмите Zoom in X и увеличьте 2-секундный интервал временного представления с центром на втором стоне. Спектр снова имеет пики на частотах, кратных 170 Гц. Нажмите кнопку Extract Signals ▼ и выберите Between Time Limits.

3. Нажмите пробел, чтобы увидеть полный сигнал. Нажмите Data Cursors ▼ и выберите Two. Установите курсоры временной области с интервалом в 2 секунды вокруг третьего стона. Снова наблюдаются пики на частотах, кратных 170 Гц. Нажмите Extract Signals ▼ и выберите Between Time Cursors.

-11

Постройте график сигнала с фильтрацией высоких частот и установите два курсора данных на 1 секунду и 3,5 секунды. Выделите область, содержащую трель.

-12

Удалите исходный сигнал с экрана, сняв флажок рядом с его именем в таблице Signal. Отобразите три интересующие области, которые вы только что извлекли. Их спектры лежат примерно друг над другом.

-13

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

-14

Нажмите кнопку Export на вкладке Analyzer, чтобы экспортировать четыре интересующие вас области в MAT-файл.

-15