measure

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

Описание

пример

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'единственный, или '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: [-1.0186e-05 -6.8148e-04 -0.0017 -0.0014 ... ]
    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.

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

'Fixed' значение применяется к Системным объектам фильтра со свойствами фиксированной точки только.

Когда 'Arithmetic' входной параметр задан как 'Fixed' и объект фильтра имеет тип данных содействующего набора к 'Same word length as input', арифметический анализ зависит от того, разблокирован ли Системный объект или заблокирован.

  • разблокированный – аналитическая функция объекта не может определить содействующий тип данных. Функция принимает, что содействующий тип данных подписывается, имеет 16-битный размер слова и автоматический масштабируемый. Функция выполняет анализ фиксированной точки на основе этого предположения.

  • заблокированный – Когда типом входных данных является 'double' или 'single', аналитическая функция объекта не может определить содействующий тип данных. Функция принимает, что тип данных коэффициентов подписывается, имеет 16-битный размер слова и автоматический масштабируемый. Функция выполняет анализ фиксированной точки на основе этого предположения.

Чтобы проверять, заблокирован ли Системный объект или разблокирован, используйте isLocked функция.

Когда арифметический вход задан как '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