Идентификация системы - это процесс идентификации коэффициентов неизвестной системы с помощью адаптивного фильтра. Общий обзор процесса показан в разделе Идентификация системы - использование адаптивного фильтра для идентификации неизвестной системы. Основными компонентами являются:
Алгоритм адаптивного фильтра.
Неизвестная система или процесс для адаптации. В этом примере фильтр разработан fir1 является неизвестной системой.
Соответствующие входные данные для осуществления процесса адаптации. В общей модели идентификации системы требуемый сигнал d (k) и входной сигнал x (k) используются для осуществления процесса адаптации.
Целью адаптивного фильтра является минимизация сигнала ошибки между выходом адаптивного фильтра y (k) и выходом неизвестной системы (или системы, которая должна быть идентифицирована) d (k). Как только сигнал ошибки минимизируется, адаптированный фильтр напоминает неизвестную систему. Коэффициенты обоих фильтров тесно совпадают.
Примечание.Если используется R2016a или более ранняя версия, замените каждый вызов объекта эквивалентным step синтаксис. Например, obj(x) становится step(obj,x).
Неизвестная система
Создать dsp.FIRFilter объект, представляющий идентифицируемую систему. Используйте fir1 функция для разработки коэффициентов фильтра. Проектируемый фильтр представляет собой цифровой фильтр нижних частот 10-го порядка с частотой отсечки 0,25.
filt =
dsp.FIRFilter with properties:
Structure: 'Direct form'
NumeratorSource: 'Property'
Numerator: [1x11 double]
InitialConditions: 0
Show all properties
Передать сигнал x к фильтру FIR. Требуемый сигнал 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
Постройте график результатов. Выходной сигнал очень близко соответствует требуемому сигналу, что делает ошибку между двумя сигналами близкой к нулю.
Коэффициенты КИХ-фильтра очень близко совпадают с коэффициентами адаптированного фильтра, тем самым подтверждая сходимость.