exponenta event banner

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

Визуализация интерференционного узкополосного сигнала, встроенного в широкополосный сигнал.

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

fs = 1000;
t = (0:1/fs:500)';
x = chirp(t,180,t(end),220) + 0.15*randn(size(t));

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

idx = floor(length(x)/6);
x(1:idx) = x(1:idx) + 0.05*cos(2*pi*t(1:idx)*210);

Сохраните сигнал в расписании MATLAB ®.

S = timetable(seconds(t),x);

Откройте Signal Analyzer и перетащите расписание из браузера рабочей области на дисплей. Нажмите кнопку Time-Frequency, чтобы добавить вид спектрограммы. На вкладке Спектрограмма (Spectrogram) в разделе Разрешение по времени (Time Resolution) выберите Указать (Specify) и введите разрешение по времени, равное 1 секунде. Установите для параметра Frequency Limits значения 100 Гц и 290 Гц. Оба компонента сигнала видны.

Вернитесь на вкладку «Отображение». Нажмите кнопку «Время», чтобы удалить представление времени, и кнопку «Спектр», чтобы добавить представление спектра мощности. Диапазон частот по-прежнему составляет от 100 Гц до 290 Гц. Слабая синусоида затемнена чирпом.

Нажмите кнопку Spectrum ▼, чтобы изменить Spectrum представление в Persistence Spectrum посмотреть. На вкладке Спектр стойкости (Persistence Spectrum) в разделе Разрешение по времени (Time Resolution) выберите Указать (Specify) и введите разрешение по времени, равное 1 секунде. Задайте нулевое перекрытие между соседними сегментами. Установите предельные значения мощности - 50 дБ и 0 дБ, а предельные значения плотности - 0,1 и 4. Теперь хорошо видны обе составляющие сигнала.

На вкладке «Отображение» в разделе «Общий доступ» щелкните «Создать сценарий» ▼ а затем выберите Persistence Spectrum Script. Сценарий появится в редакторе MATLAB.

% Compute persistence spectrum

% Generated by MATLAB(R) 9.7 and Signal Processing Toolbox 8.2.
% Generated on: 26-Dec-2018 16:07:45

% Parameters
timeLimits = seconds([0 500]); % seconds
frequencyLimits = [100 290]; % Hz
timeResolution = 1; % seconds
overlapPercent = 0;

%%
% Index into signal time region of interest
S_x_ROI = S(:,'x');
S_x_ROI = S_x_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,PWR] = pspectrum(S_x_ROI, ...
    'persistence', ...
    'FrequencyLimits',frequencyLimits, ...
    'TimeResolution',timeResolution, ...
    'OverlapPercent',overlapPercent);

См. также

Приложения

Функции

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

Подробнее