Разработайте цифровые фильтры
d = designfilt(resp,Name,Value)
designfilt(d)
разрабатывает объект d
= designfilt(resp
,Name,Value
)digitalFilter
, d
, с типом ответа resp
. Задайте фильтр далее с помощью набора пар Name,Value
. Позволенные наборы спецификации зависят от типа ответа, resp
, и состоят из комбинаций следующего:
Ограничения частоты соответствуют частотам, на которых фильтр показывает желаемое поведение. Примеры включают '
PassbandFrequency
'
и '
CutoffFrequency
'
. (См. полный список в соответствии с Аргументами в виде пар имя-значение.) Необходимо всегда задавать ограничения частоты.
Ограничения значения описывают поведение фильтра в конкретных частотных диапазонах. Примеры включают '
PassbandRipple
'
и '
StopbandAttenuation
'
. (См. полный список в соответствии с Аргументами в виде пар имя-значение.) designfilt
обеспечивает значения по умолчанию для ограничений значения, оставленных незаданными. В проектах произвольного значения необходимо всегда задавать векторы желаемых амплитуд.
'
FilterOrder
'
. Некоторые методы разработки позволяют вам задать порядок. Другие производят проекты минимального заказа. Таким образом, они генерируют самые маленькие фильтры, которые удовлетворяют заданные ограничения.
'
DesignMethod
, '
является алгоритмом, раньше разрабатывал фильтр. Примеры включают метод наименьших квадратов с ограничениями ('cls'
) и работа с окнами Кайзера ('kaiserwin'
). Для некоторых наборов спецификации существует несколько методов разработки, доступных, чтобы выбрать из. В других случаях можно использовать только один метод, чтобы соответствовать желаемым спецификациям.
Проектные решения являются параметрами, характерными для данного метода разработки. Примеры включают '
Window
'
для метода 'window'
и оптимизации '
Weights
'
для произвольного значения equiripple проекты. (См. полный список в соответствии с Аргументами в виде пар имя-значение.) designfilt
обеспечивает значения по умолчанию для проектных решений, оставленных незаданными.
'
SampleRate
'
является частотой, на которой действует фильтр. designfilt
имеет частоту дискретизации по умолчанию 2 Гц. Используя это значение эквивалентно работе с нормированными частотами.
Если вы задаете неполный или противоречивый набор пар "имя-значение" в командной строке, designfilt
предлагает открывать Ассистент Проекта Фильтра. Ассистент помогает вам разработать фильтр и вставляет исправленный код MATLAB® по командной строке.
Если вы вызываете designfilt
из скрипта или функции с неправильным набором спецификаций, designfilt
выдает ошибку сообщение со ссылкой, чтобы открыть Ассистент Проекта Фильтра. Ассистент помогает вам разработать фильтр, комментирует дефектный код в функции или скрипт, и вставляет исправленный код MATLAB по следующей строке.
Используйте filter
в форме dataOut = filter(d,dataIn)
, чтобы отфильтровать сигнал с digitalFilter
, d
.
Используйте fvtool
, чтобы визуализировать digitalFilter
, d
.
Введите d.Coefficients
, чтобы получить коэффициенты digitalFilter
, d
. Для БИХ-фильтров коэффициенты выражаются как разделы второго порядка.
Смотрите digitalFilter
для списка функций фильтрации и анализа, доступных для использования с объектами digitalFilter
.
designfilt(
позволяет вам отредактировать существующий цифровой фильтр, d
)d
. Это открывает Ассистент Проекта Фильтра, заполненный со спецификациями фильтра, которые можно затем изменить. Это - единственный способ, которым можно отредактировать объект digitalFilter
. Его свойства в противном случае только для чтения.
Разработайте минимальный заказ lowpass КИХ-фильтр с нормированной частотой полосы пропускания rad/s, частота полосы задерживания rad/s, пульсация полосы пропускания 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);
Разработайте lowpass БИХ-фильтр с порядком 8, частота полосы пропускания 35 кГц и пульсация полосы пропускания 0,2 дБ. Задайте частоту дискретизации 200 кГц. Визуализируйте ответ значения фильтра. Используйте его, чтобы отфильтровать случайный сигнал с 1000 выборками.
lpFilt = designfilt('lowpassiir','FilterOrder',8, ... 'PassbandFrequency',35e3,'PassbandRipple',0.2, ... 'SampleRate',200e3); fvtool(lpFilt)
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
Разработайте минимальный заказ highpass КИХ-фильтр с нормированной частотой полосы задерживания rad/s, частота полосы пропускания rad/s, пульсация полосы пропускания 0,5 дБ и затухание полосы задерживания 65 дБ. Используйте окно Kaiser, чтобы разработать фильтр. Визуализируйте его ответ значения. Используйте его, чтобы отфильтровать 1 000 выборок случайных данных.
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);
Разработайте highpass БИХ-фильтр с порядком 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);
Разработайте КИХ-фильтр полосы пропускания 20-го порядка с более низкой частотой среза, 500 Гц и более высокой частотой среза 560 Гц. Частота дискретизации составляет 1 500 Гц. Визуализируйте ответ значения фильтра. Используйте его, чтобы отфильтровать случайный сигнал, содержащий 1 000 выборок.
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 дБ, 500 Гц и более высокой частотой на 3 дБ 560 Гц. Частота дискретизации составляет 1 500 Гц. Визуализируйте частотную характеристику фильтра. Используйте его, чтобы отфильтровать случайный сигнал с 1000 выборками.
bpFilt = designfilt('bandpassiir','FilterOrder',20, ... 'HalfPowerFrequency1',500,'HalfPowerFrequency2',560, ... 'SampleRate',1500); fvtool(bpFilt)
dataIn = randn(1000,1); dataOut = filter(bpFilt,dataIn);
Разработайте 20-й порядок bandstop КИХ-фильтр с более низкой частотой среза, 500 Гц и более высокой частотой среза 560 Гц. Частота дискретизации составляет 1 500 Гц. Визуализируйте ответ значения фильтра. Используйте его, чтобы отфильтровать 1 000 выборок случайных данных.
bsFilt = designfilt('bandstopfir','FilterOrder',20, ... 'CutoffFrequency1',500,'CutoffFrequency2',560, ... 'SampleRate',1500); fvtool(bsFilt)
dataIn = randn(1000,1); dataOut = filter(bsFilt,dataIn);
Разработайте 20-й порядок bandstop БИХ-фильтр с более низкой частотой на 3 дБ, 500 Гц и более высокой частотой на 3 дБ 560 Гц. Частота дискретизации составляет 1 500 Гц. Визуализируйте ответ значения фильтра. Используйте его, чтобы отфильтровать 1 000 выборок случайных данных.
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. Задайте нормированную ширину перехода rad/s. Отобразите в линейных модулях ответ значения фильтра. Используйте его, чтобы отфильтровать вектор с 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) lowpass фильтр. Этот пример использует пятый набор спецификации из следующей таблицы.
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 значения аргументов ' | Имена аргумента проектного решения |
---|---|---|---|---|
N/A (Проект Минимального заказа) |
|
| Нет данных | |
|
| |||
| Нет данных |
| Нет данных | |
|
| Нет данных |
|
|
|
|
|
|
|
| Нет данных |
|
| |
|
|
Выберите эту опцию, чтобы разработать бесконечный импульсный ответ (IIR) lowpass фильтр. Этот пример использует первый набор спецификации из следующей таблицы.
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 значения аргументов ' | Имена аргумента проектного решения |
---|---|---|---|---|
N/A (Проект Минимального заказа) |
|
|
| |
|
| |||
|
| |||
|
| |||
| Нет данных |
| Нет данных | |
|
|
| Нет данных | |
|
|
| Нет данных | |
|
| Нет данных | ||
| Нет данных |
| Нет данных |
Выберите эту опцию, чтобы разработать конечный импульсный ответ (FIR) highpass фильтр. Этот пример использует первый набор спецификации из следующей таблицы.
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 значения аргументов ' | Имена аргумента проектного решения |
---|---|---|---|---|
N/A (Проект Минимального заказа) |
|
| Нет данных | |
|
| |||
|
| Нет данных |
|
|
|
|
|
|
|
| Нет данных |
|
| |
|
|
Выберите эту опцию, чтобы разработать бесконечный импульсный ответ (IIR) highpass фильтр. Этот пример использует первый набор спецификации из следующей таблицы.
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 значения аргументов ' | Имена аргумента проектного решения |
---|---|---|---|---|
N/A (Проект Минимального заказа) |
|
|
| |
|
| |||
|
| |||
|
| |||
| Нет данных |
| Нет данных | |
|
|
| Нет данных | |
|
|
| Нет данных | |
|
| Нет данных | ||
| Нет данных |
| Нет данных |
Выберите эту опцию, чтобы разработать полосовой фильтр конечного импульсного ответа (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 значения аргументов ' | Имена аргумента проектного решения |
---|---|---|---|---|
N/A (Проект Минимального заказа) |
|
| Нет данных | |
|
| |||
|
| Нет данных |
|
|
|
|
|
|
|
| Нет данных |
|
| |
|
|
Выберите эту опцию, чтобы разработать полосовой фильтр бесконечного импульсного ответа (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 значения аргументов ' | Имена аргумента проектного решения |
---|---|---|---|---|
N/A (Проект Минимального заказа) |
|
|
| |
|
| |||
|
| |||
|
| |||
| Нет данных |
| Нет данных | |
|
|
| Нет данных | |
|
|
| Нет данных | |
|
| Нет данных |
Выберите эту опцию, чтобы разработать заграждающий фильтр конечного импульсного ответа (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 значения аргументов ' | Имена аргумента проектного решения |
---|---|---|---|---|
N/A (Проект Минимального заказа) |
|
| Нет данных | |
|
| |||
|
| Нет данных |
|
|
|
|
|
|
|
| Нет данных |
|
| |
|
|
Выберите эту опцию, чтобы разработать заграждающий фильтр бесконечного импульсного ответа (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 значения аргументов ' | Имена аргумента проектного решения |
---|---|---|---|---|
N/A (Проект Минимального заказа) |
|
|
| |
|
| |||
|
| |||
|
| |||
| Нет данных |
| Нет данных | |
|
|
| Нет данных | |
|
|
| Нет данных | |
|
| Нет данных |
Выберите эту опцию, чтобы разработать фильтр дифференциатора конечного импульсного ответа (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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'FilterOrder',20,'CutoffFrequency',0.4
достаточен, чтобы задать lowpass КИХ-фильтр.Не все комбинации пар Name,Value
допустимы. Допустимые комбинации зависят от ответа фильтра, в котором вы нуждаетесь и от ограничений частоты и значения вашего проекта.
'FilterOrder'
— Отфильтруйте порядокОтфильтруйте порядок, заданный как пара, разделенная запятой, состоящая из 'FilterOrder'
и положительного целочисленного скаляра.
Типы данных: double
'NumeratorOrder'
— Порядок числителяПорядок числителя БИХ-проекта, заданного как пара, разделенная запятой, состоящая из 'NumeratorOrder'
и положительного целочисленного скаляра.
Типы данных: double
'DenominatorOrder'
— Порядок знаменателяПорядок знаменателя БИХ-проекта, заданного как пара, разделенная запятой, состоящая из 'DenominatorOrder'
и положительного целочисленного скаляра.
Типы данных: double
'PassbandFrequency'
, 'PassbandFrequency1'
, 'PassbandFrequency2'
— Частота полосы пропусканияЧастота полосы пропускания, заданная как пара, разделенная запятой, состоящая из 'PassbandFrequency'
и положительной скалярной величины. Значение частоты должно быть в области значений Найквиста.
'PassbandFrequency1'
является более низкой частотой полосы пропускания для проекта bandstop или полосы пропускания.
'PassbandFrequency2'
является более высокой частотой полосы пропускания для проекта bandstop или полосы пропускания.
Типы данных: double
'StopbandFrequency'
, 'StopbandFrequency1'
, 'StopbandFrequency2'
— Частота полосы задерживанияЧастота полосы задерживания, заданная как пара, разделенная запятой, состоящая из 'StopbandFrequency'
и положительной скалярной величины. Значение частоты должно быть в области значений Найквиста.
'StopbandFrequency1'
является более низкой частотой полосы задерживания для проекта bandstop или полосы пропускания
'StopbandFrequency2'
является более высокой частотой полосы задерживания для проекта bandstop или полосы пропускания.
Типы данных: double
'CutoffFrequency'
, 'CutoffFrequency1'
, 'CutoffFrequency2'
— Частота на 6 дБЧастота на 6 дБ, заданная как пара, разделенная запятой, состоящая из 'CutoffFrequency'
и положительной скалярной величины. Значение частоты должно быть в области значений Найквиста.
'CutoffFrequency1'
является более низкой частотой на 6 дБ для проекта bandstop или полосы пропускания.
'CutoffFrequency2'
является более высокой частотой на 6 дБ для проекта bandstop или полосы пропускания.
Типы данных: double
'HalfPowerFrequency'
, 'HalfPowerFrequency1'
, 'HalfPowerFrequency2'
— Частота на 3 дБЧастота на 3 дБ, заданная как пара, разделенная запятой, состоящая из 'HalfPowerFrequency'
и положительной скалярной величины. Значение частоты должно быть в области значений Найквиста.
'HalfPowerFrequency1'
является более низкой частотой на 3 дБ для проекта bandstop или полосы пропускания.
'HalfPowerFrequency2'
является более высокой частотой на 3 дБ для проекта bandstop или полосы пропускания.
Типы данных: 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 th полоса многополосного проекта имеет требуемые значения, '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 th полоса многополосного проекта. NumBands
может быть самое большее 10. Выразите амплитуды в линейных модулях. 'BandAmplitudesi'
должен иметь ту же длину как 'BandFrequenciesi'
. Смежные диапазоны частот должны иметь ту же амплитуду на своем перекрестке.
Типы данных: double
'DesignMethod'
— Метод разработки'butter'
| 'cheby1'
| 'cheby2'
| 'cls'
| 'ellip'
| 'equiripple'
| 'freqsamp'
| 'kaiserwin'
| 'ls'
| 'maxflat'
| 'window'
Метод разработки, заданный как пара, разделенная запятой, состоящая из 'DesignMethod'
и вектора символов или скаляра строки. Выбор метода разработки зависит на съемочной площадке ограничений частоты и значения, которые вы задаете.
'butter'
разрабатывает БИХ-фильтр Баттерворта. Фильтры Баттерворта имеют сглаженную монотонную частотную характеристику, которая является максимально плоской в полосе пропускания. Они жертвуют крутизной спада за плоскость.
'cheby1'
разрабатывает Чебышевский БИХ-фильтр типа I. Чебышевский тип , который я фильтрую, имеет частотную характеристику, которая является equiripple в полосе пропускания и максимально плоский в полосе задерживания. Их пульсация полосы пропускания увеличивается с увеличивающейся крутизной спада.
'cheby2'
разрабатывает Чебышевский БИХ-фильтр типа II. Чебышевские фильтры типа II имеют частотную характеристику, которая является максимально плоской в полосе пропускания и equiripple в полосе задерживания.
'cls'
разрабатывает КИХ-фильтр с помощью метода наименьших квадратов с ограничениями. Метод минимизирует несоответствие между заданной произвольной кусочной линейной функцией и ответом значения фильтра. В то же время это позволяет вам установить ограничения на пульсацию полосы пропускания и затухание полосы задерживания.
'ellip'
разрабатывает эллиптический БИХ-фильтр. Эллиптические фильтры имеют частотную характеристику, которая является equiripple и в полосе пропускания и в полосе задерживания.
'equiripple'
разрабатывает equiripple КИХ-фильтр с помощью алгоритма Парков-McClellan. Фильтры Equiripple имеют частотную характеристику, которая минимизирует максимальное значение пульсации по всем полосам.
'freqsamp'
разрабатывает КИХ-фильтр произвольного ответа значения путем выборки частотной характеристики однородно и взятия обратного преобразования Фурье.
'kaiserwin'
разрабатывает КИХ-фильтр с помощью метода окна Kaiser. Метод обрезает импульсный ответ идеального фильтра и использует окно Kaiser, чтобы ослабить получившиеся колебания усечения.
'ls'
разрабатывает КИХ-фильтр с помощью наименьших квадратов. Метод минимизирует несоответствие между заданной произвольной кусочной линейной функцией и ответом значения фильтра.
'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
оба задают окно Hann, чтобы использовать с фильтром порядка N
.
Пример: 'Window','hamming'
задает Окно Хэмминга необходимого порядка.
Пример: 'Window',@mywindow
позволяет вам задать свою собственную функцию окна.
Пример: 'Window',{@kaiser,0.5}
задает окно Kaiser необходимого порядка с параметром формы 0.5.
Типы данных: double
| char
| string
| function_handle
| cell
'MatchExactly'
— Полоса, чтобы соответствовать точно'stopband'
| 'passband'
| 'both'
Полоса, чтобы соответствовать точно, заданный как пара, разделенная запятой, состоящая из 'MatchExactly'
и или 'stopband'
, 'passband'
или 'both'
. 'both'
доступен только для эллиптического метода разработки, где это - значение по умолчанию. 'stopband'
является значением по умолчанию для методов 'cheby2'
и 'butter'
. '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
и увеличьте масштаб.
Типы данных: логический
'ZeroPhase'
— Zerofalse
(значение по умолчанию) | true
Нулевая фаза, заданная как пара, разделенная запятой, состоящая из 'ZeroPhase'
и логического скаляра. Когда вы устанавливаете 'ZeroPhase'
на true
, нулевой фазовый отклик получившегося фильтра всегда положителен. Это позволяет вам выполнить спектральную факторизацию на результате и получить фильтр минимальной фазы из него.
Типы данных: логический
'PassbandWeight'
, 'PassbandWeight1'
, 'PassbandWeight2'
— Вес оптимизации полосы пропусканияВес оптимизации полосы пропускания, заданный как пара, разделенная запятой, состоящая из 'PassbandWeight'
и положительной скалярной величины.
'PassbandWeight1'
является весом оптимизации полосы пропускания нижней полосы для bandstop КИХ-проекта.
'PassbandWeight2'
является весом оптимизации полосы пропускания более высокой полосы для bandstop КИХ-проекта.
Типы данных: double
'StopbandWeight'
, 'StopbandWeight1'
, 'StopbandWeight2'
— Вес оптимизации полосы задерживанияВес оптимизации полосы задерживания, заданный как пара, разделенная запятой, состоящая из 'StopbandWeight'
и положительной скалярной величины.
'StopbandWeight1'
является весом оптимизации полосы задерживания нижней полосы для полосового КИХ-проекта.
'StopbandWeight2'
является весом оптимизации полосы задерживания более высокой полосы для полосового КИХ-проекта.
Типы данных: double
'Weights'
— Веса оптимизацииВеса оптимизации, заданные как пара, разделенная запятой, состоящая из 'Weights'
и положительной скалярной величины или вектора той же длины как 'Amplitudes'
.
Типы данных: double
'BandWeights1'
, '...'
, 'BandWeightsN'
— Многополосные весаМногополосные веса, заданные как пары, разделенные запятой, состоящие из 'BandWeightsi'
и набор положительных скалярных величин или векторов. 'BandWeightsi'
, где выполнения i от 1 до NumBands
, является скаляром или вектором, содержащим веса оптимизации i th полоса многополосного проекта. Если задано как вектор, 'BandWeightsi'
должен иметь ту же длину как 'BandAmplitudesi'
.
Типы данных: double
'SampleRate'
— Частота дискретизацииЧастота дискретизации, заданная как пара, разделенная запятой, состоящая из 'SampleRate'
и положительной скалярной величины, выразила в герц. Чтобы работать с нормированными частотами, установите 'SampleRate'
на 2, или просто не используйте его.
Типы данных: double
d
Цифровой фильтрdigitalFilter
Цифровой фильтр, возвращенный как объект digitalFilter
.
Если вы задаете неполный или противоречивый набор параметров проекта, designfilt
предлагает открывать Ассистент Проекта Фильтра.
(В описании аргумента для resp
существует полный список допустимых наборов спецификации для всех доступных типов ответа.)
Ассистент ведет себя по-другому, если вы вызываете designfilt
в командной строке или в рамках скрипта или функции.
Вам дают сигнал, выбранный на уровне 2 кГц. Вас просят разработать lowpass КИХ-фильтр, который подавляет частотные составляющие выше, чем 650 Гц. “Частота среза” походит на хорошего кандидата на параметр спецификации. В командной строке MATLAB вы вводите следующее.
Fsamp = 2e3; Fctff = 650; dee = designfilt('lowpassfir','CutoffFrequency',Fctff, ... 'SampleRate',Fsamp);
Что-то, кажется, неправильно, потому что это диалоговое окно появляется на вашем экране.
Вы нажимаете Yes и получаете новое диалоговое окно, которое предлагает генерировать код. Вы видите, что переменные, которые вы задали прежде, были вставлены, где ожидается.
После исследования некоторых опций предложил, вы решаете протестировать исправленный фильтр. Вы нажимаете OK и получаете следующий код по командной строке.
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. Нажмите OK и визуализируйте получившийся фильтр.
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 кГц. Вас просят разработать фильтр highpass, который останавливает частоты ниже 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
, чтобы получить Ассистент Проекта Фильтра на вашем экране.
Вы видите проблему: Вы не задавали ограничение частоты. Вы также забыли устанавливать частоту дискретизации. После экспериментирования вы находите, что можно задать Frequency units как Hz
, Passband frequency, равный 700 Гц и Input Fs, равный 2 000 Гц. Design method изменяется от Butterworth
до Chebyshev type I
. Вы нажимаете OK и получаете следующее.
Ассистент правильно идентифицировал файл, где вы вызываете designfilt
. Нажмите Yes, чтобы принять изменение. Функция имеет исправленный код 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)
, чтобы отключить ассистент постоянно. Можно также нажать Do not show this message again в начальном диалоговом окне.
Можно установить designfilt
всегда исправлять дефектные спецификации без выяснения. Это действие устанавливает настройку MATLAB, которая может быть сброшена при помощи setpref
:
Используйте setpref('dontshowmeagain','filterDesignAssistantCodeCorrection',false)
, чтобы иметь designfilt
, правильный ваш код MATLAB, не прося подтверждение. Можно также нажать Always accept в поле диалогового окна подтверждения.
Используйте setpref('dontshowmeagain','filterDesignAssistantCodeCorrection',true)
, чтобы гарантировать, что designfilt
исправляет ваш код MATLAB только, когда вы подтверждаете, что хотите изменения. С этой командой можно отменить эффект наличия, нажал Always accept в поле диалогового окна подтверждения.
Существуют некоторые экземпляры, в которых, учитывая недопустимый набор спецификаций, designfilt
не предлагает Ассистенту Проекта Фильтра, или через диалоговое окно или через ссылку в сообщении об ошибке.
Вам не предлагают ассистент, если вы используете оценку секции кода, или от Панели инструментов MATLAB или путем нажатия Ctrl+Enter. (См., Делят Ваш Файл на Секции кода (MATLAB) для получения дополнительной информации.)
Вам не предлагают ассистент, если ваш код имеет множественные вызовы designfilt
, по крайней мере один из тех вызовов является неправильным, и
Вы вставляете код по командной строке и выполняете его путем нажатия Enter.
Вы выбираете код в Редакторе и выполняете его путем нажатия F9.
Вам не предлагают ассистент, если вы запускаете designfilt
с помощью анонимной функции. (См. Анонимные функции (MATLAB) для получения дополнительной информации.), Например, этот вход предлагает ассистенту.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.