info

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

Описание

пример

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

пример

s = info(sysobj,infoType) возвращает сумму информации о фильтре, как задано infoType.

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

Для более входных опций смотрите info в Signal Processing Toolbox™.

Примеры

свернуть все

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

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              '
    'Stopband Atten. : 60 dB                      '
    'Passband Edge   : 0.45                       '
    'Passband Ripple : 1 dB                       '
    '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;

Создайте фиксированную точку синусоидальный входной сигнал 1 024 выборок с частотой дискретизации 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;

Используя 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 должно быть целое число. Для получения дополнительной информации смотрите раздел Algorithms по dsp.SineWave объектная страница.

В этом примере, Fs установлен в 22 050 Гц и fi установлен в 1 050 Гц.

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;

Используя 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'единственный, или 'Fixed'. Когда арифметический вход не задан, и Системный объект фильтра разблокирован, аналитический инструмент принимает фильтр с двойной точностью. Когда арифметический вход не задан, и Системный объект заблокирован, функция выполняет анализ на основе типа данных заблокированного входа.

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

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

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

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

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

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

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

свернуть все

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

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

  • Технические требования, такие как структура фильтра и порядок фильтра

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

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

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

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

Введенный в R2011a