Система идентификации является процессом идентификации коэффициентов неизвестной системы с помощью адаптивного фильтра. Общий обзор процесса, как показывают, в System Identification – Используя Адаптивный Фильтр Идентифицирует Неизвестную Систему. Основные включенные компоненты:
Адаптивный алгоритм фильтра.
Неизвестная система или процесс, чтобы адаптироваться к. В этом примере фильтр спроектирован fir1
неизвестная система.
Соответствующие входные данные, чтобы осуществить процесс адаптации. В типовой модели системы идентификации желаемый сигнал d (k) и входной сигнал x (k) используются, чтобы осуществить процесс адаптации.
Цель адаптивного фильтра состоит в том, чтобы минимизировать сигнал ошибки между выходом адаптивного фильтра y (k) и выходом неизвестной системы (или системы, которая будет идентифицирована) d (k). Если сигнал ошибки минимизирован, адаптированный фильтр напоминает неизвестную систему. Коэффициенты обоих фильтры соответствуют тесно.
Примечание: Если вы используете R2016a или ранее, заменяете каждый вызов объекта с эквивалентным step
синтаксис. Например, obj(x)
становится step(obj,x)
.
Неизвестная система
Создайте dsp.FIRFilter
объект, который представляет систему, которая будет идентифицирована. Используйте fir1
функционируйте, чтобы спроектировать коэффициенты фильтра. Спроектированный фильтр является 10-м порядком цифровой фильтр lowpass с частотой среза 0,25.
filt =
dsp.FIRFilter with properties:
Structure: 'Direct form'
NumeratorSource: 'Property'
Numerator: [-0.0039 1.7585e-18 0.0321 0.1167 0.2207 0.2687 ... ]
InitialConditions: 0
Show all properties
Передайте x
сигнала
к КИХ-фильтру. Желаемый d
сигнала
сумма выхода неизвестной системы (КИХ-фильтр), и аддитивный шум сигнализируют о n
.
Адаптивный фильтр
С неизвестным спроектированным фильтром и желаемый сигнал на месте, создайте и примените быстрый трансверсальный объект фильтра, чтобы идентифицировать неизвестный фильтр.
Создайте dsp.FastTransversalFilter
объект представлять адаптивный фильтр. Установите длину адаптивного фильтра к 11 касаниям и фактору упущения 0,99.
ftf1 =
dsp.FastTransversalFilter with properties:
Method: 'Fast transversal least-squares'
Length: 11
ForgettingFactor: 0.9900
InitialPredictionErrorPower: 10
InitialCoefficients: 0
InitialConversionFactor: 1
LockCoefficients: false
Передайте сигнал первичного входного параметра x
и желаемый d
сигнала
к быстрому трансверсальному фильтру. Запустите адаптивный фильтр, чтобы определить неизвестную систему. Выход y
из адаптивного фильтра сигнал, сходившийся к желаемому d
сигнала
, таким образом, минимизируя ошибку e
между двумя сигналами.
w = 1×11
-0.0043 0.0016 0.0308 0.1171 0.2204 0.2677 0.2210 0.1181 0.0323 0.0013 -0.0037
Постройте график результатов. Выходной сигнал совпадает с желаемым сигналом очень тесно совершение ошибки между двумя близко к нулю.
Коэффициенты КИХ-фильтра соответствуют очень тесно с коэффициентами адаптированного фильтра, таким образом, подтверждая сходимость.