Signal Analyzer

Визуализируйте и сравните несколько сигналов и спектров

Описание

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

  • Легко доступ все сигналы в рабочей области MATLAB®

  • Сглаженный, фильтр, передискретизируют, детрендируют, копируют, извлекают и переименовывают сигналы, не оставляя приложение

  • Добавьте и примените пользовательские функции предварительной обработки

  • Визуализируйте и сравните несколько форма волны, спектр, персистентность, спектрограмма и scalogram представления сигналов одновременно

  • Маркируйте сигналы в интерактивном режиме для анализа или для машинного обучения и применения глубокого обучения

Приложение Signal Analyzer обеспечивает способ работать со многими сигналами переменной длительности одновременно и в том же представлении.

Для получения дополнительной информации смотрите Используя Приложение Signal Analyzer.

Вам нужна лицензия Wavelet Toolbox™, чтобы использовать представление scalogram.

Откройте приложение Signal Analyzer

  • Панель инструментов MATLAB: На вкладке Apps, под Signal Processing and Communications, кликают по значку приложения.

  • Подсказка команды MATLAB: Введите signalAnalyzer.

Примеры

развернуть все

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

fs = 2e3;
t = 0:1/fs:0.3-1/fs;

l = [0 130.81 146.83 164.81 174.61 196.00 220 246.94];
m = [0 261.63 293.66 329.63 349.23 392.00 440 493.88];
h = [0 523.25 587.33 659.25 698.46 783.99 880 987.77];
note = @(f,g) [1 1 1]*sin(2*pi*[l(g) m(g) h(f)]'.*t);

mel = [3 2 1 2 3 3 3 0 2 2 2 0 3 5 5 0 3 2 1 2 3 3 3 3 2 2 3 2 1]+1;
acc = [3 0 5 0 3 0 3 3 2 0 2 2 3 0 5 5 3 0 5 0 3 3 3 0 2 2 3 0 1]+1;

song = [];
for kj = 1:length(mel)
    song = [song note(mel(kj),acc(kj)) zeros(1,0.01*fs)];
end
song = song'/(max(abs(song))+0.1);

% To hear, type sound(song,fs)

tune = timetable(seconds((0:length(song)-1)'/fs),song);

Откройте Signal Analyzer и перетащите расписание от браузера Рабочей области до таблицы Signal. Нажмите Display Grid ▼, чтобы создать two-two сетку отображений. Выберите лучшие два отображения и нижнее левое отображение и нажмите кнопку Spectrum, чтобы добавить представление спектра. Выберите нижнее правое отображение, нажмите Time-Frequency, чтобы добавить представление спектрограммы и нажать Time, чтобы удалить представление времени. Перетащите песню ко всем четырем отображениям. Выберите нижнее правое отображение, и во вкладке Spectrogram, задайте разрешение времени 0,31 вторых и 0%-х перекрытий (на 310 мс) между смежными сегментами. Установите Пределы Степени к -50 дБ и -10 дБ.

На вкладке Analyzer нажмите Duplicate три раза, чтобы создать три копии песни. Переименуйте копии как high, medium и low путем двойного клика по столбцу Имени в таблице Signal. Переместите копии в лучшие два и нижние левые отображения.

Предварительно обработайте дублирующиеся сигналы с помощью фильтров.

  1. Выберите сигнал high путем нажатия на его имя в таблице Signal. На вкладке Analyzer нажмите Highpass. На вкладке Highpass, которая появляется, введите частоту полосы пропускания 450 Гц и увеличьте крутизну до 0,95. Нажмите Highpass.

  2. Выберите сигнал medium путем нажатия на его имя в таблице Signal. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Bandpass. На вкладке Bandpass, которая появляется, введите 230 Гц и 450 Гц как более низкие и верхние частоты полосы пропускания, соответственно. Увеличьте крутизну до 0,95. Нажмите Bandpass.

  3. Выберите сигнал low путем нажатия на его имя в таблице Signal. На вкладке Analyzer нажмите Lowpass. На вкладке Lowpass, которая появляется, введите частоту полосы пропускания 230 Гц и увеличьте крутизну до 0,95. Нажмите Lowpass.

На каждом из трех отображений, содержащих отфильтрованные сигналы:

  1. Удалите исходный сигнал путем снятия флажка рядом с его именем.

  2. На вкладке Display нажмите Time-Frequency, чтобы добавить, что спектрограмма просматривает и нажимает Time, чтобы удалить представление времени.

  3. На вкладке Spectrogram задайте разрешение времени 0,31 вторых и 0%-х перекрытий между смежными сегментами. Установите Пределы Степени к -50 дБ и -10 дБ.

Выберите три отфильтрованных сигнала путем нажатия на их столбец Имени в таблице Signal. На вкладке Analyzer нажмите Export и сохраните сигналы в MAT-файл под названием music.mat. В MATLAB загрузите файл к рабочей области. Постройте спектры трех сигналов.

load music

pspectrum(low)
hold on
pspectrum(medium)
pspectrum(high)
hold off

% To hear the different voices, type 
% sound(low.Var1,fs), pause(5), sound(medium.Var1,fs), pause(5), sound(high.Var1,fs)

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

whaleFile = fullfile(matlabroot,'examples','matlab','bluewhale.au');
[w,fs] = audioread(whaleFile);

whale = timetable(seconds((0:length(w)-1)'/fs),w);

% To hear, type soundsc(w,fs)

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

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

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

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

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

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

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

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

load batsignal

t = (0:length(batsignal)-1)*DT;
sg = timetable(seconds(t)',batsignal);

Откройте Signal Analyzer и перетащите расписание от браузера Рабочей области до таблицы Signal. Нажмите Display Grid ▼, чтобы создать два бок о бок отображения. Выберите каждое отображение и нажмите кнопку Time-Frequency, чтобы добавить представление спектрограммы.

Перетащите расписание к обоим отображениям.

Выберите вкладку Spectrogram. На отображении в праве проверяйте Переприсвоение. Для каждого отображения:

  • Установите разрешение времени 280 микросекунд и задайте 85%-е перекрытие между смежными сегментами.

  • Используйте ползунок Утечки, чтобы увеличить утечку, пока RBW не составит приблизительно 4,5 кГц.

  • Установите пределы степени к-45 дБ и-20 дБ.

Переприсвоенная спектрограмма ясно показывает три гребня частоты времени. Чтобы отследить гребни, выберите отображение в праве. На вкладке Display нажмите Generate Script и выберите Spectrogram Script. Скрипт появляется в Редакторе.

% Compute spectrogram

% Generated by MATLAB(R) 9.7 and Signal Processing Toolbox 8.2.
% Generated on: 26-Dec-2018 17:21:44

% Parameters
timeLimits = seconds([0 0.002793]); % seconds
frequencyLimits = [0 71428.57]; % Hz
leakage = 0.9;
timeResolution = 0.00028; % seconds
overlapPercent = 85;
reassignFlag = true;

%%
% Index into signal time region of interest
sg_batsignal_ROI = sg(:,'batsignal');
sg_batsignal_ROI = sg_batsignal_ROI(timerange(timeLimits(1),timeLimits(2),'closed'),1);

% Compute spectral estimate
% Run the function call below without output arguments to plot the results
[P,F,T] = pspectrum(sg_batsignal_ROI, ...
    'spectrogram', ...
    'FrequencyLimits',frequencyLimits, ...
    'Leakage',leakage, ...
    'TimeResolution',timeResolution, ...
    'OverlapPercent',overlapPercent, ...
    'Reassign',reassignFlag);

Запустите скрипт. Постройте переприсвоенную спектрограмму.

mesh(seconds(T),F,P)
xlabel('Time')
ylabel('Frequency')
axis tight
view(2)
colormap pink

Используйте функцию tfridge, чтобы отследить гребни.

[fridge,~,lridge] = tfridge(P,F,0.01,'NumRidges',3,'NumFrequencyBins',10);

hold on
plot3(seconds(T),fridge,P(lridge),':','linewidth',3)
hold off

Благодаря Кертису Кондону, Кену Вайту и Аль Фэну из Центра Бекмана в Университете Иллинойса для bat данных и разрешения использовать его в этом примере.

Датчики могут возвратить отсеченные показания, если данные больше, чем данная точка насыщения. Чтобы восстановить показания, можно соответствовать полиному через точки, смежные с влажными интервалами. Запишите функцию, которая выполняет реконструкцию, и интегрируйте ее в Signal Analyzer.

Сгенерируйте сигнал с тремя каналами, выбранный на уровне 1 кГц в течение 14 секунд. Сигнал имеет несколько peaks переменных размеров и форм. Датчик, который читает сигнал, насыщает на уровне 0,1 В.

fs = 1000;
t = 0:1/fs:14-1/fs;

sig = [chirp(t-1,0.1,17,2,'quadratic',1).*sin(2*pi*t/5);
    chirp(t-2,2,2,2.1,'quadratic',100).*exp(-(t-6.5).^2/20).*sin(2*pi*t*2);
    0.85*besselj(0,5*(sin(2*pi*(t+1.5).^2/20).^2)).*sin(2*pi*t/9)]';

sigsat = sig;
stv = 0.1;
sigsat(sigsat >= stv) = stv;

Откройте Signal Analyzer и перетащите исходный сигнал и влажный сигнал к таблице Signal. Перетащите каждый исходный и влажный канал к его собственному отображению.

Запишите функцию, которая использует полином, чтобы восстановить peaks сигнала:

  • Первый входной параметр, x, является входным сигналом. Этот аргумент должен быть вектором и обработан как один канал.

  • Второй входной параметр, tIn, является вектором временных стоимостей. Вектор должен иметь ту же длину как сигнал. Если у входного сигнала нет времени информация, функция читает этот аргумент как пустой массив.

  • Используйте varargin, чтобы задать дополнительные входные параметры. Если у вас нет дополнительных входных параметров, можно не использовать varargin. Введите дополнительные аргументы как упорядоченный список, разделенный запятыми во вкладке Preprocess.

  • Первым выходным аргументом, y, является предварительно обработанный сигнал.

  • Вторым выходным аргументом, tOut, является вектор выходных временных стоимостей. Если у входного сигнала нет времени информация, tOut возвращен как пустой массив.

  • Чтобы реализовать ваш алгоритм, можно использовать любой MATLAB® или функцию Signal Processing Toolbox™.

function [y,tOut] = declip(x,tIn,varargin)
% Declip saturated signal by fitting a polynomial

    % Initialize the output signal

    y = x;

    % For signals with no time information, use sample numbers as abscissas
    
    if isempty(tIn)
        tOut = [];
        t = (1:length(x))';
    else
        t = tIn;
        tOut = t;
    end
    
    % Specify the degree of the polynomial as an optional input argument
    % and provide a default value of 4
    
    if nargin<3
        ndx = 4;
    else
        ndx = varargin{1};
    end

    % To implement your algorithm, you can use any MATLAB or Signal
    % Processing Toolbox function
    
    % Find the intervals where the signal is saturated and generate an 
    % array containing the interval endpoints
    idx = find(x==max(x)); 
    fir = [true;diff(idx)~=1];
    ide = [idx(fir) idx(fir([2:end 1]))];
    % For each interval, fit a polynomial of degree ndx over the ndx+1 points
    % before the interval and the ndx+1 points after the interval
    for k = 1:size(ide,1)
        bef = ide(k,1); aft = ide(k,2);
        intv = [bef-1+(-ndx:0) aft+1+(0:ndx)];
        [pp,~,mu] = polyfit(t(intv),x(intv),ndx);
        y(bef:aft) = polyval(pp,t(bef:aft),[],mu);
    end

end

Добавьте функцию в Signal Analyzer как пользовательская функция предварительной обработки. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Add Custom Function. Введите имя функции и описание. Вставьте текст своей функции в окне редактора, которое появляется. Сохраните файл. Функция появляется в галерее предварительной обработки.

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

  1. Выберите первый канал влажного сигнала в таблице Signal.

  2. На вкладке Analyzer нажмите Preprocessing ▼ и выберите declip.

  3. На вкладке Preprocessing, которая появляется, нажмите Preprocess.

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

  1. Выберите sig и sigsat в таблице Signal. Не выбирайте отдельные каналы.

  2. На вкладке Analyzer нажмите Time Values, выберите Sample Rate and Start Time и задайте fs как частоту дискретизации.

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

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

  1. Выберите вторые и третьи каналы влажного сигнала в таблице Signal.

  2. На вкладке Preprocessing введите 8 в поле Arguments и нажмите Preprocess. Функция предварительной обработки использует полином степени 8, чтобы восстановить влажные области.

Используйте Signal Analyzer, чтобы вычислить спектр конверта вибрации переноса, сигнализируют и ищут дефекты. Сгенерируйте скрипты MATLAB® и функции, чтобы автоматизировать анализ.

Сгенерируйте данные о вибрации переноса

В терпении размерностей, показанных в фигуре, управляют f0=25 циклы в секунду. Акселерометр выбирает колебания переноса на уровне 10 кГц.

Сгенерируйте сигналы вибрации от двух дефектных подшипников с помощью функции bearingdata в конце примера. В одном из сигналов, xBPFO, перенос имеет дефект во внешней гонке. В другом сигнале, xBPFI, перенос имеет дефект во внутренней гонке. Для получения дополнительной информации при моделировании и диагностировании дефектов в подшипниках, смотрите Анализ Вибрации Вращающегося Машинного оборудования и envspectrum.

[t,xBPFO,xBPFI,bpfi] = bearingdata;

Вычислите спектр конверта Используя Signal Analyzer

Откройте Signal Analyzer и перетащите сигнал BPFO к отображению. Добавьте время информация к сигналу путем выбора его в таблице Signal и нажатия кнопки Time Values на вкладке Analyzer. Выберите опцию Sample Rate and Start Time и введите частоту дискретизации на 10 кГц.

На вкладке Display нажмите Spectrum, чтобы открыть представление спектра. Спектр сигнала вибрации показывает гармоники BPFO, модулируемые частотой влияния на 3 кГц. На нижнем уровне спектра ведущая частота и ее порядки затеняют другие функции.

Выберите сигнал и, на вкладке Analyzer, нажмите Duplicate, чтобы сгенерировать копию его. Дайте новому сигналу имя envspec и перетащите его к отображению. Вычислите спектр конверта сигнала с помощью Гильбертова преобразования:

  1. Удалите значение DC сигнала. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Detrend. На вкладке Detrend, которая появляется, выберите Constant как метод. Нажмите Detrend.

  2. Полосовой фильтр детрендированный сигнал. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Bandpass. На вкладке Bandpass, которая появляется, введите 2 250 Гц и 3 750 Гц как более низкие и верхние частоты полосы пропускания, соответственно. Нажмите Bandpass.

  3. Вычислите конверт отфильтрованного сигнала. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Envelope. На вкладке Envelope, которая появляется, выберите Hilbert как метод. Нажмите Envelope.

  4. Удалите значение DC использования конверта, Детрендируют.

Спектр конверта появляется в представлении спектра отображения. Спектр конверта ясно отображает гармоники BPFO.

Шаги, чтобы создать интегрированный аналитический скрипт

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

Как осуществление, повторите предыдущий анализ для сигнала BPFI. Signal Analyzer генерирует два компонента, полезные для автоматизации:

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

  2. Скрипт, который вычисляет спектр конверта

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

  • Если вы сохраняете скрипт и функцию в одном скрипте MATLAB®, имеете в виду, что эти функции должны появиться в конце.

  • Необходимо добавить ключевое слово end в конце каждой функции.

1. Создайте функцию предварительной обработки

Первоначально, создайте функцию, которая воспроизводит шаги предварительной обработки. Выберите сигнал envspec. На вкладке Analyzer нажмите Generate Function. Функция, вызванная preprocess по умолчанию, появляется в Редакторе. Сохраните сгенерированную функцию в конце своего интегрированного аналитического скрипта. Функция ожидает второй аргумент, указывающий информацию времени. Предварительно обработайте сигнал BPFI использование функции.

envspec = preprocess(xBPFI,t);

2. Создайте скрипт спектра

В приложении удалите необработанный сигнал из отображения путем снятия флажка рядом с его именем. На вкладке Display нажмите Generate Script ▼ и выберите Spectrum Script. Скрипт появляется в Редакторе. Включайте сгенерированный код в свой интегрированный аналитический скрипт. Когда вы запускаете аналитический скрипт, сгенерированный скрипт спектра вычисляет спектр конверта предварительно обработанного сигнала BPFI.

% Compute power spectrum

% Generated by MATLAB(R) 9.6 and Signal Processing Toolbox 8.2.
% Generated on: 12-Nov-2018 15:13:34

% Parameters
timeLimits = [0 0.9999]; % seconds
frequencyLimits = [0 5000]; % Hz

%%
% Index into signal time region of interest
envspec_ROI = envspec(:);
sampleRate = 10000; % Hz
startTime = 0; % seconds
minIdx = ceil(max((timeLimits(1)-startTime)*sampleRate,0))+1;
maxIdx = floor(min((timeLimits(2)-startTime)*sampleRate,length(envspec_ROI)-1))+1;
envspec_ROI = envspec_ROI(minIdx:maxIdx);

% Compute spectral estimate
% Run the function call below without output arguments to plot the results
[Penvspec_ROI, Fenvspec_ROI] = pspectrum(envspec_ROI,sampleRate, ...
    'FrequencyLimits',frequencyLimits);

3. Постройте спектр конверта

Постройте спектр конверта. Сравните пиковые местоположения с частотами первых десяти гармоник BPFI. Можно также построить спектр конверта с помощью команды pspectrum без выходных аргументов.

plot(Fenvspec_ROI,(Penvspec_ROI))
hold on
[X,Y] = meshgrid((1:10)*bpfi,ylim);
plot(X,Y,':k')
hold off
xlim([0 10*bpfi])

Функциональный код

Функция предварительной обработки сигнала

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

function y = preprocess(x,tx)
%  Preprocess input x
%    This function expects an input vector x and a vector of time values
%    tx. tx is a numeric vector in units of seconds.

% Generated by MATLAB(R) 9.6 and Signal Processing Toolbox 8.2.
% Generated on: 12-Nov-2018 15:09:44

y = detrend(x,'constant');
Fs = 1/mean(diff(tx)); % Average sample rate
y = bandpass(y,[2250 3750],Fs,'Steepness',0.85,'StopbandAttenuation',60);
[y,~] = envelope(y);
y = detrend(y,'constant');
end

Перенос производящей функции данных

Перенос имеет диаметр подачи p=12 cm и перенос связываются с углом θ=0. Каждый из n=8 прокрутка элементов имеет диаметр d=2 cm. Внешняя гонка остается стационарной, когда во внутренней гонке управляют f0=25 циклы в секунду. Акселерометр выбирает колебания переноса на уровне 10 кГц.

function [t,xBPFO,xBPFI,bpfi] = bearingdata

p = 0.12;
d = 0.02;
n = 8;
th = 0;
f0 = 25;
fs = 10000;

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

t = 0:1/fs:1-1/fs;
z = [1 0.5 0.2 0.1 0.05]*sin(2*pi*f0*[1 2 3 4 5]'.*t);

xHealthy = z + randn(size(z))/10;

Дефект во внешней гонке вызывает ряд 5 влияния миллисекунды, которое в зависимости от времени приводит к износу подшипников. Влияние происходит на частоте передачи шара внешняя гонка (BPFO) переноса,

BPFO=12nf0[1-dpпотому чтоθ].

Смоделируйте влияние, когда периодический train 3 кГц экспоненциально ослабил синусоиды. Добавьте влияние на здоровый сигнал сгенерировать сигнал вибрации BPFO.

bpfo = n*f0/2*(1-d/p*cos(th));

tmp = 0:1/fs:5e-3-1/fs;
xmp = sin(2*pi*3000*tmp).*exp(-1000*tmp);

xBPFO = xHealthy + pulstran(t,0:1/bpfo:1,xmp,fs)/4;

Если дефект находится вместо этого во внутренней гонке, влияние происходит на частоте

BPFI=12nf0[1+dpпотому чтоθ].

Сгенерируйте сигнал вибрации BPFI путем добавления влияния на здоровые сигналы.

bpfi = n*f0/2*(1+d/p*cos(th));

xBPFI = xHealthy + pulstran(t,0:1/bpfi:1,xmp,fs)/4;

end

Связанные примеры

Программируемое использование

развернуть все

signalAnalyzer открывает приложение Signal Analyzer.

signalAnalyzer(sig) открывает приложение Signal Analyzer и импортирует и строит sig сигнала. Если приложение уже открыто, то оно строит sig в текущем отображении. Если sig уже построен, но изменился, то вызов функции обновляет график.

sig может быть переменной в рабочей области или выражении MATLAB. sig может быть:

  • Вектор или матрица с независимыми сигналами в каждом столбце.

  • timetable с временными стоимостями, заданными как длительность.

  • Объект timeseries.

Смотрите Типы данных, Поддержанные Signal Analyzer для получения дополнительной информации.

По умолчанию приложение строит сигнал как функцию демонстрационного индекса. Если вы предоставляете информацию времени, или если сигнал имеет свойственную информацию времени, то приложение строит сигнал как функцию времени.

signalAnalyzer(sig1,...,sigN) импорт сигнальные векторы N или матрицы и строит их в текущем отображении. Приложение не поддерживает сигналы импорта со свойственной информацией времени и сигналы без свойственной информации времени в том же вызове функции.

signalAnalyzer(___,'SampleRate',fs) задает частоту дискретизации, fs, как положительная скалярная величина, выраженная в Гц. Приложение использует частоту дискретизации, чтобы построить один или несколько сигналов против времени, принимая время начала нуля. Можно задать частоту дискретизации для сигналов без свойственной информации времени.

signalAnalyzer(___,'SampleTime',ts) задает шаг расчета, ts, как положительная скалярная величина, выраженная в секундах. Приложение использует шаг расчета, чтобы построить один или несколько сигналов против времени, принимая время начала нуля. Можно задать шаг расчета для сигналов без свойственной информации времени.

signalAnalyzer(___,'StartTime',st) задает время начала сигнала, st, как скаляр, выраженный в секундах. Если вы не задаете частоту дискретизации или шаг расчета, то приложение принимает частоту дискретизации 1 Гц. Можно задать время начала для сигналов без свойственной информации времени.

signalAnalyzer(___,'TimeValues',tv) задает вектор, tv, с временными стоимостями, соответствующими точкам данных. tv может быть действительным числовым вектором со значениями, выраженными в секундах. tv может также быть массивом duration. Значения в tv должны быть уникальными и не могут быть NaN, но они не должны быть однородно расположены с интервалами. Все входные сигналы должны иметь ту же длину как tv. Можно задать вектор временных стоимостей для сигналов без свойственной информации времени.

Фильтрация и представление scalogram не поддерживает неоднородно выбранные сигналы.

Введенный в R2016a

Для просмотра документации необходимо авторизоваться на сайте