Вычисление выходных данных, ошибок и коэффициентов с помощью адаптивного фильтра КИХ частотной области
Панель системных инструментов DSP/Фильтрация/Адаптивные фильтры
Блок адаптивного фильтра частотной области реализует адаптивный фильтр с конечной импульсной характеристикой (FIR) в частотной области с использованием алгоритма быстрых блочных наименьших квадратов (LMS). Параметры Длина фильтра (Filter length) и Длина блока (Block length) определяют длину фильтра и значения длины блока, используемые алгоритмом. При установке флажка Выходные коэффициенты БПФ фильтра блок выводит дискретное преобразование Фурье текущих коэффициентов фильтра. Блок предлагает ограниченную и неограниченную версии алгоритма с секционированным и несекционированным режимами. Дополнительные сведения см. в разделе Алгоритмы.
Input - Ввод данныхСигнал, фильтруемый адаптивным фильтром КИХ частотной области. Вход данных и требуемый вход сигнала должны иметь одинаковый размер и тип данных. Длина входного вектора должна быть разделена на значение параметра Block length.
Ввод данных может быть сигналом переменного размера, если длина кадра кратна длине блока. Во время моделирования модели можно изменить количество элементов в векторе столбца.
Типы данных: single | double
Поддержка комплексного номера: Да
Desired - Требуемый сигналАдаптивный фильтр частотной области адаптирует свои веса фильтра, чтобы минимизировать ошибку, ошибку и сходить входной сигнал, чтобы как можно ближе соответствовать требуемому сигналу.
Входные данные и требуемый сигнал должны иметь одинаковый размер и тип данных. Длина требуемого вектора сигнала должна быть разделена на значение параметра 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, блок не обеспечивает утечки в способе адаптации.
Этот порт появляется при установке флажка Указать коэффициент утечки из порта.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Avrg - Ввод усредняющего коэффициентаУсредняющий коэффициент, используемый для вычисления мощности входного сигнала быстрого преобразования Фурье (БПФ) с экспоненциальным окном для обновления коэффициента, заданного как действительный скаляр в диапазоне (0,1].
Этот порт появляется при установке флажка Указать усредненный коэффициент из порта.
Типы данных: 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 - Разность между выходом и требуемым сигналомРазность между выходным сигналом и требуемым сигналом, возвращаемым в виде вектора столбца. Целью адаптивного фильтра является минимизация этой ошибки. Блок адаптирует свои веса так, чтобы они сходились к оптимальным весам фильтра, которые вырабатывают выходной сигнал, который максимально близко соответствует требуемому сигналу. Дополнительные сведения о вычислении ошибок см. в разделе Ссылки.
Типы данных: single | double
Поддержка комплексного номера: Да
FFTCoeffs - Текущие коэффициенты БПФ фильтраТекущее дискретное преобразование Фурье коэффициентов фильтра, возвращаемое в виде вектора строки. Для Constrained FDAF и Unconstrained FDAF алгоритмы, длина этого вектора равна сумме значений длины фильтра и длины блока. Этот порт первоначально выводит значения FFT параметра Initial time-domain cofficients. Во время моделирования модели этот порт выводит значения БПФ текущих коэффициентов фильтра.
Этот порт появляется при установке флажка FFT-коэффициенты выходного фильтра.
Типы данных: 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 - Размер шага адаптации1 (по умолчанию) | вещественный скаляр в диапазоне (0,1]Коэффициент размера шага адаптации, заданный как действительный скаляр в диапазоне (0,1]. Установка для параметра Step size значения 1 обеспечивает самую быструю сходимость во время адаптации.
Настраиваемый: Да
Этот параметр появляется при снятии флажка Указать размер шага из порта.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Specify leakage factor from port - Флаг для указания коэффициента утечкиЕсли этот флажок установлен, коэффициент утечки вводится через порт утечки. Если этот флажок снят, коэффициент утечки задается в диалоговом окне блока с помощью параметра «Коэффициент утечки».
LeakageFactor - Адаптационный коэффициент утечки1 (по умолчанию) | вещественный скаляр в диапазоне (0,1]Коэффициент утечки, используемый в адаптивном фильтре с утечкой, определяемый как действительный скаляр в диапазоне (0,1]. Если значение меньше 1блок реализует дрейфующий адаптивный алгоритм. Когда значение равно 1, блок не обеспечивает утечки в способе адаптации.
Настраиваемый: Да
Этот параметр появляется при снятии флажка Указать коэффициент утечки из порта.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Specify averaging factor from port - Флаг для указания коэффициента усредненияЕсли этот флажок установлен, коэффициент усреднения мощности сигнала вводится через порт Avrg. Если этот флажок снят, коэффициент усреднения задается в диалоговом окне блока с помощью параметра «Коэффициент усреднения».
Averaging factor - Коэффициент усреднения мощности сигнала0.9 (по умолчанию) | вещественный скаляр в диапазоне (0,1]Усредняющий коэффициент, используемый для вычисления экспоненциально оконных мощностей входного сигнала БПФ для обновления коэффициента, заданного как действительный скаляр в диапазоне (0,1].
Настраиваемый: Да
Этот параметр появляется при снятии флажка Указать усредненный коэффициент из порта.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Specify offset from port - Флаг для указания смещенияЕсли этот флажок установлен, смещение для членов нормализации в обновлениях коэффициентов вводится через порт смещения. Если этот флажок снят, смещение задается в диалоговом окне блока с помощью параметра «Смещение».
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 - Флаг для сброса внутренних состоянийЕсли этот флажок установлен, входной порт сброса включен. При вводе ненулевого скалярного значения через этот порт блок сбрасывает все внутренние состояния. При вводе нуля через этот порт внутренние состояния не сбрасываются.
Output filter FFT coefficients - Флаг для вывода DFT коэффициентов фильтраЕсли этот флажок установлен, порт вывода FFTCoeffs включен. Через этот порт блок выводит дискретное преобразование Фурье текущих коэффициентов фильтра.
Simulate using - Тип выполняемого моделированияCode generation (по умолчанию) | Interpreted execution
Code generation
Моделирование модели с использованием сгенерированного кода C. При первом запуске моделирования Simulink ® генерирует код C для блока. Код C используется повторно для последующего моделирования, если модель не изменяется. Этот параметр требует дополнительного времени запуска, но обеспечивает более высокую скорость моделирования, чемInterpreted execution.
Interpreted execution
Моделирование модели с помощью интерпретатора MATLAB ®. Эта опция сокращает время запуска, но имеет более низкую скорость моделирования, чемCode generation.
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
Адаптивная фильтрация в частотной области состоит из трех этапов - фильтрация, оценка ошибок и адаптация веса отводов. Этот алгоритм реализует фильтрацию FIR в частотной области с использованием метода overlap-save или overlap-add. Дополнительные сведения о реализации этих двух методов см. в разделе Алгоритмы в dsp.FrequencyDomainFIRFilter страница объекта. Оценка ошибок и адаптация веса отводов реализуются с использованием алгоритма быстрого блочного LMS (FBLMS).
Адаптивный фильтр частотной области обрабатывает входные данные и требуемые данные сигнала как блок выборок с использованием алгоритма быстрого блока LMS (FBLMS). Ниже приведена блок-схема адаптивного фильтра частотной области с использованием алгоритма FBLMS. Фильтр FIR частотной области на этой диаграмме использует метод наложения-сохранения.

