SpectralMaskSpecification

Отобразите верхние и более низкие спектральные линии маски на Спектре Анализатор

    Описание

    Маски наложены на спектре. Если маска является зеленой, сигнал передает пределы маски. Если маска является красной, сигнал приводит пределы маски к сбою.

    Можно проверять состояние спектральной маски из панели инструментов scope, командной строки или прослушивателей события:

    • Чтобы изменить спектральную маску и видеть спектральное состояние маски, на панели инструментов scope, нажимают спектральную кнопку маски. В панели Spectral Mask, которая открывается, можно изменить маски и видеть детали о том, за каким процентом времени маска следует, какая маска перестала работать, сколько раз маска привела к сбою, и какие каналы вызывают отказ.

    • Чтобы получить текущий статус спектральных масок, вызовите функциональный getSpectralMaskStatus.

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

    Создание

    Описание

    пример

    mask = SpectralMaskSpecification() создает спектральный маскирующий объект mask.

    mask = SpectralMaskSpecification(Name,Value) свойства наборов с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в кавычки. Например, mask = SpectralMaskSpecification("EnabledMasks","Lower").

    Свойства

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

    Все свойства являются настраиваемыми.

    Задайте который спектральные маски включить в виде вектора символов или строки.

    Типы данных: char | string

    Ограничьте для верхней спектральной маски в виде матрицы 2D столбца или скаляра.

    Если UpperMask скаляр, маска верхнего предела использует значение степени скаляра для всех значений частоты, применимых к Спектру Анализатор.

    Если UpperMask матрица, первый столбец содержит значения частоты (Гц), которые соответствуют x - значения оси. Второй столбец содержит значения степени, которые соответствуют связанному y - значения оси.

    Зависимость

    Чтобы применить смещения к степени и значениям частоты, используйте ReferenceLevel и MaskFrequencyOffset значения свойств, соответственно.

    Ограничьте для более низкой спектральной маски в виде матрицы 2D столбца или скаляра.

    Если LowerMask скаляр, маска нижнего предела использует значение степени скаляра для всех значений частоты, применимых к Спектру Анализатор.

    Если LowerMask матрица, первый столбец содержит значения частоты (Гц), которые соответствуют x - значения оси. Второй столбец содержит значения степени, которые соответствуют связанному y - значения оси.

    Зависимость

    Чтобы применить смещения к степени и значениям частоты, используйте ReferenceLevel и MaskFrequencyOffset значения свойств, соответственно.

    Контрольный уровень для значений степени маски в виде любого "Custom" или "Spectrum peak".

    Когда ReferenceLevel "Custom", CustomReferenceLevel значение свойства используется в качестве ссылки на значения степени, в dBr, в UpperMask и LowerMask свойства.

    Когда ReferenceLevel "Spectrum peak", пиковое значение текущего спектра SelectedChannel используется.

    Пользовательский контрольный уровень в виде действительного числового скаляра, в тех же модулях как блоки питания. Контрольный уровень является значением к который значения степени в UpperMask и LowerMask на свойства ссылаются.

    Это свойство применяется когда ReferenceLevel установлен в "Custom". Это свойство использует те же модули в качестве PowerUnits свойство Спектра Анализатор.

    Введите канал с пиковым спектром, чтобы использовать в качестве контрольного уровня маски в виде целого числа. Это свойство применяется когда ReferenceLevel установлен в "Spectrum peak".

    Частота возмещена в виде конечного, числового скаляра. Смещение частоты является объемом смещения, чтобы примениться к значениям частоты в UpperMask и LowerMask свойства.

    Функции объекта

    getSpectralMaskStatusПолучите результаты испытаний текущей спектральной маски

    Примеры

    свернуть все

    В этом примере показано, как создать и использовать спектральную маску с dsp.SpectrumAnalyzer объект.

    Создайте верхнюю спектральную маску, установите матрицу контрольного уровня и добавьте его в объект Spectrum Analyzer.

    mask = SpectralMaskSpecification();
    mask.EnabledMasks = 'Upper';
    mask.UpperMask = [...
          0 -17; ...
         90 -17; ...
         90  30; ...
        110  30; ...
        110 -17; ...
        500 -17];
    
    scope = dsp.SpectrumAnalyzer('PlotAsTwoSidedSpectrum',false,...
        'ShowLegend',true);
    scope.SpectralMask = mask;
    scope.SpectralMask
    ans = 
      SpectralMaskSpecification with properties:
    
                EnabledMasks: 'Upper'
                   UpperMask: [6x2 double]
                   LowerMask: -Inf
              ReferenceLevel: 'Custom'
        CustomReferenceLevel: 0
         MaskFrequencyOffset: 0
    
      Events for class SpectralMaskSpecification: MaskTestFailed
    
    

    Запустите спектр анализатор с помощью спектра синусоиды. В Спектральной панели Маски вы видите как спектр, за которым следуют или не пройдено, чтобы остаться в вашей спектральной маске.

    sine = dsp.SineWave('Frequency',[98 100],'SampleRate',1000);
    sine.SamplesPerFrame = 1024;   
    scope.SampleRate = sine.SampleRate;
    
    for i=1:100       
        scope(sine() + 0.05*randn(1024,2));
    end
    release(scope)

    Figure Spectrum Analyzer contains an axes object and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes object contains 3 objects of type patch, line. These objects represent Lower Mask, Upper Mask, Channel 1, Channel 2.

    В этом примере показано, как создать новое основанное на модели на dsp_basic_filter обработайте по шаблону, добавьте спектральную маску в ее блок Spectrum Analyzer и запустите модель.

    Маски наложены на спектре. Если маска является зеленой, сигнал является передающим. Если маска является красной, сигнал перестал работать. Спектральные телевикторины Маски, за чем следует процент времени маска, какая маска перестала работать, сколько раз маска (маски) привела к сбою, и какие каналы вызывают отказ.

      [~,mdl] = fileparts(tempname);
      open_system(new_system(mdl,'FromTemplate','dsp_basic_filter'));
      saBlock = find_system(mdl,'BlockType','SpectrumAnalyzer');
    
      scopeConfig = get_param(saBlock{1},'ScopeConfiguration');
      upperMask = [0 50; 1200 50; 1200 -10; 24000 -10];
      scopeConfig.SpectralMask.UpperMask = upperMask;
      scopeConfig.SpectralMask.LowerMask = -100;
      scopeConfig.SpectralMask.EnabledMasks = 'Upper and lower';
    
      sim(mdl,'StopTime','20');
    

    В этом примере показано, как добавить спектральную маску в существующий dsp.SpectrumAnalyzer Осциллограф системного объекта и получает состояние с getSpectralMaskStatus.

    sine = dsp.SineWave('Frequency',[98 100],'SampleRate',1000);
    sine.SamplesPerFrame = 1024;
    scope = dsp.SpectrumAnalyzer('SampleRate',sine.SampleRate, ...
           'PlotAsTwoSidedSpectrum',false,'ShowLegend',true);
    hide(scope);
    
    scope.SpectralMask.EnabledMasks = 'Upper and lower';
    upperMask = [0 -10; 90 -10; 90 30; 110 30; 110 -10; 500 -10];
    set(scope.SpectralMask,'UpperMask',upperMask,'LowerMask',-55);
    
    for i=1:100
        scope(sine() + 0.05*randn(1024,2));
    end
    
    res = getSpectralMaskStatus(scope)
    
    res = 
    
      struct with fields:
    
        IsCurrentlyPassing: 0
            NumPassedTests: 1
             NumTotalTests: 33
               SuccessRate: 3.0303
              FailingMasks: 'Lower'
           FailingChannels: [1 2]
            SimulationTime: 101.3760
    
    

    В Спектре Анализатор вы видите ту же информацию в Спектральной панели Маски.

    show(scope);
    release(scope);
    

    Смотрите также

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