exponenta event banner

dsp. DynamicFilterVisualizer

Отображение изменяющейся во времени амплитудной характеристики цифровых фильтров

Описание

dsp.DynamicFilterVisualizer объект отображает амплитудную характеристику изменяющихся во времени цифровых фильтров или изменяющихся во времени коэффициентов фильтра. Входным сигналом для этого объекта может быть вектор коэффициентов фильтра или системный object™ фильтра.

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

Создание

Описание

пример

dfv = dsp.DynamicFilterVisualizer возвращает объект визуализатора динамического фильтра, dfv, которая отображает амплитудную характеристику цифровых фильтров или коэффициентов фильтра.

dfv = dsp.DynamicFilterVisualizer(nfft) возвращает визуализатор динамического фильтра с помощью FFTLength свойство имеет значение nfft.

dfv = dsp.DynamicFilterVisualizer(nfft,Fs) возвращает визуализатор динамического фильтра с помощью FFTLength свойство имеет значение nfft и SampleRate свойство имеет значение Fs.

dfv = dsp.DynamicFilterVisualizer(nfft,Fs,range) возвращает визуализатор динамического фильтра с помощью FFTLength свойство имеет значение nfft, SampleRate свойство имеет значение Fs, и FrequencyRange свойство имеет значение range.

пример

dfv = dsp.DynamicFilterVisualizer(Name,Value) возвращает визуализатор динамического фильтра с заданным значением каждого свойства. Можно указать аргументы пары имя-значение в любом порядке.

Свойства

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

Длина БПФ, используемая визуализатором динамического фильтра для вычисления спектральных оценок, заданная как положительное целое число.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Частота дискретизации входного сигнала, заданная как действительный положительный скаляр в Гц.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Диапазон частотной оси, определяемый как двухэлементный числовой вектор, который монотонно увеличивается и имеет вид [fmin, fmax]. Верхний предел должен быть меньше или равен Fs/2, где Fs - значение, указанное в SampleRate.

Настраиваемый: Да

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Масштаб по оси X, указанный как 'Linear' или 'Log'.

Настраиваемый: Да

Единицы по оси Y, указанные как одно из следующих значений:

  • 'Magnitude'

  • 'Magnitude (dB)'

  • 'Magnitude squared'

Настраиваемый: Да

Визуализация

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

Пример: 'Dynamic Filter Visualizer'

Пример: "Dynamic Filter Visualizer"

Настраиваемый: Да

Отображение заголовка, заданного как вектор символов или скаляр строки.

Пример: 'Magnitude Response'

Пример: "Magnitude Response"

Настраиваемый: Да

Пределы оси Y, определяемые как двухэлементный числовой вектор со вторым элементом, большим, чем первый элемент, и вида [ymin, ymax].

Настраиваемый: Да

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Если для этого свойства установлено значение false, легенда не отображается. Если для этого свойства установлено значение true, отображается легенда с автоматическими строковыми метками для каждого входного фильтра.

Настраиваемый: Да

Типы данных: logical

Задайте для этого свойства массив ячеек символьных векторов для маркировки входных фильтров в легенде. По умолчанию используется пустой массив ячеек. Если для этого свойства задано пустое значение, фильтрам присваиваются имена по умолчанию, например Filter 1, Filter 2и так далее.

Настраиваемый: Да

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Позиция окна области в пикселях, заданная как четырехэлементный двойной вектор вида [left bottom width height]. Значение по умолчанию этого свойства зависит от разрешения экрана и является таким, что окно располагается в центре экрана, с шириной и высотой 410 и 300 пикселов соответственно.

Настраиваемый: Да

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Использование

Синтаксис

Описание

dfv(filt) отображает изменяющуюся во времени амплитудную характеристику фильтра объектов, filt, на рисунке визуализатора динамического фильтра, при условии, что filt имеет действительный freqz() реализация.

dfv(B,A) отображает отклик величины для цифровых фильтров с числительными и знаменательными полиномиальными коэффициентами, хранящимися в B1 и A1, B2 и A2,..., и BN и ANсоответственно.

Входные аргументы

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

Входной фильтр Системный объект с допустимым freqz() реализация.

Числительные полиномиальные коэффициенты, заданные как вектор строки.

Типы данных: single | double

Многочленовые коэффициенты знаменателя, указанные как:

  • scalar -- Фильтр является фильтром FIR.

  • вектор строки - фильтр является фильтром IIR.

Типы данных: single | double

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

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

stepОтображение отклика на изменение величины во времени
showОкно области просмотра
hideСкрыть окно области

Примеры

свернуть все

Проектирование фильтра FIR с изменяющейся во времени амплитудной характеристикой. Постройте график изменяющегося отклика на динамическом визуализаторе фильтра.

Создать dsp.DynamicFilterVisualizer объект.

dfv = dsp.DynamicFilterVisualizer('YLimits',[-120 10])
dfv = 
  DynamicFilterVisualizer with properties:

           FFTLength: 2048
          SampleRate: 44100
      FrequencyRange: [0 22050]
              XScale: 'Linear'
    MagnitudeDisplay: 'Magnitude (dB)'

   Visualization
                Name: 'Dynamic Filter Visualizer'
               Title: 'Magnitude Response'
             YLimits: [-120 10]
          ShowLegend: 0
         FilterNames: {''}
           UpperMask: Inf
           LowerMask: -Inf
            Position: [240 262 800 500]

Изменение частоты отсечки фильтра FIR, k, от 0.1 кому 0.5 с приращениями 0.001. Просмотрите изменяющуюся амплитудную характеристику с помощью визуализатора динамического фильтра.

for k = 0.1:0.001:0.5
    b = fir1(90,k);
    dfv(b,1);
end

Визуализируйте изменяющуюся амплитудную характеристику КИХ-фильтра переменной ширины полосы с помощью визуализатора диамического фильтра.

Создать dsp.DynamicFilterVisualizer объект.

dfv = dsp.DynamicFilterVisualizer('YLimits',[-160 10])
dfv = 
  DynamicFilterVisualizer with properties:

           FFTLength: 2048
          SampleRate: 44100
      FrequencyRange: [0 22050]
              XScale: 'Linear'
    MagnitudeDisplay: 'Magnitude (dB)'

   Visualization
                Name: 'Dynamic Filter Visualizer'
               Title: 'Magnitude Response'
             YLimits: [-160 10]
          ShowLegend: 0
         FilterNames: {''}
           UpperMask: Inf
           LowerMask: -Inf
            Position: [240 262 800 500]

Разработать полосовой фильтр с переменной полосой пропускания FIR с центральной частотой 5 кГц и полосой пропускания 4 кГц.

Fs = 44100;
vbw = dsp.VariableBandwidthFIRFilter('FilterType','Bandpass',...
    'FilterOrder',100,...
    'SampleRate',Fs,...
    'CenterFrequency',5e3,...
    'Bandwidth',4e3);

Изменение центральной частоты фильтра. Визуализировать изменяющуюся амплитудную характеристику фильтра с помощью dsp.DynamicFilterVisualizer объект.

for idx  = 1:100
    dfv(vbw);
    vbw.CenterFrequency = vbw.CenterFrequency + 20;
end

Представлен в R2018b