где:
N -- Длина фильтра
L -- Длина блока
λ -- Параметр размера шага
x (n) -- Входной сигнал
X (k) - преобразованный входной сигнал в частотной области
d (n) -- Требуемый сигнал
e (n) - Ошибка между требуемым сигналом и выходом фильтра
E (n) - преобразованный сигнал ошибки в частотной области
W (k) -- Вектор «Tap-weights» в частотной области
Для получения дополнительной информации о том, как оценивается ошибка и адаптируются веса отводов, см. [2].
Предыдущая схема является ограниченной версией. При удалении части алгоритма, связанной с градиентом, имеется реализация FBLMS без ограничений. Подробнее о поведении сходимости как зависимых, так и неограниченных вариаций см. [2].
Задержка фильтра приблизительно равна длине КИХ-числителя. Если импульсная характеристика фильтра очень велика, задержка становится значительно большой. Секционированный алгоритм FBLMS уменьшает задержки за счет секционирования импульсной характеристики. Неразделенная КИХ-фильтрация в частотной области выполняется быстрее, чем фильтрация во временной области для длинных импульсных откликов, за счет увеличенной задержки. Чтобы уменьшить задержку и сделать фильтрацию в частотной области еще более эффективной, алгоритм разбивает импульсную характеристику на множество коротких блоков и выполняет наложение-сохранение или наложение на каждый блок. Результаты различных блоков затем объединяются для получения конечного результата. Задержка этого подхода имеет порядок длины блока, а не всю длину импульсной характеристики. Это уменьшение задержки происходит за счет дополнительных вычислений. Для получения дополнительной информации о реализации см. [2].
[1] Shynk, J.J. «Частотно-доменная и многоскоростная адаптивная фильтрация». Журнал IEEE Signal Processing Magazine, том 9, № 1, стр. 14-37, январь 1992 года.
[2] Фарханг-Боруджени, Б., Адаптивные фильтры: теория и применение, Чичестер, Англия, Уайли, 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.RLSFilter1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.