мера

Измерьте характеристики частотной характеристики Системного объекта фильтра

Синтаксис

measure(sysobj)
M = measure(sysobj)
M = measure(sysobj,'Arithmetic',arithType)
M = measure(sysobj,'freqspec', freqspecvalue)

Описание

пример

measure(sysobj) измерения отображений различных количеств из частотной характеристики Системы фильтра object™, sysobj. Измерения включают фактическую пульсацию полосы пропускания, минимальное затухание полосы задерживания, точку частоты, в которой усиление фильтра на 3 дБ ниже номинального усиления полосы пропускания и т.д. Необходимо создать sysobj с помощью fdesign и design с аргументом пары "имя-значение" 'SystemObject', true. Можно опционально задать дополнительные опции одним или несколькими аргументами пары Name,Value.

M = measure(sysobj) возвращает измерения, M, такой, что измерения могут быть запрошены программно. Например, чтобы запросить точку на 3 дБ, введите M.F3dB. Введите get(M), чтобы видеть полный список свойств, которые могут быть запрошены. Обратите внимание на то, что различные ответы фильтра генерируют различные измерения.

M = measure(sysobj,'Arithmetic',arithType) анализирует Системный объект фильтра, sysobj, на основе арифметики, заданной во входе arithType. arithType может быть установлен в один из 'double', 'single' или 'fixed'. Когда арифметический вход не задан, и Системный объект фильтра находится в разблокированном состоянии, аналитический инструмент принимает фильтр двойной точности.

M = measure(sysobj,'freqspec', freqspecvalue) передает значение частоты как вход к measure в порядке определить соответствующие измерения значения. Для проектов, которые не задают некоторые ограничения частоты, можно определить соответствующие измерения значения с помощью этой опции.

В следующем примере ребро полосы пропускания, пульсация полосы пропускания и ширина перехода БИХ-фильтра неизвестны.

 designLowpass = fdesign.lowpass('N,F3dB,Ast',8,0.5,80);
 chebFilter = design(designLowpass,'cheby2');
 measure(chebFilter)
Sample Rate      : N/A (normalized frequency)
Passband Edge    : Unknown                   
3-dB Point       : 0.5                       
6-dB Point       : 0.51823                   
Stopband Edge    : 0.68727                   
Passband Ripple  : Unknown                   
Stopband Atten.  : 79.9994 dB                
Transition Width : Unknown        
Задайте ребро полосы пропускания, чтобы быть 0.4 и измерить пульсацию полосы пропускания и ширину перехода этого фильтра.
 measure(chebFilter,'Fpass',0.4)
Sample Rate      : N/A (normalized frequency)
Passband Edge    : 0.4                       
3-dB Point       : 0.5                       
6-dB Point       : 0.51823                   
Stopband Edge    : 0.68727                   
Passband Ripple  : 0.013644 dB               
Stopband Atten.  : 79.9994 dB                
Transition Width : 0.28727   

Примеры

свернуть все

Создайте фильтр lowpass и проверяйте, соответствует ли фактический фильтр спецификациям. Для этого случая используйте нормированную частоту в течение Фс, настройки по умолчанию.

desigLowpass = fdesign.lowpass('Fp,Fst,Ap,Ast',0.45,0.55,0.1,80)
desigLowpass = 
  lowpass with properties:

               Response: 'Lowpass'
          Specification: 'Fp,Fst,Ap,Ast'
            Description: {4x1 cell}
    NormalizedFrequency: 1
                  Fpass: 0.4500
                  Fstop: 0.5500
                  Apass: 0.1000
                  Astop: 80

designmethods(desigLowpass,'SystemObject',true)
Design Methods that support System objects for class fdesign.lowpass (Fp,Fst,Ap,Ast):


butter
cheby1
cheby2
ellip
equiripple
ifir
kaiserwin
multistage

Используйте значение по умолчанию equiripple метод разработки.

equiFilter = design(desigLowpass,'SystemObject',true)
equiFilter = 
  dsp.FIRFilter with properties:

            Structure: 'Direct form'
      NumeratorSource: 'Property'
            Numerator: [1x70 double]
    InitialConditions: 0

  Show all properties

Измерьте спецификации разработанного фильтра lowpass.

measure(equiFilter)
ans = 
Sample Rate      : N/A (normalized frequency)
Passband Edge    : 0.45                      
3-dB Point       : 0.47798                   
6-dB Point       : 0.48913                   
Stopband Edge    : 0.55                      
Passband Ripple  : 0.095021 dB               
Stopband Atten.  : 80.1164 dB                
Transition Width : 0.1                       
 

