Вычислите выход, ошибки и коэффициенты, используя частотный диапазон конечной импульсной характеристики адаптивный фильтр
DSP System Toolbox/Фильтрация/Адаптивные фильтры
Блок Frequency-Domain Adaptive Filter реализует адаптивный фильтр с конечной импульсной характеристикой (КИХ) в частотный диапазон с использованием алгоритма наименьших квадратов (LMS) быстрого блока. Параметры Filter length и Block length определяют длину фильтра и значения длины блока, используемые алгоритмом. Когда вы устанавливаете флажок Output filter FFT coefficients, блок выводит дискретное преобразование Фурье коэффициентов текущего фильтра. Блок предлагает ограниченные и неограниченные версии алгоритма с секционированными и несекционированными режимами. Для получения дополнительной информации смотрите Алгоритмы.
Input
- Вход данныхСигнал, который будет фильтроваться частотной конечной импульсной характеристикой адаптивным фильтром. Вход данных и требуемый вход сигнала должны иметь одинаковый размер и тип данных. Длина входного вектора должна быть разделена на Block length значения параметров.
Вход данных может быть сигналом переменного размера, пока длина системы координат кратна Block length. Количество элементов в вектор-столбец можно изменить во время симуляции модели.
Типы данных: single
| double
Поддержка комплексного числа: Да
Desired
- Желаемый сигналАдаптивный фильтр частотного диапазона адаптирует свои веса фильтра, чтобы минимизировать ошибку, Error и сходиться входной сигнал, чтобы максимально точно соответствовать желаемому сигналу.
Вход данных и требуемый сигнал должны иметь одинаковый размер и тип данных. Длина необходимого вектора сигнала должна быть делится на Block length значение параметров.
Желаемый сигнал может быть сигналом переменного размера, пока длина системы координат кратна Block length. Количество элементов в вектор-столбец можно изменить во время симуляции модели.
Типы данных: single
| double
Поддержка комплексного числа: Да
Mu
- Вход размера шагаКоэффициент размера шага адаптации, заданный как действительный скаляр в области значений (0,1]. Использование небольшого размера шага обеспечивает небольшую установившуюся ошибку. Однако небольшой размер шага уменьшает полученную скорость сходимости адаптивного фильтра. Увеличение размера шага улучшает скорость сходимости за счет увеличения средней квадратичной невязки в установившемся состоянии. Когда значение размера шага 1
алгоритм обеспечивает оптимальный компромисс между скоростью сходимости и средней квадратичной невязкой в установившемся состоянии.
Этот порт появляется, когда вы выбираете параметр Specify step size from port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Leak
- Вход коэффициента утечкиКоэффициент утечки, используемый в утечечном адаптивном фильтре, указанный как действительный скаляр в области значений (0,1]. Когда значение меньше 1, блок реализует утечку адаптивного алгоритма. Когда значение 1
блок не обеспечивает утечки в способе адаптации.
Этот порт появляется при установке флажка Specify leakage factor from port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Avrg
- Входной коэффициент усредненияСредний коэффициент для вычисления экспоненциально оконного быстрого преобразования Фурье (FFT) входного сигнала степеней для обновлений коэффициентов, заданный как действительный скаляр в диапазоне (0,1].
Этот порт появляется при установке флажка Specify averaging factor from port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Offset
- Смещение для терминов нормализацииСмещение для членов нормализации в обновлениях коэффициентов, заданное как неотрицательное действительное скалярное значение. Используйте это значение, чтобы избежать деления на нули или деления на очень маленькие числа, если какая-либо из степеней входного сигнала БПФ становится очень маленькой.
Этот порт появляется при установке флажка Specify offset from port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Adapt
- Включите обновление коэффициентов фильтраЕсли вы вводите ненулевое скалярное значение через этот порт, блок постоянно обновляет свои коэффициенты фильтра. Если вы вводите нуль через этот порт, коэффициенты фильтра не обновляются, и их значения остаются на текущем значении.
Этот порт появляется при установке флажка Enable adapt port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Reset
- Включить сброс состояний фильтраЕсли вы вводите ненулевое скалярное значение через этот порт, блок сбрасывает все внутренние состояния. Если вы вводите нуль через этот порт, внутренние состояния не сбрасываются.
Этот порт появляется при установке флажка Enable reset port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Output
- Отфильтрованный выходФильтрация выхода, возврат как вектор-столбец. Блок адаптирует свои веса фильтра, чтобы сходиться входной сигнал, чтобы максимально точно соответствовать желаемому сигналу. Фильтр выводит сходимый сигнал.
Типы данных: single
| double
Поддержка комплексного числа: Да
Error
- Различие между выходным и желаемым сигналомРазличие между выходом сигналом и желаемым сигналом, возвращаемый как вектор-столбец. Цель адаптивного фильтра состоит в том, чтобы минимизировать эту ошибку. Блок адаптирует свои веса, чтобы сходиться к оптимальным весам фильтра, которые формируют сигнал выхода, который максимально близко совпадает с желаемым сигналом. Для получения дополнительной информации о том, как Error вычисляется, смотрите Ссылки.
Типы данных: single
| double
Поддержка комплексного числа: Да
FFTCoeffs
- Токовые коэффициенты БПФ фильтраТекущее дискретное преобразование Фурье коэффициентов фильтра, возвращаемое как вектор-строка. Для Constrained FDAF
и Unconstrained FDAF
алгоритмов, длина этого вектора равна сумме Filter length значения и Block length значения. Этот порт первоначально выводит значения БПФ параметра Initial time-domain coefficients. Во время симуляции модели этот порт выводит значения БПФ коэффициентов текущего фильтра.
Этот порт появляется при установке флажка Output filter FFT coefficients.
Типы данных: single
| double
Поддержка комплексного числа: Да
Method
- Метод вычисления коэффициентов фильтраConstrained FDAF
(по умолчанию) | Partitioned constrained FDAF
| Unconstrained FDAF
| Partitioned unconstrained FDAF
Метод, используемый для вычисления коэффициентов фильтра, заданный как::
Constrained FDAF
- Накладывает градиентное ограничение на веса отводов фильтра.
Partitioned constrained FDAF
- Разделяет импульсную характеристику фильтра, чтобы уменьшить задержку.
Unconstrained FDAF
- Никакое градиентное ограничение не накладывается на веса отводов фильтра.
Partitioned unconstrained FDAF
- Разделяет импульсную характеристику фильтра, чтобы уменьшить задержку. Ограничения градиента не накладываются на веса отводов фильтра.
Для получения дополнительной информации см. «Алгоритмы».
Filter length
- Длина вектора коэффициентов фильтра32
(по умолчанию) | положительный, цельный скалярДлина вектора коэффициентов конечной импульсной характеристики, заданная как положительный, целочисленный скаляр.
Block length
- Длина блока для обновлений коэффициентов32
(по умолчанию) | положительный, цельный скалярДлина блока для обновления коэффициентов, заданная как положительный, целочисленный скаляр. Адаптивный фильтр обрабатывает входные данные и требуемый сигнал как блок выборок длины, заданной этим параметром. Для получения дополнительной информации о том, как эти данные обрабатываются фильтром, смотрите Алгоритмы. Длина входного вектора должна быть разделена на Block length значения параметров. Значение по умолчанию параметра Block length устанавливается на значение параметра Filter length.
Specify step size from port
- Флаг для задания размера шагаПри установке этого флажка размер шага адаптации вводится через порт Mu. Когда вы снимаете этот флажок, размер шага задается в диалоговом окне блока параметром Step size.
Step size
- Размер шага адаптации1
(по умолчанию) | действительный скаляр в области значений (0,1]Коэффициент размера шага адаптации, заданный как действительный скаляр в области значений (0,1]. Установка параметра Step size равной 1
обеспечивает самую быструю сходимость во время адаптации.
Настраиваемый: Да
Этот параметр появляется при снятии флажка Specify step size from port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Specify leakage factor from port
- Флаг для определения коэффициента утечкиПри установке этого флажка коэффициент утечки вводится через порт Leak. При снятии этого флажка коэффициент утечки задается в диалоговом окне блока параметром Leakage factor.
LeakageFactor
- Коэффициент утечек при адаптации1
(по умолчанию) | действительный скаляр в области значений (0,1]Коэффициент утечки, используемый в утечечном адаптивном фильтре, указанный как действительный скаляр в области значений (0,1]. Когда значение меньше 1
, блок реализует утечку адаптивного алгоритма. Когда значение 1
блок не обеспечивает утечки в способе адаптации.
Настраиваемый: Да
Этот параметр появляется при снятии флажка Specify leakage factor from port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Specify averaging factor from port
- Флаг для задания коэффициента усредненияПри установке этого флажка коэффициент усреднения для степени сигнала вводится через порт Avrg. Когда вы снимаете этот флажок, коэффициент усреднения задается в диалоговом окне блока посредством параметра Averaging factor.
Averaging factor
- Средний коэффициент для степени сигнала0.9
(по умолчанию) | действительный скаляр в области значений (0,1]Средний коэффициент, используемый для вычисления экспоненциально оконного входного сигнала БПФ степеней для обновлений коэффициентов, заданных как действительный скаляр в область значений (0,1].
Настраиваемый: Да
Этот параметр появляется при снятии флажка Specify averaging factor from port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Specify offset from port
- Флаг для задания смещенияПри установке этого флажка смещение для членов нормализации в обновлениях коэффициентов вводится через Offset порт. Когда вы снимаете этот флажок, смещение задается в диалоговом окне блока параметром Offset.
Offset
- Смещение для терминов нормализации0
(по умолчанию) | неотрицательным вещественным скаляромСмещение для членов нормализации в обновлениях коэффициентов, заданное как неотрицательное действительное скалярное значение. Используйте это значение, чтобы избежать деления на нули или деления на очень маленькие числа, если какая-либо из степеней входного сигнала БПФ становится очень маленькой.
Настраиваемый: Да
Этот параметр появляется при снятии флажка Specify offset from port.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Initial FFT input signal power
- Начальная степень входного сигнала БПФ1
(по умолчанию) | положительный числовой скалярНачальное общее значение всех степеней входного сигнала БПФ, заданное как положительное числовое скалярное значение.
Если вы изменяете это значение во время симуляции, изменение вступает в эффект только после наступления события сброса.
Настраиваемый: Да
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Initial time-domain coefficients
- Начальные коэффициенты временной области фильтра0
(по умолчанию) | скалярный вектор |Начальные коэффициенты временной области адаптивного фильтра, заданные в виде скаляра или вектора длины, равной значению, заданному вами в параметре Filter length. Блок адаптивного фильтра использует эти коэффициенты, чтобы вычислить начальные коэффициенты фильтра частотного диапазона.
Если вы изменяете это значение во время симуляции, изменение вступает в эффект только после наступления события сброса.
Настраиваемый: Да
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Enable adapt port
- Флаг для включения обновления коэффициентаПри установке этого флажка активируется Adapt входной порт. Если вы вводите ненулевое скалярное значение через этот порт, блок постоянно обновляет свои коэффициенты фильтра. Если вы вводите нуль через этот порт, коэффициенты фильтра не обновляются, и их значения остаются на текущем значении.
Enable reset port
- Флаг для сброса внутренних состоянийПри установке этого флажка активируется Reset входной порт. Если вы вводите ненулевое скалярное значение через этот порт, блок сбрасывает все внутренние состояния. Если вы вводите нуль через этот порт, внутренние состояния не сбрасываются.
Output filter FFT coefficients
- Флаг для вывода ДПФ коэффициентов фильтраПри установке этого флажка включается FFTCoeffs выходной порт. Через этот порт блок выводит дискретное преобразование Фурье коэффициентов текущего фильтра.
Simulate using
- Тип выполняемой симуляцииCode generation
(по умолчанию) | Interpreted execution
Code generation
Симулируйте модель с использованием сгенерированного кода C. Первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С повторно используется для последующих симуляций, пока модель не меняется. Эта опция требует дополнительного времени запуска, но обеспечивает более высокую скорость симуляции, чем Interpreted execution
.
Interpreted execution
Симулируйте модель с помощью MATLAB® интерпретатор. Эта опция сокращает время запуска, но имеет более низкую скорость симуляции, чем Code generation
.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Адаптивная фильтрация частотного диапазона состоит из трех шагов - фильтрация, оценка ошибки и адаптация к весу отвода. Этот алгоритм реализует конечную импульсную характеристику фильтрацию в частотный диапазон с помощью overlap-save или метода перекрытия-суммы. Для получения дополнительной детали реализации этих двух методов см. Раздел «Алгоритмы» в dsp.FrequencyDomainFIRFilter
страница объекта. Оценка ошибки и адаптация веса отвода реализованы с помощью LMS-алгоритма быстрого блока (FBLMS).
Адаптивный фильтр частотного диапазона обрабатывает входные данные и требуемые данные сигнала как блок выборок, используя алгоритм FBLMS (FBLMS). Вот блок адаптивного фильтра частотного диапазона с использованием алгоритма FBLMS. Фильтр частотного диапазона конечной импульсной характеристики в этой схеме использует метод сохранения перекрытия.
где:
N -- Длина фильтра
L -- Длина блока
μ -- Параметр размера шага
x(n) -- Входной сигнал
X(k) -- Преобразованный входной сигнал в частотный диапазон
d(n) -- Желаемый сигнал
e(n) -- Ошибка между желаемым сигналом и выходом фильтра
E(n) -- Преобразованный сигнал ошибки в частотный диапазон
W(k) -- Вектор весов касания в частотный диапазон
Для получения дополнительной информации о том, как вычисляется ошибка и адаптируются веса отводов, см. [2].
Предыдущая схема является ограниченной версией. Если вы удалите фрагмент градиента алгоритма, у вас есть реализация FBLMS без ограничений. Для получения дополнительной информации о сходимости как ограниченных, так и без ограничений изменений, см. [2].
Задержка фильтра примерно равна длине числителя конечной импульсной характеристики. Если импульсная характеристика фильтра очень длинная, задержка становится значительно большой. Разбиенный алгоритм FBLMS уменьшает задержку путем разбиения импульсной характеристики. Неоднородная фильтрация частотного диапазона конечной импульсной характеристики быстрее, чем фильтрация во временной области для длинных импульсных характеристик, за счет увеличения задержки. Чтобы уменьшить задержку и сделать фильтрацию частотного диапазона еще более эффективной, алгоритм разбивает импульсную характеристику на несколько коротких блоков и выполняет сохранение перекрытия или увеличение перекрытия на каждом блоке. Результаты различных блоков затем объединяются, чтобы получить конечный выход. Задержка этого подхода соответствует порядку длины блока, а не всей длине импульсной характеристики. Это сокращение задержки происходит за счет дополнительных расчетов. Для получения дополнительной информации о реализации см. раздел [2].
[1] Shynk, J.J. «Frequency-Domain and Multirate Adaptive Filtering». Журнал IEEE Signal Processing Magazine, том 9, № 1, стр. 14-37, январь 1992 года.
[2] Farhang-Boroujeny, B., Adaptive Filters: Theory and Applications, Chichester, England, Wiley, 1998.
[3] Стокхэм, Т. Г., младший «Высокоскоростная свертка и корреляция». Материалы Весенней совместной компьютерной конференции 1966 года, AFIPS, том 28, 1966, стр. 229-233.
dsp.AdaptiveLatticeFilter
| dsp.AffineProjectionFilter
| dsp.FastTransversalFilter
| dsp.FilteredXLMSFilter
| dsp.FIRFilter
| dsp.FrequencyDomainAdaptiveFilter
| dsp.FrequencyDomainFIRFilter
| dsp.LMSFilter
| dsp.RLSFilter
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.