Проектирование цифровых фильтров
проектирует a d = designfilt(resp,Name,Value)digitalFilter объект, d, с типом ответа resp. Укажите фильтр далее, используя набор Name,Value пар. Допустимые наборы спецификаций зависят от типа ответа, respи состоят из следующих комбинаций:
Частотные ограничения соответствуют частотам, на которых фильтр проявляет желаемое поведение. Примеры: 'PassbandFrequency' и 'CutoffFrequency'. (См. полный список в разделе Аргументы пары «имя-значение».) Необходимо всегда указывать ограничения частоты.
Ограничения по величине описывают поведение фильтра в определенных частотных диапазонах. Примеры: 'PassbandRipple' и 'StopbandAttenuation'. (См. полный список в разделе Аргументы пары «имя-значение».) designfilt предоставляет значения по умолчанию для ограничений величины, которые не указаны. В конструкциях с произвольной величиной необходимо всегда указывать векторы требуемых амплитуд.
'FilterOrder'. Некоторые методы проектирования позволяют указать порядок. Другие выпускают конструкции минимального порядка. То есть они генерируют наименьшие фильтры, удовлетворяющие указанным ограничениям.
'DesignMethod' - алгоритм, используемый для проектирования фильтра. Примеры включают ограниченные наименьшие квадраты ('cls') и окном Кайзера ('kaiserwin'). Для некоторых наборов спецификаций можно выбрать несколько методов конструирования. В других случаях для соответствия требуемым спецификациям можно использовать только один метод.
Варианты конструкции - это параметры, специфичные для данного метода конструкции. Примеры: 'Window' для 'window' метод и оптимизация 'Weights' для парных конструкций произвольной величины. (См. полный список в разделе Аргументы пары «имя-значение».) designfilt предоставляет значения по умолчанию для вариантов конструкции, которые не указаны.
'SampleRate' - частота, с которой работает фильтр. designfilt имеет частоту дискретизации по умолчанию 2 Гц. Использование этого значения эквивалентно работе с нормализованными частотами.
Примечание
Если в командной строке указан неполный или несогласованный набор пар имя-значение, designfilt предлагает открыть мастер проектирования фильтров. Ассистент помогает разработать фильтр и вставить исправленный код MATLAB ® в командную строку.
При звонке designfilt из сценария или функции с неправильным набором спецификаций, designfilt выдает сообщение об ошибке со ссылкой для открытия мастера проектирования фильтров. Ассистент помогает разработать фильтр, комментирует неисправный код в функции или сценарии и вставляет исправленный код MATLAB в следующую строку.
Использовать filter в форме dataOut = filter(d,dataIn) для фильтрации сигнала с помощью digitalFilter, d. Для фильтров БИХ: filter функция использует реализацию прямой формы II.
Использование FVTool для визуализации digitalFilter, d.
Напечатать d.Coefficients для получения коэффициентов digitalFilter, d. Для БИХ-фильтров коэффициенты выражаются как секции второго порядка.
Посмотрите digitalFilter список функций фильтрации и анализа, доступных для использования с digitalFilter объекты.
designfilt( позволяет редактировать существующий цифровой фильтр, d)d. Откроется мастер проектирования фильтров, заполненный спецификациями фильтра, которые затем можно изменить. Только так можно изменить digitalFilter объект. В противном случае его свойства доступны только для чтения.
Спроектируйте фильтр нижних частот FIR минимального порядка с нормированной частотой полосы пропускания рад/с, частотой полосы останова рад/с, пульсацией полосы пропускания 0.5 дБ и ослаблением полосы останова 65 дБ. Используйте окно Kaiser для проектирования фильтра. Визуализируйте его амплитудный отклик. Используйте его для фильтрации вектора случайных данных.
lpFilt = designfilt('lowpassfir','PassbandFrequency',0.25, ... 'StopbandFrequency',0.35,'PassbandRipple',0.5, ... 'StopbandAttenuation',65,'DesignMethod','kaiserwin'); fvtool(lpFilt)

dataIn = rand(1000,1); dataOut = filter(lpFilt,dataIn);
Спроектируйте фильтр БИХ нижних частот с порядком 8, частотой полосы пропускания 35 кГц и пульсацией полосы пропускания 0,2 дБ. Укажите частоту дискретизации 200 кГц. Визуализируйте амплитудную характеристику фильтра.
lpFilt = designfilt('lowpassiir','FilterOrder',8, ... 'PassbandFrequency',35e3,'PassbandRipple',0.2, ... 'SampleRate',200e3); fvtool(lpFilt)

Используйте фильтр, предназначенный для фильтрации случайного сигнала с 1000 выборками.
dataIn = randn(1000,1); dataOut = filter(lpFilt,dataIn);
Выведите коэффициенты фильтра, выраженные как секции второго порядка.
sos = lpFilt.Coefficients
sos = 4×6
0.2666 0.5333 0.2666 1.0000 -0.8346 0.9073
0.1943 0.3886 0.1943 1.0000 -0.9586 0.7403
0.1012 0.2023 0.1012 1.0000 -1.1912 0.5983
0.0318 0.0636 0.0318 1.0000 -1.3810 0.5090
Спроектируйте фильтр верхних частот FIR минимального порядка с нормированной частотой стоп-полосы рад/с, частотой полосы пропускания рад/с, пульсацией полосы пропускания 0.5 дБ и ослаблением полосы останова 65 дБ. Используйте окно Kaiser для проектирования фильтра. Визуализируйте его амплитудный отклик. Используйте его для фильтрации 1000 выборок случайных данных.
hpFilt = designfilt('highpassfir','StopbandFrequency',0.25, ... 'PassbandFrequency',0.35,'PassbandRipple',0.5, ... 'StopbandAttenuation',65,'DesignMethod','kaiserwin'); fvtool(hpFilt)

