rffilter

Создайте объект фильтра РФ

Описание

Используйте объект rffilter создать фильтр Баттерворта или Чебышева РФ. Фильтр РФ является объектом схемы с 2 портами, и можно включать этот объект как элемент схемы.

Можно также преобразовать объект rffilter в lcladder при помощи объекта lcladder. LCLad = lacladdder(rffiltobj), где rffilterobj является объектом rffilter.

Создание

Синтаксис

rfobj = rffilter
rfobj = rffilter(Name,Value)

Описание

пример

rfobj = rffilter создает 2 фильтра портов со свойствами по умолчанию.

пример

rfobj = rffilter(Name,Value) свойства наборов с помощью одной или нескольких пар "имя-значение". Например, rfobj = rffilter('FilterType','Chebyshev') создает фильтр Чебышева РФ с 2 портами.

Свойства

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

Отфильтруйте тип, заданный как 'Butterworth' или 'Chebyshev'.

Пример: 'FilterType','Chebyshev'

Пример: rfobj.FilterType = 'Chebyshev'

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

Отфильтруйте тип ответа, заданный как 'Lowpass', 'Highpass', 'Bandpass' или 'Bandstop'. Для получения дополнительной информации см. Частотные характеристики.

Пример: 'ResponseType','Highpass'

Пример: rfobj.ResponseType = 'Highpass'

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

Отфильтруйте реализацию, заданную как 'LC Tee', 'LC Pi' или 'Transfer function'.

Пример: 'Implementation','Transfer function'

Пример: rfobj.Implementation = 'Transfer function'

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

Отфильтруйте порядок, заданный как действительное конечное неотрицательное целое число. В lowpass или фильтре highpass, порядок задает количество смешанных запоминающих элементов. В полосовом или заграждающем фильтре количество смешанных запоминающих элементов является дважды значением порядка.

Примечание

FilterOrder имеет наивысший приоритет среди всех пар "имя-значение" в проекте фильтра. Используя это наборы свойств UseFilterOrder свойство только для чтения к истине.

Пример: 'FilterOrder',4

Пример: rfobj.FilterOrder = 4

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

Частота полосы пропускания, заданная как:

  • Скаляр в герц для lowpass и фильтров highpass.

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

По умолчанию значениями является 1e9 для фильтра lowpass, 2e9 для фильтра highpass и [2e9 3e9] для полосовых и заграждающих фильтров.

Пример: 'PassbandFrequency',[3e6 5e6]

Пример: rfobj.PassbandFrequency = [3e6 5e6]

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

Частота полосы задерживания, заданная как:

  • Скаляр в герц для lowpass и фильтров highpass.

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

По умолчанию значениями является 2e9 для фильтра lowpass, 1e9 для фильтра highpass, [1.5e9 3.5e9] для полосовых фильтров и заграждающих фильтров [2.1e9 2.9e9].

Пример: rffilter('ResponseType','lowpass','StopbandFrequency',[3e6 5e6])

Пример: rfobj.StopbandFrequency = [3e6 5e6]

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

Затухание полосы пропускания, заданное как скаляр в дБ. Для полосовых фильтров это значение применяется одинаково к обоим ребрам полосы пропускания.

Пример: 'PassbandAttenuation',5

Пример: rfobj.PassbandAttenuation = 5

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

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

Пример: 'StopbandAttenuation',30

Пример: rfobj.StopbandAttenuation = 30

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

Исходный импеданс, заданный как положительная действительная часть конечный скаляр в Омах.

Пример: 'Zin',70

Пример: rfobj.Zin = 70

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

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

Пример: 'Zout',70

Пример: rfobj.Zout = 70

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

Имя объекта фильтра РФ, заданного как вектор символов. Два элемента в той же схеме не могут иметь того же имени. Все имена должны быть допустимыми именами переменных MATLAB®.

Пример: 'Name','filter1'

Пример: rfobj.Name = 'filter1'

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

