info

Информация о фильтре Системный объект

Описание

пример

s = info(sysobj) возвращает очень базовую информацию о фильтре System object™. Характеристики зависят от типа и структуры фильтра.

пример

s = info(sysobj,infoType) возвращает объем информации о фильтре, заданный infoType.

s = info(___,'Arithmetic',arithType) анализирует Системный объект фильтра на основе арифметики, указанной в arithType, с использованием любого из предыдущих синтаксисов.

Для получения дополнительных опций входа см. info в Signal Processing Toolbox™.

Примеры

свернуть все

Получите краткоформатную и длинноформатную информацию о фильтре.

d = fdesign.lowpass;
f = design(d,'SystemObject',true);
info(f)
ans = 6x35 char array
    'Discrete-Time FIR Filter (real)    '
    '-------------------------------    '
    'Filter Structure  : Direct-Form FIR'
    'Filter Length     : 43             '
    'Stable            : Yes            '
    'Linear Phase      : Yes (Type 1)   '

info(f,'long')
ans = 45x45 char array
    'Discrete-Time FIR Filter (real)              '
    '-------------------------------              '
    'Filter Structure  : Direct-Form FIR          '
    'Filter Length     : 43                       '
    'Stable            : Yes                      '
    'Linear Phase      : Yes (Type 1)             '
    '                                             '
    'Design Method Information                    '
    'Design Algorithm : equiripple                '
    '                                             '
    'Design Options                               '
    'Density Factor : 16                          '
    'Maximum Phase  : false                       '
    'Minimum Order  : any                         '
    'Minimum Phase  : false                       '
    'Stopband Decay : 0                           '
    'Stopband Shape : flat                        '
    'SystemObject   : true                        '
    'Uniform Grid   : true                        '
    '                                             '
    'Design Specifications                        '
    'Sample Rate     : N/A (normalized frequency) '
    'Response        : Lowpass                    '
    'Specification   : Fp,Fst,Ap,Ast              '
    'Passband Ripple : 1 dB                       '
    'Stopband Atten. : 60 dB                      '
    'Passband Edge   : 0.45                       '
    'Stopband Edge   : 0.55                       '
    '                                             '
    'Measurements                                 '
    'Sample Rate      : N/A (normalized frequency)'
    'Passband Edge    : 0.45                      '
    '3-dB Point       : 0.46957                   '
    '6-dB Point       : 0.48314                   '
    'Stopband Edge    : 0.55                      '
    'Passband Ripple  : 0.89042 dB                '
    'Stopband Atten.  : 60.945 dB                 '
    'Transition Width : 0.1                       '
    '                                             '
    'Implementation Cost                          '
    'Number of Multipliers            : 43        '
    'Number of Adders                 : 42        '
    'Number of States                 : 42        '
    'Multiplications per Input Sample : 43        '
    'Additions per Input Sample       : 42        '

Примечание.Если вы используете R2016a или более ранний релиз, замените каждый вызов объекта эквивалентным синтаксисом шага. Для примера, obj(x) становится step(obj,x).

Создайте dsp.CICDecimator Системная object™ с DecimationFactor установите равным 4. Децимируйте сигнал от 44,1 кГц до 11,025 кГц.

cicdec = dsp.CICDecimator(4);  
cicdec.FixedPointDataType = 'Minimum section word lengths'; 
cicdec.OutputWordLength = 16;

Создайте синусоидальный входной сигнал с фиксированной точкой из 1024 выборок с частотой дискретизации 44,1e3 Гц.

Fs = 44.1e3;             
n = (0:1023)';            % 0.0232 sec signal
x = fi(sin(2*pi*1e3/Fs*n),true,16,15);

Создайте dsp.SignalSource объект.

src = dsp.SignalSource(x,64);

Децимируйте выход с 16 выборками на систему координат.

y = zeros(16,16);
for ii = 1:16
     y(ii,:) = cicdec(src());   
end

