generateFilteringCode

Сгенерируйте код MATLAB для каскада фильтра

Синтаксис

generateFilteringCode(FC)
generateFilteringCode(FC,fileName)

Описание

generateFilteringCode(FC) создает функцию MATLAB®, которая содержит код, который создает этапы каскада фильтра, как задано в FC, и вызывает каждый этап в последовательности. Если фильтры на каждом этапе поддерживают генерацию кода, можно сгенерировать код C/C++ от функции, возвращенной generateFilteringCode.

пример

generateFilteringCode(FC,fileName) генерирует код и сохраняет функцию в файл, заданный в fileName.

Примеры

свернуть все

Этот пример показывает, как сгенерировать функцию MATLAB™ от каскада фильтра. Вы не можете сгенерировать код C/C++ от dsp. Объект FilterCascade непосредственно, но можно сгенерировать код C/C++ от сгенерированной функции. Функция задает этапы фильтра и вызывает их в последовательности. Функция сохранена в имени файла, которое вы задаете.

FC = dsp.FilterCascade(dsp.FIRFilter('Numerator',ones(1,5)), dsp.FIRDecimator)
FC = 
  dsp.FilterCascade with properties:

    Stage1: [1x1 dsp.FIRFilter]
    Stage2: [1x1 dsp.FIRDecimator]

fName = 'myfilterCascade.m'; 
generateFilteringCode(FC,fName);

Исследуйте сгенерированный файл.

type 'myfilterCascade.m'
function y = myfilterCascade(x)
%MYFILTERCASCADE Construct filter cascade and process each stage

% MATLAB Code
% Generated by MATLAB(R) 9.6 and DSP System Toolbox 9.8.
% Generated on: 21-Feb-2019 23:17:29

% To generate C/C++ code from this function use the codegen command.
% Type 'help codegen' for more information.
%#codegen

%% Construction
persistent filter1 filter2
if isempty(filter1)
    filter1 = dsp.FIRFilter(  ...
        'Numerator', [1 1 1 1 1]);
    filter2 = dsp.FIRDecimator();
end

%% Process
y1 = filter1( x );
y  = filter2( y1);

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

свернуть все

Каскад фильтра, заданный как Система dsp.FilterCascade object™.

Имя файла, где сгенерированная функция сохранена, задана как символьный массив.

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

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

Объекты

Функции

Введенный в R2014b