dataIn = randn(1000,1); dataOut = filter(hpFilt,dataIn);
Спроектируйте IIR-фильтр верхних частот с порядком 8, частотой полосы пропускания 75 кГц и пульсацией полосы пропускания 0,2 дБ. Укажите частоту дискретизации 200 кГц. Визуализируйте амплитудную характеристику фильтра. Примените фильтр к 1000-выборочному вектору случайных данных.
hpFilt = designfilt('highpassiir','FilterOrder',8, ... 'PassbandFrequency',75e3,'PassbandRipple',0.2, ... 'SampleRate',200e3); fvtool(hpFilt)

dataIn = randn(1000,1); dataOut = filter(hpFilt,dataIn);
Проектирование полосового FIR-фильтра 20-го порядка с меньшей частотой отсечки 500 Гц и более высокой частотой отсечки 560 Гц. Частота дискретизации составляет 1500 Гц. Визуализируйте амплитудную характеристику фильтра. Используйте его для фильтрации случайного сигнала, содержащего 1000 выборок.
bpFilt = designfilt('bandpassfir','FilterOrder',20, ... 'CutoffFrequency1',500,'CutoffFrequency2',560, ... 'SampleRate',1500); fvtool(bpFilt)

dataIn = randn(1000,1); dataOut = filter(bpFilt,dataIn);
Выведите коэффициенты фильтра.
b = bpFilt.Coefficients
b = 1×21
-0.0113 0.0067 0.0125 -0.0445 0.0504 0.0101 -0.1070 0.1407 -0.0464 -0.1127 0.1913 -0.1127 -0.0464 0.1407 -0.1070 0.0101 0.0504 -0.0445 0.0125 0.0067 -0.0113
Проектирование полосового БИХ-фильтра 20-го порядка с более низкой частотой 3-dB 500 Гц и более высокой частотой 3-dB 560 Гц. Частота дискретизации составляет 1500 Гц. Визуализация частотной характеристики фильтра. Используйте его для фильтрации случайного сигнала с 1000 выборками.
bpFilt = designfilt('bandpassiir','FilterOrder',20, ... 'HalfPowerFrequency1',500,'HalfPowerFrequency2',560, ... 'SampleRate',1500); fvtool(bpFilt)

dataIn = randn(1000,1); dataOut = filter(bpFilt,dataIn);
Сконструировать полосовой КИХ-фильтр 20-го порядка с меньшей частотой отсечки 500 Гц и более высокой частотой отсечки 560 Гц. Частота дискретизации составляет 1500 Гц. Визуализируйте амплитудную характеристику фильтра. Используйте его для фильтрации 1000 выборок случайных данных.
bsFilt = designfilt('bandstopfir','FilterOrder',20, ... 'CutoffFrequency1',500,'CutoffFrequency2',560, ... 'SampleRate',1500); fvtool(bsFilt)

dataIn = randn(1000,1); dataOut = filter(bsFilt,dataIn);
Проектирование полосового БИХ-фильтра 20-го порядка с более низкой частотой 3-dB 500 Гц и более высокой частотой 3-dB 560 Гц. Частота дискретизации составляет 1500 Гц. Визуализируйте амплитудную характеристику фильтра. Используйте его для фильтрации 1000 выборок случайных данных.
bsFilt = designfilt('bandstopiir','FilterOrder',20, ... 'HalfPowerFrequency1',500,'HalfPowerFrequency2',560, ... 'SampleRate',1500); fvtool(bsFilt)

dataIn = randn(1000,1); dataOut = filter(bsFilt,dataIn);
Спроектируйте полнополосный дифференцирующий фильтр порядка 7. Отобразить отклик нулевой фазы. Используйте его для фильтрации 1000-выборочного вектора случайных данных.
dFilt = designfilt('differentiatorfir','FilterOrder',7); fvtool(dFilt,'MagnitudeDisplay','Zero-phase')

dataIn = randn(1000,1); dataOut = filter(dFilt,dataIn);
Сконструировать трансформатор Гильберта порядка 18. Задайте нормированную ширину перехода рад/с. Отображение в линейных единицах амплитудной характеристики фильтра. Используйте его для фильтрации 1000-выборочного вектора случайных данных.
hFilt = designfilt('hilbertfir','FilterOrder',18,'TransitionWidth',0.25); fvtool(hFilt,'MagnitudeDisplay','magnitude')

dataIn = randn(1000,1); dataOut = filter(hFilt,dataIn);
Вы получаете сигнал, дискретизированный на частоте 1 кГц. Проектирование фильтра, который останавливает частоты от 100 Гц до 350 Гц и частоты более 400 Гц. Укажите порядок фильтрации 60. Визуализация частотной характеристики фильтра. Используйте его для фильтрации случайного сигнала с 1000 выборками.
mbFilt = designfilt('arbmagfir','FilterOrder',60, ... 'Frequencies',0:50:500,'Amplitudes',[1 1 1 0 0 0 0 1 1 0 0], ... 'SampleRate',1000); fvtool(mbFilt)