Постройте график первой системы координат исходного и децимированного сигналов. Выход - 2 выборки.

gainCIC = ...
   (cicdec.DecimationFactor*cicdec.DifferentialDelay)^cicdec.NumSections;
stem(n(1:56)/Fs,double(x(4:59))) 
hold on;     
stem(n(1:14)/(Fs/cicdec.DecimationFactor),double(y(1,3:end))/gainCIC,'r','filled')
xlabel('Time (sec)')
ylabel('Signal Amplitude')
legend('Original signal','Decimated signal','Location','north')
hold off;

Figure contains an axes. The axes contains 2 objects of type stem. These objects represent Original signal, Decimated signal.

Использование info метод в 'long' форматирование, получение размеров слова и дробей секций фильтра с фиксированной точкой и выходом фильтра.

info(cicdec,'long')
ans = 
    'Discrete-Time FIR Multirate Filter (real)               
     -----------------------------------------               
     Filter Structure    : Cascaded Integrator-Comb Decimator
     Decimation Factor   : 4                                 
     Differential Delay  : 1                                 
     Number of Sections  : 2                                 
     Stable              : Yes                               
     Linear Phase        : Yes (Type 1)                      
                                                             
                                                             
     Implementation Cost                                     
     Number of Multipliers            : 0                    
     Number of Adders                 : 4                    
     Number of States                 : 4                    
     Multiplications per Input Sample : 0                    
     Additions per Input Sample       : 2.5                  
     
     
     Fixed-Point Info
     Section word lengths     : 20  19  19  18
     Section fraction lengths : 15  14  14  13
     Output  word length      : 16
     Output  fraction length  : 11
     '

Примечание. Если вы используете R2016a или более ранний релиз, замените каждый вызов объекта эквивалентным step синтаксис. Для примера, obj(x) становится step(obj,x).

Создайте dsp.CICInterpolator Системная object™ с InterpolationFactor установите значение 2. Интерполируйте сигнал с фиксированной точкой в 2 раза с 22,05 кГц до 44,1 кГц.

cicint = dsp.CICInterpolator(2)
cicint = 
  dsp.CICInterpolator with properties:

    InterpolationFactor: 2
      DifferentialDelay: 1
            NumSections: 2
     FixedPointDataType: 'Full precision'

Создайте dsp.SineWave объект с SampleRate установите на 22,05 кГц, SamplesPerFrame установите значение 32 и OutputDataType установлено на 'Custom'. Чтобы сгенерировать сигнал с фиксированной точкой, установите CustomOutputDataType свойство для numerictype объект. Для целей этого примера установите значение numerictype([],16). Длина дроби вычисляется на основе значений сгенерированного синусоидального сигнала, чтобы получить лучшую возможную точность.

Чтобы сгенерировать сигнал с фиксированной точкой, установите Method свойство dsp.SineWave объект к 'Table lookup'. Этот способ генерации синусоидального сигнала требует, чтобы период каждой синусоиды в выходе был равномерно делен на период дискретизации. То есть, 1/fiTs=ki должно быть целым значением для каждого канала i = 1, 2,..., N. Значение Ts равняется 1/Fs, переменная fi - частота синусоидального сигнала, и Fs - скорость дискретизации сигнала. Другими словами, отношение Fs/fi должно быть целым числом. Для получения дополнительной информации смотрите раздел Алгоритмы на dsp.SineWave страница объекта.

В этом примере, Fs устанавливается на частоте 22050 Гц и fi устанавливается на частоте 1050 Гц.

Fs = 22.05e3;      
sine = dsp.SineWave('Frequency',1050,'SampleRate',Fs,'SamplesPerFrame',32,...
    'Method','Table lookup','OutputDataType','Custom')
sine = 
  dsp.SineWave with properties:

            Amplitude: 1
            Frequency: 1050
          PhaseOffset: 0
        ComplexOutput: false
               Method: 'Table lookup'
    TableOptimization: 'Speed'
           SampleRate: 22050
      SamplesPerFrame: 32
       OutputDataType: 'Custom'

  Show all properties

