dsp.DynamicFilterVisualizer

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

Описание

The 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'

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

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

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

Пример: '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

Положение окна возможностей в пикселях, заданное как четырехэлементный двухэлементный вектор вида [левая нижняя часть]. Значение по умолчанию этого свойства зависит от разрешения экрана и таково, что окно расположено в центре экрана с шириной и высотой 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

Коэффициенты полинома знаменателя, заданные как:

  • скаляр -- Фильтр является конечная импульсная характеристика.

  • Вектор-строка -- Фильтр является БИХ фильтром.

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

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

расширить все

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

Примеры

свернуть все

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

Создайте 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]

Варьируйте частоту отключения конечной импульсной характеристики, 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]

Разработайте полосу пропускания конечной импульсной характеристики фильтр с центральной частотой 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