dataIn = randn(1000,1); dataOut = filter(mbFilt,dataIn);
resp - Отклик фильтра и тип'lowpassfir' | 'lowpassiir' | 'highpassfir' | 'highpassiir' | 'bandpassfir' | 'bandpassiir' | 'bandstopfir' | 'bandstopiir' | 'differentiatorfir' | 'hilbertfir' | 'arbmagfir'Отклик фильтра и тип, заданный как вектор символа или скаляр строки. Щелкните одно из возможных значений resp для развертывания таблицы разрешенных наборов спецификаций.
Выберите эту опцию для проектирования фильтра нижних частот с конечной импульсной характеристикой (FIR). В этом примере используется пятый набор спецификаций из следующей таблицы.
d = designfilt('lowpassfir', ... % Response type 'FilterOrder',25, ... % Filter order 'PassbandFrequency',400, ... % Frequency constraints 'StopbandFrequency',550, ... 'DesignMethod','ls', ... % Design method 'PassbandWeight',1, ... % Design method options 'StopbandWeight',2, ... 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder' (при необходимости) или любое из ограничений частоты, designfilt выдает ошибку.
Если опустить ограничения по величине, designfilt использует значения по умолчанию.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д (конструкция минимального заказа) |
| Н/Д | ||
| ||||
Н/Д |
| Н/Д | ||
Н/Д |
|
| ||
| ||||
Н/Д |
| |||
|
Выберите эту опцию, чтобы создать фильтр нижних частот с бесконечной импульсной характеристикой (IIR). В этом примере используется первый набор спецификаций из следующей таблицы.
d = designfilt('lowpassiir', ... % Response type 'PassbandFrequency',400, ... % Frequency constraints 'StopbandFrequency',550, ... 'PassbandRipple',4, ... % Magnitude constraints 'StopbandAttenuation',55, ... 'DesignMethod','ellip', ... % Design method 'MatchExactly','passband', ... % Design method options 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder' (при необходимости) или любое из ограничений частоты, designfilt выдает ошибку.
Если опустить ограничения по величине, designfilt использует значения по умолчанию.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д (конструкция минимального заказа) |
| |||
| ||||
| ||||
| ||||
Н/Д |
| Н/Д | ||
| Н/Д | |||
| Н/Д | |||
| Н/Д | |||
Н/Д |
| Н/Д |
Выберите эту опцию для проектирования фильтра верхних частот с конечной импульсной характеристикой (FIR). В этом примере используется первый набор спецификаций из следующей таблицы.
d = designfilt('highpassfir', ... % Response type 'StopbandFrequency',400, ... % Frequency constraints 'PassbandFrequency',550, ... 'StopbandAttenuation',55, ... % Magnitude constraints 'PassbandRipple',4, ... 'DesignMethod','kaiserwin', ... % Design method 'ScalePassband',false, ... % Design method options 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder' (при необходимости) или любое из ограничений частоты, designfilt выдает ошибку.
Если опустить ограничения по величине, designfilt использует значения по умолчанию.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д (конструкция минимального заказа) |
| Н/Д | ||
| ||||
Н/Д |
|
| ||
| ||||
Н/Д |
| |||
|
Выберите эту опцию, чтобы создать фильтр верхних частот с бесконечной импульсной характеристикой (IIR). В этом примере используется первый набор спецификаций из следующей таблицы.
d = designfilt('highpassiir', ... % Response type 'StopbandFrequency',400, ... % Frequency constraints 'PassbandFrequency',550, ... 'StopbandAttenuation',55, ... % Magnitude constraints 'PassbandRipple',4, ... 'DesignMethod','cheby1', ... % Design method 'MatchExactly','stopband', ... % Design method options 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder' (при необходимости) или любое из ограничений частоты, designfilt выдает ошибку.
Если опустить ограничения по величине, designfilt использует значения по умолчанию.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д (конструкция минимального заказа) |
| |||
| ||||
| ||||
| ||||
Н/Д |
| Н/Д | ||
| Н/Д | |||
| Н/Д | |||
| Н/Д | |||
Н/Д |
| Н/Д |
Выберите эту опцию для проектирования полосового фильтра с конечной импульсной характеристикой (FIR). В этом примере используется четвертый набор спецификаций из следующей таблицы.
d = designfilt('bandpassfir', ... % Response type 'FilterOrder',86, ... % Filter order 'StopbandFrequency1',400, ... % Frequency constraints 'PassbandFrequency1',450, ... 'PassbandFrequency2',600, ... 'StopbandFrequency2',650, ... 'DesignMethod','ls', ... % Design method 'StopbandWeight1',1, ... % Design method options 'PassbandWeight', 2, ... 'StopbandWeight2',3, ... 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder' (при необходимости) или любое из ограничений частоты, designfilt выдает ошибку.
Если опустить ограничения по величине, designfilt использует значения по умолчанию.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д (конструкция минимального заказа) |
| Н/Д | ||
| ||||
Н/Д |
|
| ||
| ||||
Н/Д |
| |||
|
Выберите эту опцию, чтобы создать полосовой фильтр с бесконечной импульсной характеристикой (IIR). В этом примере используется первый набор спецификаций из следующей таблицы.
d = designfilt('bandpassiir', ... % Response type 'StopbandFrequency1',400, ... % Frequency constraints 'PassbandFrequency1',450, ... 'PassbandFrequency2',600, ... 'StopbandFrequency2',650, ... 'StopbandAttenuation1',40, ... % Magnitude constraints 'PassbandRipple',1, ... 'StopbandAttenuation2',50, ... 'DesignMethod','ellip', ... % Design method 'MatchExactly','passband', ... % Design method options 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder' (при необходимости) или любое из ограничений частоты, designfilt выдает ошибку.
Если опустить ограничения по величине, designfilt использует значения по умолчанию.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д (конструкция минимального заказа) |
| |||
| ||||
| ||||
| ||||
Н/Д |
| Н/Д | ||
| Н/Д | |||
| Н/Д | |||
| Н/Д |
Выберите эту опцию, чтобы создать полосовой фильтр с конечной импульсной характеристикой (FIR). В этом примере используется четвертый набор спецификаций из следующей таблицы.
d = designfilt('bandstopfir', ... % Response type 'FilterOrder',32, ... % Filter order 'PassbandFrequency1',400, ... % Frequency constraints 'StopbandFrequency1',500, ... 'StopbandFrequency2',700, ... 'PassbandFrequency2',850, ... 'DesignMethod','ls', ... % Design method 'PassbandWeight1',1, ... % Design method options 'StopbandWeight', 3, ... 'PassbandWeight2',5, ... 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder' (при необходимости) или любое из ограничений частоты, designfilt выдает ошибку.
Если опустить ограничения по величине, designfilt использует значения по умолчанию.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д (конструкция минимального заказа) |
| Н/Д | ||
| ||||
Н/Д |
|
| ||
| ||||
Н/Д |
| |||
|
Выберите эту опцию, чтобы создать полосовой фильтр с бесконечной импульсной характеристикой (IIR). В этом примере используется первый набор спецификаций из следующей таблицы.
d = designfilt('bandstopiir', ... % Response type 'PassbandFrequency1',400, ... % Frequency constraints 'StopbandFrequency1',500, ... 'StopbandFrequency2',700, ... 'PassbandFrequency2',850, ... 'PassbandRipple1',1, ... % Magnitude constraints 'StopbandAttenuation',55, ... 'PassbandRipple2',1, ... 'DesignMethod','ellip', ... % Design method 'MatchExactly','both', ... % Design method options 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder' (при необходимости) или любое из ограничений частоты, designfilt выдает ошибку.
Если опустить ограничения по величине, designfilt использует значения по умолчанию.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д (конструкция минимального заказа) |
| |||
| ||||
| ||||
| ||||
Н/Д |
| Н/Д | ||
| Н/Д | |||
| Н/Д | |||
| Н/Д |
Выберите эту опцию для проектирования фильтра дифференциатора конечной импульсной характеристики (FIR). В этом примере используется второй набор спецификаций из следующей таблицы.
d = designfilt('differentiatorfir', ... % Response type 'FilterOrder',42, ... % Filter order 'PassbandFrequency',400, ... % Frequency constraints 'StopbandFrequency',500, ... 'DesignMethod','equiripple', ... % Design method 'PassbandWeight',1, ... % Design method options 'StopbandWeight',4, ... 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder'или любые ограничения частоты при проектировании дифференциатора с частичным диапазоном, designfilt выдает ошибку.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д | Н/Д |
| Н/Д | |
| Н/Д | |||
Н/Д |
| |||
| Н/Д |
Выберите эту опцию для проектирования фильтра гильбертового трансформатора с конечной импульсной характеристикой (FIR). В этом примере используется набор спецификаций из следующей таблицы.
d = designfilt('hilbertfir', ... % Response type 'FilterOrder',12, ... % Filter order 'TransitionWidth',400, ... % Frequency constraints 'DesignMethod','ls', ... % Design method 'SampleRate',2000) % Sample rate
Если опустить 'FilterOrder' или 'TransitionWidth', designfilt выдает ошибку.
Если опустить 'DesignMethod', designfilt использует метод проектирования по умолчанию для трансформаторов Гильберта.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
Н/Д |
| Н/Д | ||
| Н/Д |
Выберите эту опцию, чтобы создать фильтр конечной импульсной характеристики (FIR) с произвольной амплитудной характеристикой. В этом примере используется второй набор спецификаций из следующей таблицы.
d = designfilt('arbmagfir', ... % Response type 'FilterOrder',88, ... % Filter order 'NumBands',4, ... % Frequency constraints 'BandFrequencies1',[0 20], ... 'BandFrequencies2',[25 40], ... 'BandFrequencies3',[45 65], ... 'BandFrequencies4',[70 100], ... 'BandAmplitudes1',[2 2], ... % Magnitude constraints 'BandAmplitudes2',[0 0], ... 'BandAmplitudes3',[1 1], ... 'BandAmplitudes4',[0 0], ... 'DesignMethod','ls', ... % Design method 'BandWeights1',[1 1]/10, ... % Design method options 'BandWeights2',[3 1], ... 'BandWeights3',[2 4], ... 'BandWeights4',[5 1], ... 'SampleRate',200) % Sample rate
Если опустить 'FilterOrder'или любое из ограничений частоты или величины, designfilt выдает ошибку.
Если опустить 'DesignMethod', designfilt использует метод конструирования по умолчанию для набора спецификаций.
Если опущены параметры метода проектирования, designfilt использует значения по умолчанию для выбранного метода конструирования.
Если опустить 'SampleRate', designfilt устанавливает значение 2 Гц.
| Имена аргументов порядка фильтрации | Имена аргументов ограничения частоты | Имена аргументов ограничения величины | 'DesignMethod' Значения аргументов | Имена аргументов варианта конструкции |
|---|---|---|---|---|
|
| |||
|
| |||
|
| |||
| … | … |
| … |
| … |
Типы данных: char | string
d - Цифровой фильтрdigitalFilter объектЦифровой фильтр, указанный как digitalFilter объект, сгенерированный designfilt. Используйте этот ввод для изменения спецификаций существующего digitalFilter.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'FilterOrder',20,'CutoffFrequency',0.4 достаточно указать фильтр FIR нижних частот.Не все комбинации Name,Value действительны пары. Допустимые комбинации зависят от требуемой характеристики фильтра, а также от ограничений частоты и величины конструкции.
'FilterOrder' - Порядок фильтрацииПорядок фильтра, указанный как разделенная запятыми пара, состоящая из 'FilterOrder' и положительный целочисленный скаляр.
Типы данных: double
'NumeratorOrder' - Порядок нумераторовПорядок числителя конструкции БИХ, определяемый как разделенная запятыми пара, состоящая из 'NumeratorOrder' и положительный целочисленный скаляр.
Типы данных: double
'DenominatorOrder' - Порядок знаменателяПорядок знаменателя конструкции БИХ, определяемый как разделенная запятыми пара, состоящая из 'DenominatorOrder' и положительный целочисленный скаляр.
Типы данных: double
'PassbandFrequency', 'PassbandFrequency1', 'PassbandFrequency2' - Частота полосы пропусканияЧастота полосы пропускания, определяемая как разделенная запятыми пара, состоящая из 'PassbandFrequency' и положительный скаляр. Значение частоты должно находиться в диапазоне Найквиста.
'PassbandFrequency1' - нижняя частота полосы пропускания для схемы полосы пропускания или полосы пропускания.
'PassbandFrequency2' является более высокой частотой полосы пропускания для схемы полосы пропускания или полосы пропускания.
Типы данных: double
'StopbandFrequency', 'StopbandFrequency1', 'StopbandFrequency2' - Частота полосы остановаЧастота стоп-полосы, заданная как разделенная запятыми пара, состоящая из 'StopbandFrequency' и положительный скаляр. Значение частоты должно находиться в диапазоне Найквиста.
'StopbandFrequency1' - нижняя частота полосы останова для полосовой или полосовой схемы
'StopbandFrequency2' является более высокой частотой стоп-полосы для полосовой или полосовой схемы.
Типы данных: double
'CutoffFrequency', 'CutoffFrequency1', 'CutoffFrequency2' - частота 6-dB6-dB частота, указанная как пара, разделенная запятыми, состоящая из 'CutoffFrequency' и положительный скаляр. Значение частоты должно находиться в диапазоне Найквиста.
'CutoffFrequency1' - более низкая частота 6-dB для полосовой или полосовой схемы.
'CutoffFrequency2' - более высокая частота 6-dB для полосовой или полосовой схемы.
Типы данных: double
'HalfPowerFrequency', 'HalfPowerFrequency1', 'HalfPowerFrequency2' - частота 3-dB3-dB частота, указанная как пара, разделенная запятыми, состоящая из 'HalfPowerFrequency' и положительный скаляр. Значение частоты должно находиться в диапазоне Найквиста.
'HalfPowerFrequency1' - более низкая частота 3-dB для полосовой или полосовой схемы.
'HalfPowerFrequency2' - более высокая частота 3-dB для полосовой или полосовой схемы.
Типы данных: double
'TransitionWidth' - Ширина переходной областиШирина переходной области между полосой пропускания и полосой останова для трансформатора Гильберта, определяемая как разделенная запятыми пара, состоящая из 'TransitionWidth' и положительный скаляр.
Типы данных: double
'Frequencies' - Частоты откликаЧастоты отклика, определяемые как разделенная запятыми пара, состоящая из 'Frequencies' и вектор. Используйте эту переменную для перечисления частот, на которых фильтр с произвольной амплитудной характеристикой имеет желаемые амплитуды. Частоты должны монотонно увеличиваться и лежать в диапазоне Найквиста. Первый элемент вектора должен быть либо 0, либо -fs/2, где fs - частота выборки, а его последний элемент должен быть fs/2. Если частота выборки не указана, designfilt использует значение по умолчанию 2 Гц.
Типы данных: double
'NumBands' - Количество полосЧисло полос в многополосной схеме, указанное как разделенная запятыми пара, состоящая из 'NumBands' и положительный целочисленный скаляр не более 10.
Типы данных: double
'BandFrequencies1', '...', 'BandFrequenciesN' - Многополосные частоты откликаМногополосные частоты отклика, определяемые как разделенные запятыми пары, состоящие из 'BandFrequenciesi' и числовой вектор. 'BandFrequenciesi', где i проходит от 1 до NumBands, - вектор, содержащий частоты, на которых i-я полоса многополосной конструкции имеет желаемые значения, 'BandAmplitudesi'. NumBands может быть не более 10. Частоты должны лежать в диапазоне Найквиста и должны быть указаны в монотонно возрастающем порядке. Смежные полосы частот должны иметь одинаковую амплитуду на своем стыке.
Типы данных: double
'PassbandRipple', 'PassbandRipple1', 'PassbandRipple2' - Пульсация полосы пропусканияПульсация полосы пропускания, указанная как разделенная запятыми пара, состоящая из 'PassbandRipple' и положительный скаляр, выраженный в децибелах.
'PassbandRipple1' представляет собой пульсацию полосы пропускания нижней полосы для дизайна bandstop.
'PassbandRipple2' является пульсацией полосы пропускания более высокого диапазона для дизайна bandstop.
Типы данных: double
'StopbandAttenuation', 'StopbandAttenuation1', 'StopbandAttenuation2' - Затухание полосы остановаЗатухание стоп-полосы, определяемое как разделенная запятыми пара, состоящая из 'StopbandAttenuation' и положительный скаляр, выраженный в децибелах.
'StopbandAttenuation1' - затухание полосы останова нижнего диапазона для полосовой конструкции.
'StopbandAttenuation2' - затухание полосы останова более высокого диапазона для полосовой конструкции.
Типы данных: double
'Amplitudes' - Желательные амплитуды откликаТребуемые амплитуды отклика фильтра с произвольной амплитудой, определяемые как разделенная запятыми пара, состоящая из 'Amplitudes' и вектор. Выразить амплитуды в линейных единицах. Вектор должен иметь ту же длину, что и 'Frequencies'.
Типы данных: double
'BandAmplitudes1', '...', 'BandAmplitudesN' - Амплитуды многополосного откликаМультидиапазонные амплитуды отклика, определяемые как разделенные запятыми пары, состоящие из 'BandAmplitudesi' и числовой вектор. 'BandAmplitudesi', где i проходит от 1 до NumBands, представляет собой вектор, содержащий желаемые амплитуды в i-ом диапазоне многополосной конструкции. NumBands может быть не более 10. Выразить амплитуды в линейных единицах. 'BandAmplitudesi' должна иметь ту же длину, что и 'BandFrequenciesi'. Смежные полосы частот должны иметь одинаковую амплитуду на своем стыке.
Типы данных: double
'DesignMethod' - Метод проектирования'butter' | 'cheby1' | 'cheby2' | 'cls' | 'ellip' | 'equiripple' | 'freqsamp' | 'kaiserwin' | 'ls' | 'maxflat' | 'window'Метод проектирования, указанный как разделенная запятыми пара, состоящая из 'DesignMethod' и вектор символов или строковый скаляр. Выбор метода проектирования зависит от заданного набора ограничений частоты и величины.
'butter' конструирует IIR-фильтр Butterworth. Фильтры бабочек имеют плавную монотонную частотную характеристику, максимально плоскую в полосе пропускания. Они жертвуют крутизной отката ради ровности.
'cheby1' конструирует фильтр IIR типа Чебышева . Фильтры типа I Чебышева имеют частотную характеристику, которая равновелика в полосе пропускания и максимально плоская в полосе останова. Их пульсация полосы пропускания увеличивается с увеличением крутизны отката.
'cheby2' конструирует фильтр IIR типа II Чебышева. Фильтры II типа Чебышева имеют частотную характеристику, которая максимально плоская в полосе пропускания и равновеликая в полосе останова.
'cls' конструирует фильтр FIR с использованием ограниченных наименьших квадратов. Способ минимизирует расхождение между заданной произвольной кусочно-линейной функцией и амплитудной характеристикой фильтра. В то же время она позволяет устанавливать ограничения на пульсацию полосы пропускания и затухание полосы останова.
'ellip' конструирует эллиптический БИХ-фильтр. Эллиптические фильтры имеют частотную характеристику, которая одинакова как в полосе пропускания, так и в полосе останова.
'equiripple' конструирует equiripple FIR фильтр с использованием алгоритма Паркса-Макклеллана. Эквириптные фильтры имеют частотную характеристику, которая минимизирует максимальную величину пульсации во всех полосах.
'freqsamp' конструирует КИХ-фильтр с произвольной амплитудной характеристикой путем равномерной выборки частотной характеристики и принятия обратного преобразования Фурье.
'kaiserwin' создает фильтр FIR с использованием метода окна Кайзера. Метод усекает импульсную характеристику идеального фильтра и использует окно Кайзера для ослабления результирующих колебаний усечения.
'ls' создает фильтр FIR с использованием наименьших квадратов. Способ минимизирует расхождение между заданной произвольной кусочно-линейной функцией и амплитудной характеристикой фильтра.
'maxflat' конструирует максимально плоский КИХ-фильтр. Эти фильтры имеют плавную монотонную частотную характеристику, которая является максимально плоской в полосе пропускания.
'window' использует аппроксимацию наименьших квадратов для вычисления коэффициентов фильтра, а затем сглаживает импульсную характеристику 'Window'.
Типы данных: char | string
'Window' - ОкноОкно, указанное как разделенная запятыми пара, состоящая из 'Window' и вектор длиной N + 1, где N - порядок фильтрации. 'Window' также может быть сопряжена с именем окна или дескриптором функции, который определяет функцию, используемую для создания окна. Любая такая функция должна принимать N + 1 в качестве первого входа. Дополнительные входные данные могут быть переданы путем задания массива ячеек. По умолчанию 'Window' является пустым вектором для 'freqsamp' метод проектирования и @hamming для 'window' СПОСОБ КОНСТРУИРОВАНИЯ.
Список доступных окон см. в разделе Windows.
Пример: 'Window',hann(N+1) и 'Window',(1-cos(2*pi*(0:N)'/N))/2 оба задают окно Ганна для использования с фильтром порядка N.
Пример: 'Window','hamming' указывает окно Хэмминга требуемого порядка.
Пример: 'Window',@mywindow позволяет определить собственную оконную функцию.
Пример: 'Window',{@kaiser,0.5} задает окно Kaiser требуемого порядка с параметром shape 0,5.
Типы данных: double | char | string | function_handle | cell
'MatchExactly' - Полоса для точного соответствия'stopband' | 'passband' | 'both'Диапазон для точного соответствия, указанный как разделенная запятыми пара, состоящая из 'MatchExactly' и либо 'stopband', 'passband', или 'both'. 'both' доступен только для метода эллиптической конструкции, где по умолчанию. 'stopband' является значением по умолчанию для 'butter' и 'cheby2' методы. 'passband' является значением по умолчанию для 'cheby1'.
Типы данных: char | string
'PassbandOffset' - Смещение полосы пропусканияСмещение полосы пропускания, указанное как разделенная запятыми пара, состоящая из 'PassbandOffset' и положительный скаляр, выраженный в децибелах. 'PassbandOffset' определяет коэффициент усиления фильтра в полосе пропускания.
Пример: 'PassbandOffset',0 в результате получается фильтр с единичным усилением в полосе пропускания.
Пример: 'PassbandOffset',2 в результате получается фильтр с коэффициентом усиления полосы пропускания 2 дБ или 1,259.
Типы данных: double
'ScalePassband' - Шкала полосы пропусканияtrue (по умолчанию) | falseМасштабировать полосу пропускания, заданную как разделенная запятыми пара, состоящая из 'ScalePassband' и логический скаляр. При установке 'ScalePassband' кому true, полоса пропускания масштабируется после оконной обработки, так что фильтр имеет единичный коэффициент усиления на нулевой частоте.
Пример: 'Window',{@kaiser,0.1},'ScalePassband',true помощь в задании фильтра, амплитудная характеристика которого на нулевой частоте равна ровно 0 дБ. Это не тот случай, когда вы указываете 'ScalePassband',false. Чтобы проверить, визуализируйте фильтр с помощью fvtool и увеличьте изображение.
Типы данных: logical
'ZeroPhase' - Нулевая фазаfalse (по умолчанию) | trueНулевая фаза, заданная как разделенная запятыми пара, состоящая из 'ZeroPhase' и логический скаляр. При установке 'ZeroPhase' кому true, отклик нулевой фазы результирующего фильтра всегда положительный. Это позволяет выполнить спектральную факторизацию результата и получить из него фильтр минимальной фазы.
Типы данных: logical
'PassbandWeight', 'PassbandWeight1', 'PassbandWeight2' - Вес оптимизации полосы пропусканияВес оптимизации полосы пропускания, указанный как разделенная запятыми пара, состоящая из 'PassbandWeight' и положительный скаляр.
'PassbandWeight1' - вес оптимизации полосы пропускания более низкого диапазона для структуры FIR полосы пропускания.
'PassbandWeight2' - вес оптимизации полосы пропускания с более высокой полосой пропускания для конструкции FIR с полосой пропускания.
Типы данных: double
'StopbandWeight', 'StopbandWeight1', 'StopbandWeight2' - Вес оптимизации стоп-полосыВес оптимизации стоп-полосы, указанный как разделенная запятыми пара, состоящая из 'StopbandWeight' и положительный скаляр.
'StopbandWeight1' - вес оптимизации полосы останова нижнего диапазона для полосовой конструкции FIR.
'StopbandWeight2' - вес оптимизации полосы останова более высокого диапазона для полосовой конструкции FIR.
Типы данных: double
'Weights' - Веса оптимизацииВеса оптимизации, указанные как пара, разделенная запятыми, состоящая из 'Weights' и положительный скаляр или вектор той же длины, что и 'Amplitudes'.
Типы данных: double
'BandWeights1', '...', 'BandWeightsN' - Многолучевые весаМноголучевые веса, указанные как пары, разделенные запятыми, состоящие из 'BandWeightsi' и набор положительных скаляров или векторов. 'BandWeightsi', где i проходит от 1 до NumBands, является скаляром или вектором, содержащим веса оптимизации i-го диапазона многополосной конструкции. Если указан как вектор, 'BandWeightsi' должна иметь ту же длину, что и 'BandAmplitudesi'.
Типы данных: double
'SampleRate' - Частота выборкиЧастота выборки, указанная как пара, разделенная запятыми, состоящая из 'SampleRate' и положительный скаляр, выраженный в герцах. Для работы с нормированными частотами установить 'SampleRate' 2, или просто опустить его.
Типы данных: double
d - Цифровой фильтрdigitalFilter объектЦифровой фильтр, возвращаемый как digitalFilter объект.
Если указан неполный или несогласованный набор параметров конструкции, designfilt предлагает открыть мастер проектирования фильтров.
(В описании аргумента для resp существует полный список допустимых наборов спецификаций для всех доступных типов ответов.)
Помощник ведет себя по-другому при вызове designfilt в командной строке или в сценарии или функции.
Вы получаете сигнал, дискретизированный на частоте 2 кГц. Вас просят разработать фильтр FIR нижних частот, который подавляет частотные компоненты выше 650 Гц. «Частота отсечки» звучит как хороший кандидат для параметра спецификации. В командной строке MATLAB введите следующее.
Fsamp = 2e3; Fctff = 650; dee = designfilt('lowpassfir','CutoffFrequency',Fctff, ... 'SampleRate',Fsamp);
Что-то не так, потому что это диалоговое окно появляется на экране.

Нажмите кнопку Да и получите новое диалоговое окно, в котором можно создать код. Можно видеть, что переменные, определенные ранее, были вставлены там, где это ожидалось.

Изучив некоторые из предложенных вариантов, вы решите протестировать исправленный фильтр. Нажмите кнопку ОК и получите следующий код в командной строке.
dee = designfilt('lowpassfir', 'FilterOrder', 10, ... 'CutoffFrequency', Fctff, 'SampleRate', Fsamp);
Ввод имени фильтра повторяет информацию из диалогового окна.
dee
dee =
digitalFilter with properties:
Coefficients: [1x11 double]
Specifications:
FrequencyResponse: 'lowpass'
ImpulseResponse: 'fir'
SampleRate: 2000
FilterOrder: 10
CutoffFrequency: 650
DesignMethod: 'window'
Use fvtool to visualize filter
Use filter function to filter dataВы вызываете FVTool и получаете сюжет deeЧастотная характеристика.
fvtool(dee)

Отсечение не выглядит особенно резким. Для большинства частот отклик превышает 40 дБ. Вы помните, что у ассистента была возможность установить «ограничение величины», называемое «затуханием полосы останова». Открытие помощника по вызову designfilt с именем фильтра в качестве входного значения.
designfilt(dee)
Щелкните значок Magnitude constraints и выберите Passband ripple and stopband attenuation. Вы видите, что метод проектирования изменился с Window кому FIR constrained least-squares. Значение по умолчанию для ослабления составляет 60 дБ, что превышает 40 дБ. Нажмите кнопку ОК и визуализируйте результирующий фильтр.
dee = designfilt('lowpassfir', 'FilterOrder', 10, ... 'CutoffFrequency', Fctff, ... 'PassbandRipple', 1, 'StopbandAttenuation', 60, ... 'SampleRate', Fsamp); fvtool(dee)

Отсечка по-прежнему не выглядит резкой. Затухание действительно составляет 60 дБ, но для частот выше 900 Гц.
Снова вызвать designfilt с фильтром в качестве входных данных.
designfilt(dee)
Помощник появляется снова.

Чтобы сузить различие между принятой и отклоненной частотами, увеличьте порядок фильтра или измените Frequency constraints от Cutoff (6dB) frequency кому Passband and stopband frequencies. При изменении порядка фильтрации с 10 на 50 получается более четкий фильтр.
dee = designfilt('lowpassfir', 'FilterOrder', 50, ... 'CutoffFrequency', 650, ... 'PassbandRipple', 1, 'StopbandAttenuation', 60, ... 'SampleRate', 2000); fvtool(dee)

Небольшое экспериментирование показывает, что можно получить подобный фильтр, установив частоты полосы пропускания и полосы останова соответственно 600 Гц и 700 Гц.
dee = designfilt('lowpassfir', 'PassbandFrequency', 600, ... 'StopbandFrequency', 700, ... 'PassbandRipple', 1, 'StopbandAttenuation', 60, ... 'SampleRate', 2000); fvtool(dee)

Вы получаете сигнал, дискретизированный на частоте 2 кГц. Вас просят разработать фильтр верхних частот, который останавливает частоты ниже 700 Гц. Вам плевать на фазу сигнала, и вам нужно работать с фильтром низкого порядка. Таким образом, БИХ-фильтр представляется адекватным. Вы не уверены, какой порядок фильтра лучше всего, поэтому вы пишете функцию, которая принимает порядок в качестве ввода. Откройте редактор MATLAB и создайте файл.
function dataOut = hipassfilt(N,dataIn) hpFilter = designfilt('highpassiir','FilterOrder',N); dataOut = filter(hpFilter,dataIn); end
Чтобы проверить свою функцию, создайте сигнал, состоящий из двух синусоид с частотами 500 и 800 Гц и создайте выборки для 0.1 с. Фильтр 5-го порядка представляется разумным в качестве начального предположения. Создать сценарий с именем driveHPfilt.m.
% script driveHPfilt.m
Fsamp = 2e3;
Fsm = 500;
Fbg = 800;
t = 0:1/Fsamp:0.1;
sgin = sin(2*pi*Fsm*t)+sin(2*pi*Fbg*t);
Order = 5;
sgout = hipassfilt(Order,sgin);При запуске сценария в командной строке появляется сообщение об ошибке.

Сообщение об ошибке дает возможность открыть ассистента для исправления кода MATLAB. Щелкнуть Click here , чтобы получить помощник по дизайну фильтров на экране.

Вы видите проблему: Вы не указали ограничение частоты. Вы также забыли установить частоту выборки. После экспериментов можно задать единицы измерения частоты как Hz, частота полосы пропускания 700 Гц и входной сигнал Fs 2000 Гц. Метод Design изменяется с Butterworth кому Chebyshev type I. Нажмите кнопку ОК и получите следующее.

Помощник правильно определил файл, куда вы звоните designfilt. Нажмите кнопку Да, чтобы принять изменение. Функция имеет исправленный код MATLAB.
function dataOut = hipassfilt(N,dataIn) % hpFilter = designfilt('highpassiir','FilterOrder',N); hpFilter = designfilt('highpassiir', 'FilterOrder', N, ... 'PassbandFrequency', 700, 'PassbandRipple', 1, ... 'SampleRate', 2000); dataOut = filter(hpFilter,dataIn); end
Теперь можно запустить сценарий с различными значениями порядка фильтрации. В зависимости от конструктивных ограничений можно изменить набор спецификаций.
Можно задать designfilt никогда не предлагать помощник по проектированию фильтров. Это действие задает настройку MATLAB, которую можно отменить с помощью setpref:
Использовать setpref('dontshowmeagain','filterDesignAssistant',false) каждый раз предлагать ассистента. С помощью этой команды можно снова вызвать помощника после его отключения.
Использовать setpref('dontshowmeagain','filterDesignAssistant',true) для постоянного отключения помощника. Можно также нажать кнопку Не показывать это сообщение снова в начальном диалоговом окне.
Можно задать designfilt всегда исправлять неисправные спецификации без запроса. Это действие задает настройку MATLAB, которую можно отменить с помощью setpref:
Использовать setpref('dontshowmeagain','filterDesignAssistantCodeCorrection',false) иметь designfilt исправьте код MATLAB, не запрашивая подтверждения. Также можно нажать кнопку Всегда принимать в диалоговом окне подтверждения.
Использовать setpref('dontshowmeagain','filterDesignAssistantCodeCorrection',true) обеспечить, чтобы designfilt корректирует код MATLAB только после подтверждения необходимости внесения изменений. С помощью этой команды можно отменить эффект нажатия кнопки Всегда принимать в диалоговом окне подтверждения.
Есть некоторые случаи, в которых, учитывая недопустимый набор спецификаций, designfilt не предлагает мастер проектирования фильтров ни через диалоговое окно, ни через ссылку в сообщении об ошибке.
Ассистент не предлагается, если используется анализ кодового сечения, либо на панели инструментов MATLAB, либо с помощью клавиш Ctrl + Enter. (Дополнительные сведения см. в разделе Разделение файла на разделы кода.)
Если код содержит несколько вызовов для, вам не предлагается помощник designfilt, по крайней мере, один из этих вызовов неверен, и
Код вставляется в командную строку и выполняется нажатием Enter.
Выберите код в редакторе и выполните его, нажав клавишу F9.
Если вы работаете, вам не предлагается помощник designfilt с помощью анонимной функции. (Дополнительные сведения см. в разделе Анонимные функции.) Например, этот ввод предлагает ассистента.
d = designfilt('lowpassfir','CutoffFrequency',0.6)
myFilterDesigner = @designfilt; d = myFilterDesigner('lowpassfir','CutoffFrequency',0.6)
Если вы работаете, вам не предлагается помощник designfilt использование eval. Например, этот ввод предлагает ассистента.
d = designfilt('lowpassfir','CutoffFrequency',0.6)
myFilterDesigner = ... sprintf('designfilt(''%s'',''CutoffFrequency'',%f)', ... 'lowpassfir',0.6); d = eval(myFilterDesigner)
Для работы мастера проектирования фильтров требуется программное обеспечение Java ® и рабочий стол MATLAB. Он не поддерживается при запуске MATLAB с помощью -nojvm, -nodisplay, или -nodesktop варианты.
digitalFilter | double | fftfilt | filt2block | filter | filtfilt | filtord | firtype | freqz | FVTool | grpdelay | impz | impzlength | info | isallpass | isdouble | isfir | islinphase | ismaxphase | isminphase | issingle | isstable | phasedelay | phasez | single | ss | stepz | tf | zerophase | zpk | zplane
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.