В каждом цикле итерации поток в системе координат синусоидального сигнала с фиксированной точкой дискретизирован на 22,05 кГц. Интерполируйте потоковый сигнал в 2 раза. Интерполированный выход имеет 64 выборки на систему координат.

for i = 1:16
    x = sine();
    y = cicint(x);
end

Выход фильтра интерполяции CIC усиливается определенным значением усиления. Вы можете определить это значение с помощью gain функция. Это усиление равняется усилению 2Nth каскад фильтра интерполяции CIC и равен (I×D)N/I, где I - коэффициент интерполяции, D - дифференциальная задержка, и N - количество разделов интерполятора CIC.

gainCIC = gain(cicint)
gainCIC = 2

Чтобы настроить этот усиленный выход и соответствовать его амплитуде исходного сигнала, разделите интерполированный сигнал CIC на вычисленное значение усиления.

Сравните последние системы координат исходного и интерполированного сигналов. При построении графика учитывайте задержку на выходе 2 выборки.

n = (0:63)';
stem(n(1:31)/Fs, double(x(1:31)),'r','filled')
hold on; 
I = cicint.InterpolationFactor;
stem(n(1:61)/(Fs*I), ...
   double(y(4:end))/gainCIC,'b') 
xlabel('Time (sec)')
ylabel('Signal Amplitude')
legend('Original Signal','Interpolated Signal',...
   'location','north')
hold off;

Figure contains an axes. The axes contains 2 objects of type stem. These objects represent Original Signal, Interpolated Signal.

Использование info функция в 'long' форматирование, получение размеров слова и дробей секций фильтра с фиксированной точкой и выходом фильтра.

info(cicint,'long')
ans = 
    'Discrete-Time FIR Multirate Filter (real)                    
     -----------------------------------------                    
     Filter Structure      : Cascaded Integrator-Comb Interpolator
     Interpolation Factor  : 2                                    
     Differential Delay    : 1                                    
     Number of Sections    : 2                                    
     Stable                : Yes                                  
     Linear Phase          : Yes (Type 1)                         
                                                                  
                                                                  
     Implementation Cost                                          
     Number of Multipliers            : 0                         
     Number of Adders                 : 4                         
     Number of States                 : 4                         
     Multiplications per Input Sample : 0                         
     Additions per Input Sample       : 6                         
     
     
     Fixed-Point Info
     Section word lengths     : 17  17  17  17
     Section fraction lengths : 14  14  14  14
     Output  word length      : 17
     Output  fraction length  : 14
     '

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

свернуть все

Количество отображаемой информации о фильтре. Когда для этого свойства задано значение:

  • 'short' - Функция отображает ту же информацию, что и info(sysobj), которая является основной информацией о фильтре.

  • 'long' - Функция возвращает следующую информацию о фильтре:

    • Спецификации, такие как структура фильтра и порядок фильтра.

    • Информация о способе проекта и опциях.

    • Измерения эффективности для характеристики фильтра, такие как срез полосы пропускания или затухание в полосе задерживания, включены в measure метод

      .

    • Стоимость реализации фильтра с точки зрения операций, необходимых для применения фильтра к данным, включенным в cost способ.

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

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

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

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

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

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

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

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

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

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

свернуть все

Фильтрация информации, возвращенная как символьный массив.

Когда infoType является 'short'функция отображает базовую информацию о фильтре. Когда infoType является 'long'функция отображает следующую информацию:

  • Спецификации, такие как структура фильтра и порядок фильтра

  • Информация о методе проекта и опциях

  • Измерения эффективности для характеристики фильтра, такие как срез полосы пропускания или затухание в полосе задерживания, включены в measure метод

  • Стоимость реализации фильтра с точки зрения операций, необходимых для применения фильтра к данным, включенным в cost метод

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

Введенный в R2011a