Stopband Edge, Passband Edge, Passband Ripple и Stopband Attenuation все соответствуют спецификациям.

Теперь, с помощью Fs в линейной частоте, создайте полосовой фильтр и измерьте характеристики ответа значения.

designBandpass = fdesign.bandpass
designBandpass = 
  bandpass with properties:

               Response: 'Bandpass'
          Specification: 'Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2'
            Description: {7x1 cell}
    NormalizedFrequency: 1
                 Fstop1: 0.3500
                 Fpass1: 0.4500
                 Fpass2: 0.5500
                 Fstop2: 0.6500
                 Astop1: 60
                  Apass: 1
                 Astop2: 60

Преобразуйте в линейную частоту.

normalizefreq(designBandpass,false,1.5e3)
bpFilter = design(designBandpass,'cheby2','SystemObject',true);

Измерьте спецификации разработанного полосового фильтра.

measure(bpFilter)
ans = 
Sample Rate             : 1.5 kHz    
First Stopband Edge     : 262.5 Hz   
First 6-dB Point        : 319.9585 Hz
First 3-dB Point        : 324.9744 Hz
First Passband Edge     : 337.5 Hz   
Second Passband Edge    : 412.5 Hz   
Second 3-dB Point       : 425.0256 Hz
Second 6-dB Point       : 430.0415 Hz
Second Stopband Edge    : 487.5 Hz   
First Stopband Atten.   : 60 dB      
Passband Ripple         : 0.17985 dB 
Second Stopband Atten.  : 60 dB      
First Transition Width  : 75 Hz      
Second Transition Width : 75 Hz      
 

Измерьте характеристики частотной характеристики фильтра highpass. Создайте Системный объект dsp.HighpassFilter со свойствами по умолчанию. Измерьте характеристики частотной характеристики фильтра.

HPF = dsp.HighpassFilter
HPF = 
  dsp.HighpassFilter with properties:

               FilterType: 'FIR'
    DesignForMinimumOrder: true
        StopbandFrequency: 8000
        PassbandFrequency: 12000
      StopbandAttenuation: 80
           PassbandRipple: 0.1000
               SampleRate: 44100

  Show all properties

HPFMeas = measure(HPF)
HPFMeas = 
Sample Rate      : 44.1 kHz   
Stopband Edge    : 8 kHz      
6-dB Point       : 10.418 kHz 
3-dB Point       : 10.8594 kHz
Passband Edge    : 12 kHz     
Stopband Atten.  : 81.8558 dB 
Passband Ripple  : 0.08066 dB 
Transition Width : 4 kHz      
 

Измерьте характеристики частотной характеристики фильтра lowpass. Создайте Системный объект dsp.LowpassFilter со свойствами по умолчанию. Измерьте характеристики частотной характеристики фильтра.

LPF = dsp.LowpassFilter
LPF = 
  dsp.LowpassFilter with properties:

               FilterType: 'FIR'
    DesignForMinimumOrder: true
        PassbandFrequency: 8000
        StopbandFrequency: 12000
           PassbandRipple: 0.1000
      StopbandAttenuation: 80
               SampleRate: 44100

  Show all properties

LPFMeas = measure(LPF)
LPFMeas = 
Sample Rate      : 44.1 kHz  
Passband Edge    : 8 kHz     
3-dB Point       : 9.1311 kHz
6-dB Point       : 9.5723 kHz
Stopband Edge    : 12 kHz    
Passband Ripple  : 0.08289 dB
Stopband Atten.  : 81.6141 dB
Transition Width : 4 kHz     
 

Входные параметры

свернуть все

Введите фильтр, заданный как как один из следующих Системных объектов фильтра:

Когда sysobj является типичным фильтром дискретного времени, например, односкоростным фильтром lowpass, measure(sysobj) возвращает следующие спецификации фильтра.

Спецификация фильтра Lowpass

Описание

Sample Rate

Отфильтруйте частоту дискретизации.

Passband Edge

Местоположение ребра полосы пропускания, когда это вводит переход.

3-dB Point

Местоположение точки на-3 дБ на кривой отклика.

6-dB Point

Местоположение точки на-6 дБ на кривой отклика.

Stopband Edge

Местоположение ребра полосы перехода, когда это вводит полосу задерживания.

Passband Ripple

Слегка колеблитесь в полосе пропускания.

Stopband Atten

Затухание в полосе задерживания.

Transition Width

Ширина перехода между полосой пропускания и полосой задерживания, в нормированной частоте или абсолютной частоте. Измеренный между Fpass и Fstop.