Количество портов, заданных как 2. Это свойство доступно только для чтения.

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

Имена терминалов, заданных как {'p1 +','p2 + ','p1-','p2-'}. Это свойство доступно только для чтения.

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

Отфильтруйте данные проектирования, заданные как структура. Это свойство доступно только для чтения. Для получения дополнительной информации смотрите Данные проектирования для Мишени LC и Топологии Пи LC и Данные проектирования для Реализации Передаточной функции.

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

Использование фильтра заказывает для проекта фильтра, заданного как true или false. Это свойство является только для чтения.

Типы данных: логический

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

groupdelayГрупповая задержка s-объекта-параметра или объекта фильтра РФ или объекта схемы RF Toolbox
sparametersS-объект-параметра
setУстановите rffilter значения свойства объекта

Примеры

свернуть все

Создайте и просмотрите свойства объекта фильтра РФ по умолчанию.

rfobj = rffilter
rfobj = 
  rffilter: Filter element

             FilterType: 'Butterworth'
           ResponseType: 'Lowpass'
         Implementation: 'LC Tee'
            FilterOrder: 3
      PassbandFrequency: 1.0000e+09
    PassbandAttenuation: 3.0103
                    Zin: 50
                   Zout: 50
             DesignData: [1x1 struct]
         UseFilterOrder: 1
                   Name: 'Filter'
               NumPorts: 2
              Terminals: {'p1+'  'p2+'  'p1-'  'p2-'}

rfobj.DesignData
ans = struct with fields:
            FilterOrder: 3
              Inductors: [7.9577e-09 7.9577e-09]
             Capacitors: 6.3662e-12
               Topology: 'lclowpasstee'
      PassbandFrequency: 1.0000e+09
    PassbandAttenuation: 3.0103

Создайте объект фильтра полосы пропускания Баттерворта под названием BFCG_162W с частотами полосы пропускания между 950 и 2 200 МГц, частотами полосы задерживания между 770 и 3 000 МГц, затуханием полосы пропускания 3,0 дБ и затуханием полосы задерживания 40 дБ.

robj = rffilter('ResponseType','Bandpass','PassbandFrequency',[950e6 2200e6],'StopbandFrequency',[770e6 3000e6], ...
     'PassbandAttenuation',3,'StopbandAttenuation',40);
robj.Name = 'BFCG_162W'
robj = 
  rffilter: Filter element

             FilterType: 'Butterworth'
           ResponseType: 'Bandpass'
         Implementation: 'LC Tee'
      PassbandFrequency: [950000000 2.2000e+09]
    PassbandAttenuation: 3
      StopbandFrequency: [770000000 3.0000e+09]
    StopbandAttenuation: 40
                    Zin: 50
                   Zout: 50
             DesignData: [1x1 struct]
         UseFilterOrder: 0
                   Name: 'BFCG_162W'
               NumPorts: 2
              Terminals: {'p1+'  'p2+'  'p1-'  'p2-'}

Вычислите S-параметры на уровне 2,1 ГГц.

s = sparameters(robj,2.1e9)
s = 
  sparameters: S-parameters object

       NumPorts: 2
    Frequencies: 2.1000e+09
     Parameters: [2x2 double]
      Impedance: 50

  rfparam(obj,i,j) returns S-parameter Sij

Создайте Чебышевский фильтр lowpass с частотой полосы пропускания 2 ГГц.

robj = rffilter('FilterType','Chebyshev','PassbandFrequency',2e9);

Установите порядок фильтра к 5 и реализацию к LC Pi.

set(robj,'FilterOrder',5,'Implementation','LC Pi');

Вычислите групповую задержку фильтра на уровне 1,9 ГГц.

groupdelay(robj,1.9e9)
ans = 1.4403e-09

Больше о

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

Ссылки

[1] G.Ellis, Майкл, анализ фильтра сэра Электроника и синтез, дом Artech, 1994

Введенный в R2018b