Можно использовать приложение Signal Analyzer, чтобы выполнить несколько задач предварительной обработки сигнала. Различные опции обработки появляются во вкладке Analyzer:
При предварительной обработке операций операции отмены и функциональная генерация применяются ко всем сигналам, в настоящее время выбранным в таблице Signal. Чтобы выбрать сигналы, кликните по их Name, Info, Time или столбцу Start Time в таблице Signal.
Примечание
Предварительная обработка не поддерживается для помеченных наборов сигнала. Если вы хотите предварительно обработать сигнал, который принадлежит помеченному набору сигнала, необходимо сначала извлечь сигнал из набора. Смотрите необходимые области Сигнала Извлечения для получения дополнительной информации.
Предварительная обработка операций перезаписывает сигнал, над которым они работают. Если вы хотите сохранить исходный сигнал, скопируйте его и работайте с копией.
Можно выполнить действия предварительной обработки любое число раз и в любом порядке. Столбец Info в таблице Signal включает значок, который указывает, была ли какая-либо предварительная обработка выполнена на сигнале. Нажатие на значок перечисляет действия и порядок, в котором они выполнялись. Предварительная обработка шагов может быть отменена путем нажатия на Undo Preprocessing на вкладке Analyzer или на любой вкладке, являющейся результатом действия предварительной обработки. Шаги отменены по одному, начиная с нового.
Совет
Видеть полные сводные данные предварительной обработки продвигается, вы взяли, включая все настройки, которые вы выбрали, нажмите Generate Function на вкладке Analyzer.
Можно предварительно обработать отдельные каналы многоканального сигнала. Если вы выбираете многоканальный сигнал и один из его каналов для предварительной обработки, приложение предварительно обрабатывает отдельный канал только однажды.
Signal Analyzer позволяет вам скопировать и переименовать сигналы, что можно затем предварительно обработать или экспортировать для последующего анализа.
Чтобы скопировать сигнал, используйте кнопку Duplicate на вкладке Analyzer или на любой вкладке, являющейся результатом действия предварительной обработки. В качестве альтернативы щелкните правой кнопкой по сигналу по таблице Signal и выберите Duplicate. Копия имеет то же имя как исходный сигнал с _copy
добавленный.
Если вы выбираете сигнал и один из его каналов для дублирования, приложение создает копию сигнала и независимую копию выбранного канала.
Чтобы переименовать сигнал, дважды кликните имя сигнала в таблице Signal и поменяйте имя. В качестве альтернативы щелкните правой кнопкой по сигналу по таблице Signal и выберите Rename.
Примечание
Вы не можете переименовать отдельные каналы многоканального сигнала.
Чтобы отфильтровать один или несколько выбранных сигналов, на вкладке Analyzer, нажимают Lowpass, Highpass, Bandpass или значок Bandstop в галерее Preprocessing. Приложение использует lowpass
, highpass
, bandpass
, и bandstop
функции, чтобы выполнить фильтрацию. Можно управлять затуханием в полосе задерживания, частотами полосы пропускания и ширинами областей перехода. Смотрите страницы ссылки на функцию для получения дополнительной информации. Фильтрация не поддерживает неоднородно выбранные сигналы.
Чтобы сглаживать один или несколько выбранных сигналов, на вкладке Analyzer, кликают по значку Smooth в галерее Preprocessing. Приложение использует функцию MATLAB® smoothdata
выполнять сглаживание. Следующие методы сглаживания доступны:
Скользящее среднее значение
Движущаяся медиана
Гауссов
Линейная регрессия
Квадратичная регрессия
Устойчивая линейная регрессия
Устойчивая квадратичная регрессия
Фильтрация Savitzky-Golay
Чтобы передискретизировать один или несколько выбранных сигналов, на вкладке Analyzer, расширяют галерею Preprocessing и кликают по значку Resample. Signal Analyzer использует функцию Signal Processing Toolbox™ resample
выполнять передискретизацию. Следующие опции доступны:
Когда ваш сигнал неоднородно производится, можно использовать приложение, чтобы интерполировать его на регулярную координатную сетку. Можно задать метод интерполяции и частоту дискретизации, на уровне которой вы хотите, чтобы сигнал был произведен. Следующие методы интерполяции доступны:
Линейная интерполяция
Сохраняющая форму кусочная кубичная интерполяция
Интерполяция кубическим сплайном с помощью граничных условий и условий отсутствия узла
Смотрите interp1
страница с описанием для получения дополнительной информации.
Когда ваш сигнал однородно производится, можно использовать приложение, чтобы изменить его частоту дискретизации. Можно задать или желаемую частоту дискретизации или фактор, которым вы хотите сверхдискретизировать или проредить сигнал. В этом случае панель интерполяции во вкладке Resample отключена, потому что операция интерполяции не целесообразна с однородно произведенными сигналами.
Операция передискретизации запрашивает информацию времени. При попытке передискретизировать сигнал в выборках, проблемы приложения предупреждение.
Чтобы детрендировать один или несколько выбранных сигналов, на вкладке Analyzer, расширяют галерею Preprocessing и кликают по значку Detrend. Signal Analyzer использует функцию MATLAB detrend
выполнять удаление тренда. Приложение может удалить следующие тренды из сигналов:
Постоянные тренды.
Линейные тренды.
Кусочные линейные тренды. Чтобы удалить кусочный линейный тренд, задайте точки останова как список, разделенный запятыми.
Чтобы вычислить конверт одного или нескольких выбранных сигналов, на вкладке Analyzer, расширяют галерею Preprocessing и кликают по значку Envelope. Signal Analyzer использует функцию Signal Processing Toolbox envelope
оценить конверты. Можно вычислить верхний конверт или более низкий конверт каждого сигнала. Следующие алгоритмы оценки конверта доступны:
Hilbert
— Приложение вычисляет огибающую сигнала как величину аналитического сигнала, найденного с помощью дискретного преобразования Фурье, как реализовано в hilbert
.
FIR
— Приложение вычисляет огибающую сигнала путем фильтрации сигнала с Гильбертовым КИХ-фильтром корректируемого размера и использования результата в качестве мнимой части аналитического сигнала.
RMS
— Приложение вычисляет огибающую сигнала путем соединения вычисленного использования значений RMS движущегося окна корректируемой длины.
Peak
— Приложение вычисляет огибающую сигнала при помощи интерполяции сплайна по локальным максимумам, разделенным корректируемым количеством выборок.
Примечание
Расчет конверта не поддерживает комплексные сигналы.
Чтобы добавить пользовательскую функцию предварительной обработки, на вкладке Analyzer, кликают по стреле рядом с галереей Preprocessing и затем выбирают Add Custom Function. Приложение предлагает вам вводить имя функции и краткое описание:
Если вы уже записали функцию предварительной обработки, и функция находится в текущей папке или в пути MATLAB, приложение включает его в галерею. Можно использовать заполнение клавишей Tab, чтобы искать имя функции.
Если вы еще не записали функцию, приложение открывает пустой шаблон в Редакторе.
Пользовательские функции предварительной обработки имеют обязательные и дополнительные аргументы:
Первый входной параметр, x
, входной сигнал. Этот аргумент должен быть вектором и обработан как один канал.
Второй входной параметр, tIn
, вектор из временных стоимостей. Вектор должен иметь ту же длину как сигнал. Если у входного сигнала нет времени информация, функция читает этот аргумент как пустой массив.
Использование varargin
задавать дополнительные входные параметры. Если у вас нет дополнительных входных параметров, можно не использовать varargin
. Введите дополнительные аргументы как упорядоченный список, разделенный запятыми во вкладке Preprocess.
Первый выходной аргумент, y
, предварительно обработанный сигнал.
Второй выходной аргумент, tOut
, вектор из выходных временных стоимостей. Если у входного сигнала нет времени информация, tOut
возвращен как пустой массив.
Чтобы реализовать ваш алгоритм, можно использовать любой MATLAB или функцию Signal Processing Toolbox.
См. Declip Влажные Сигналы Используя Вашу Собственную Функцию для получения дополнительной информации.
Пример: Эта функция удаляет значение DC сигнала путем вычитания его среднего значения.
function [y,tOut] = removeDC(x,tIn) % Remove the DC value of a signal by subtracting its mean y = x - mean(x); tOut = tIn; end
Пример: Эта функция изменяет время начала сигнала к заданному значению.
function [y,tOut] = timealign(x,tIn,startTime) % Change the starting time of a signal y = x; t = tIn; if ~isempty(t) t = t - t(1) + startTime; end tOut = t; end
В любое время можно отредактировать функции, отредактировать их описания или удалить их, с помощью опции Manage Custom Functions в галерее.
Примечание
Пользовательские функции предварительной обработки не должны изменять сложность входного сигнала.