Когда sysobj является заграждающим фильтром, measure(sysobj) возвращает эти спецификации для получившегося заграждающего фильтра.

Спецификация заграждающего фильтра

Описание

Sample Rate

Отфильтруйте частоту дискретизации.

First Passband Edge

Местоположение ребра первой полосы пропускания.

First 3-dB Point

Местоположение ребра точки на-3 дБ в первой полосе перехода.

First 6-dB Point

Местоположение ребра точки на-6 дБ в первой полосе перехода.

First Stopband Edge

Местоположение запуска полосы задерживания.

Second Stopband Edge

Местоположение конца полосы задерживания.

Second 6-dB Point

Местоположение ребра точки на-6 дБ во второй полосе перехода.

Second 3-dB Point

Местоположение ребра точки на-3 дБ во второй полосе перехода.

Second Passband Edge

Местоположение запуска второй полосы пропускания.

First Passband Ripple

Слегка колеблитесь в первой полосе пропускания.

Stopband Atten

Затухание в полосе задерживания.

Second Passband Ripple

Слегка колеблитесь во второй полосе пропускания.

First Transition Width

Ширина первой области перехода. Измеренный между –3 и точками на-6 дБ.

Second Transition Width

Ширина второй области перехода. Измеренный между –6 и точками на-3 дБ.

Когда sysobj является интерполятором, decimator, или конвертером уровня, measure(sysobj) возвращает эти спецификации для получившегося фильтра.

Спецификация фильтра интерполятора

Описание

Sample Rate

Отфильтруйте частоту дискретизации.

First Passband Edge

Местоположение ребра полосы пропускания, когда это вводит переход.

3-dB Point

Местоположение точки на-3 дБ на кривой отклика.

6-dB Point

Местоположение точки на-6 дБ на кривой отклика.

Stopband Edge

Местоположение ребра полосы перехода, когда это вводит полосу задерживания.

Passband Ripple

Слегка колеблитесь в полосе пропускания.

Stopband Atten

Затухание в полосе задерживания.

Transition Width

Ширина перехода между полосой пропускания и полосой задерживания, в нормированной частоте или абсолютной частоте. Измеренный между Fpass и Fstop.

Задайте арифметику, используемую во время анализа. Когда арифметический вход не задан, и Системный объект фильтра разблокирован, аналитический инструмент принимает фильтр с двойной точностью. Набор свойств 'Arithmetic' к 'Fixed' применяется только, чтобы отфильтровать Системные объекты со свойствами фиксированной точки.

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

В следующем примере ребро полосы пропускания, пульсация полосы пропускания и ширина перехода БИХ-фильтра неизвестны.

 designLowpass = fdesign.lowpass('N,F3dB,Ast',8,0.5,80);
 chebFilter = design(designLowpass,'cheby2');
 measure(chebFilter)
Sample Rate      : N/A (normalized frequency)
Passband Edge    : Unknown                   
3-dB Point       : 0.5                       
6-dB Point       : 0.51823                   
Stopband Edge    : 0.68727                   
Passband Ripple  : Unknown                   
Stopband Atten.  : 79.9994 dB                
Transition Width : Unknown        
Задайте ребро полосы пропускания, чтобы быть 0.4 и измерить пульсацию полосы пропускания и ширину перехода этого фильтра.
 measure(chebFilter,'Fpass',0.4)
Sample Rate      : N/A (normalized frequency)
Passband Edge    : 0.4                       
3-dB Point       : 0.5                       
6-dB Point       : 0.51823                   
Stopband Edge    : 0.68727                   
Passband Ripple  : 0.013644 dB               
Stopband Atten.  : 79.9994 dB                
Transition Width : 0.28727   

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

свернуть все

Объект Measurements, возвращенный как объект fdesign. Вот список поддерживаемых входных объектов фильтра с их соответствующими объектами измерений fdesign:

Измерения, M может быть запрошен программно. Например, чтобы запросить точку на 3 дБ, введите M.F3dB. Введите get(M), чтобы видеть полный список свойств, которые могут быть запрошены. Обратите внимание на то, что различные ответы фильтра генерируют различные измерения.

Советы

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

f = fdesign.lowpass('N,F3dB,Ast',8,0.5,80);
H = design(f,'cheby2','SystemObject',true);
measure(H)
возвращает значения Unknown для ребра полосы пропускания, пульсации полосы пропускания и измерений ширины перехода, но

f = fdesign.lowpass('N,F3dB,Ast',8,0.5,80);
H = design(f,'cheby2','SystemObject',true);
measure(H,'Fpass',0.4)
обеспечивает измерения для всех возвращенных значений.

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

Функции

Введенный в R2011a