{"id":292324,"date":"2019-07-19T21:00:16","date_gmt":"2019-07-19T21:00:16","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=292324"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=292324","title":{"rendered":"\u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f: \u043e\u0442 \u043c\u0435\u0442\u043e\u0434\u0430 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0441\u043f\u0443\u0441\u043a\u0430 \u0434\u043e \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u044b\u0445 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432"},"content":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\">\n<p>\u0420\u0430\u0437\u0432\u0438\u0432\u0430\u044f \u0442\u0435\u043c\u0443 \u043a\u043e\u043d\u0441\u043f\u0435\u043a\u0442\u043e\u0432 \u043f\u043e \u043c\u0430\u0433\u0438\u0441\u0442\u0435\u0440\u0441\u043a\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 &#171;Communication and Signal Processing&#187; (TU Ilmenau), \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0442\u0435\u043c \u043a\u0443\u0440\u0441\u0430 <a href=\"https:\/\/www5.tu-ilmenau.de\/nt\/de\/teachings\/vorlesungen\/anwendungen_der_systemtheorie\/index.html\">&#171;Adaptive and Array Signal Processing&#187;<\/a>. \u0410 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c\u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  <\/p>\n<p><u>\u0414\u043b\u044f \u043a\u043e\u0433\u043e \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f:<br \/>  <\/u><br \/>  1) \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u0440\u0430\u0442\u0438\u0438 <a href=\"https:\/\/griat.kai.ru\/communications-and-signal-processing\">\u0440\u043e\u0434\u043d\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/a>;<br \/>  2) \u0434\u043b\u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0433\u043e\u0442\u043e\u0432\u044f\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0435\u043c\u0438\u043d\u0430\u0440\u044b, \u043d\u043e \u0435\u0449\u0451 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c \u2014 \u043d\u0438\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043d\u0430 <strong>python<\/strong> \u0438 <strong>Matlab\/Octave<\/strong>;<br \/>  3) \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043a\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u043c\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  <\/p>\n<p><u>\u0427\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c:<br \/>  <\/u><br \/>  1) \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0437 \u0442\u0435\u043e\u0440\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043e\u0444\u043e\u0440\u043c\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u0436\u0430\u0442\u043e, \u043d\u043e, \u043a\u0430\u043a \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u043e;<br \/>  2) \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432: \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u043a\u0432\u0430\u043b\u0430\u0439\u0437\u0435\u0440\u0430 \u0434\u043b\u044f \u0430\u043d\u0442\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u0448\u0435\u0442\u043a\u0438;<br \/>  3) \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0431\u0430\u0437\u0438\u0441\u043d\u0443\u044e \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 (\u043d\u0430 python), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u044b \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439.<\/p>\n<p>  <\/p>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c, \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0441\u0451 \u043f\u043e \u043f\u0443\u043d\u043a\u0442\u0430\u043c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/2f1\/98b\/d67\/2f198bd673789161db58ad770c629faf.jpg\"><\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<p><em>\u0417\u0430\u0434\u0443\u043c\u0447\u0438\u0432\u044b\u0439 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043d\u0430 \u0444\u043e\u0442\u043e \u2014 \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u043c\u043d\u043e\u0433\u0438\u043c, \u044f \u0434\u0443\u043c\u0430\u044e, \u041d\u043e\u0440\u0431\u0435\u0440\u0442 \u0412\u0438\u043d\u0435\u0440. \u0424\u0438\u043b\u044c\u0442\u0440 \u0435\u0433\u043e \u0438\u043c\u0435\u043d\u0438 \u043c\u044b, \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438, \u0438 \u0431\u0443\u0434\u0435\u043c \u0438\u0437\u0443\u0447\u0430\u0442\u044c. \u041e\u0434\u043d\u0430\u043a\u043e, \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u0438 \u043e \u043d\u0430\u0448\u0435\u043c \u0441\u043e\u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u0435 \u2014 \u0410\u043d\u0434\u0440\u0435\u0435 \u041d\u0438\u043a\u043e\u043b\u0430\u0435\u0432\u0438\u0447\u0435 \u041a\u043e\u043b\u043c\u043e\u0433\u043e\u0440\u043e\u0432\u0435, \u0447\u044c\u044f <a href=\"http:\/\/www.mathnet.ru\/links\/441fec07e07f42e7bc02c73edaff85fc\/im3775.pdf\">\u0441\u0442\u0430\u0442\u044c\u044f 1941 \u0433\u043e\u0434\u0430 <\/a> \u0442\u0430\u043a\u0436\u0435 \u0432\u043d\u0435\u0441\u043b\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0442\u0435\u043e\u0440\u0438\u0438 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u0430\u0436\u0435 \u0432 \u0430\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\u0445 \u0442\u0430\u043a \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <a href=\"http:\/\/depts.washington.edu\/sce2003\/Papers\/109.pdf\">Kolmogorov-Wiener filtering theory<\/a>.<\/em><\/p>\n<p>  <\/p>\n<h2 id=\"chto-rassmatrivaem\">\u0427\u0442\u043e \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c?<\/h2>\n<p>  <\/p>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0444\u0438\u043b\u044c\u0442\u0440 \u0441 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u043d\u043e\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u043e\u0439 (\u041a\u0418\u0425, FIR \u2014 finite impulse response), \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439 (\u0440\u0438\u0441. 1). <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/to\/or\/u7\/tooru7vj_f6aj0oe9wvpcde28kw.png\"><\/p>\n<p>  <\/p>\n<p><em>\u0420\u0438\u0441.1. \u0421\u0445\u0435\u043c\u0430 \u041a\u0418\u0425-\u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u0412\u0438\u043d\u0435\u0440\u0430.[1. c.117]<\/em><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0438\u0448\u0435\u043c \u0432 \u043c\u0430\u0442\u0440\u0438\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/43f\/615\/39b\/43f61539ba1f68998b24c39a8c539706.svg\" alt=\"e(n) = d(n) - \\hat{d}(n|\\mathcal{U}_n) =  d(n) - \\mathbf{w}^H\\mathbf{u} \\qquad(1)\"><\/div>\n<p>  <\/p>\n<p>\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u0443\u0435\u043c \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:<\/p>\n<p>  <\/p>\n<ul>\n<li><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/6c5\/882\/04e\/6c588204ed25c8bbb270106d7f08a4dd.svg\" alt=\"e(n)\"> \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u0438\u0446\u0430 (\u043e\u0448\u0438\u0431\u043a\u0430) \u043c\u0435\u0436\u0434\u0443 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u0430\u043c\u0438<\/li>\n<li><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/771\/807\/bef\/771807bef08a5612654d97e67695cf07.svg\" alt=\"d(n)\"> \u2014 \u044d\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b (<em>desired signal<\/em>)<\/li>\n<li><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/960\/b4e\/a48\/960b4ea48f3968f42c64eed1af640e1d.svg\" alt=\"\\mathbf{u}\"> \u2014 \u044d\u0442\u043e \u0432\u0435\u043a\u0442\u043e\u0440 \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432 \u0438\u043b\u0438, \u0438\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430<\/li>\n<li><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/75f\/f22\/a5a\/75ff22a5a4f95cbe489056bf704597f0.svg\" alt=\"\\hat{d}(n|\\mathcal{U}_n)\"> \u2014 \u044d\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430<\/li>\n<li><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/6f6\/81f\/9be\/6f681f9be2ae30d1666fec498b59b3a3.svg\" alt=\"\\mathbf{w}^H\"> \u2014 \u044d\u0442\u043e \u044d\u0440\u043c\u0438\u0442\u043e\u0432\u043e \u0441\u043e\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u2014 <u>\u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0438\u0445 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0434\u0431\u043e\u0440\u0435 \u0438 \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440\u0430<\/u><\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0432\u044b \u0443\u0436\u0435 \u0434\u043e\u0433\u0430\u0434\u0430\u043b\u0438\u0441\u044c, \u0447\u0442\u043e \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u044c\u0441\u044f \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043a \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u0440\u0430\u0437\u043d\u0438\u0446\u0435 \u043c\u0435\u0436\u0434\u0443 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c, \u0442\u043e \u0435\u0441\u0442\u044c \u043a \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u043e\u0448\u0438\u0431\u043a\u0435. \u0410 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u044b\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430.<\/p>\n<p>  <\/p>\n<h2 id=\"chto-budem-optimizirovat\">\u0427\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c?<\/h2>\n<p>  <\/p>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0430 \u0442\u043e\u0447\u043d\u0435\u0435 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0443, <strong>\u0441\u0440\u0435\u0434\u043d\u044e\u044e \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u0447\u043d\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443<\/strong> (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Mean_squared_error\">MSE \u2014 Mean Sqared Error<\/a>):<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b83\/b62\/193\/b83b62193ca3490681c2cd8910e4d99a.svg\" alt=\"MSE: J(\\mathbf{w}) = E\\{e(n)^2\\} \\qquad (2)\"><\/div>\n<p>  <\/p>\n<p>\u0433\u0434\u0435 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c48\/76a\/b10\/c4876ab1024579fa30ea997a45efd50a.svg\" alt=\"J(\\mathbf{w})\"> \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u0437\u0434\u0435\u0440\u0436\u0435\u043a (cost function) \u043e\u0442 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430, \u0430 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f39\/8e4\/ded\/f398e4ded6db9e55108d575a9b7d2f1f.svg\" alt=\"E\\{*\\}\"> \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043c\u0430\u0442. \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435.<\/p>\n<p>  <\/p>\n<p>\u041a\u0432\u0430\u0434\u0440\u0430\u0442 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u0438\u044f\u0442\u0435\u043d, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430 <em>\u0432\u044b\u043f\u0443\u043a\u043b\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/em> (\u044f \u043d\u0430\u0433\u0443\u0433\u043b\u0438\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u043e\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c\u0443 <em>convex optimization<\/em>), \u0447\u0442\u043e, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 <u>\u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u044d\u043a\u0441\u0442\u0440\u0435\u043c\u0443\u043c<\/u> (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u0438\u043d\u0438\u043c\u0443\u043c).<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/hr\/xj\/mb\/hrxjmbmimv7c2uvvicnuklqn9y0.png\"><\/p>\n<p>  <\/p>\n<p><em>\u0420\u0438\u0441.2. <a href=\"https:\/\/yadi.sk\/i\/pf6qmAItGk9QDw\">\u041f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044c \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u0447\u043d\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438<\/a>.<\/em><\/p>\n<p>  <\/p>\n<p>\u0423 \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 \u0435\u0441\u0442\u044c \u043a\u0430\u043d\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0444\u043e\u0440\u043c\u0430 [1, c.121]:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/5da\/121\/788\/5da121788f801656b55ee459c2f4d56d.svg\" alt=\"J(\\mathbf{w}) = \\sigma^2_d - \\mathbf{w}^H\\mathbf{p} - \\mathbf{p}^H\\mathbf{w} + \\mathbf{w}^H\\mathbf{R}\\mathbf{w} \\qquad (3)\"><\/div>\n<p>  <\/p>\n<p>\u0433\u0434\u0435 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/24f\/50c\/410\/24f50c410ab0c2ca3dd302c630c734e8.svg\" alt=\"\\sigma^2_d\"> \u2014 \u044d\u0442\u043e \u0434\u0438\u0441\u043f\u0435\u0440\u0441\u0438\u044f \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430, <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/82c\/861\/559\/82c86155992ccb2e83d6f9f3f9e92737.svg\" alt=\"\\mathbf{p} = E\\{\\mathbf{u}(n)d^*(n)\\}\"> \u2014 \u044d\u0442\u043e \u0432\u0435\u043a\u0442\u043e\u0440 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u0432\u0445\u043e\u0434\u043d\u044b\u043c \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c, \u0430 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/664\/01c\/a88\/66401ca883516093b2e73b7d519588ac.svg\" alt=\"\\mathbf{R} = E\\{\\mathbf{u}(n)\\mathbf{u}^H(n)\\}\"> \u2014 \u044d\u0442\u043e \u0432\u0435\u043a\u0442\u043e\u0440 \u0430\u0432\u0442\u043e\u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0412\u044b\u0432\u043e\u0434 \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0437\u0434\u0435\u0441\u044c (\u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043f\u043e\u043d\u0430\u0433\u043b\u044f\u0434\u043d\u0435\u0435).<\/b><\/p>\n<div class=\"spoiler_text\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/q6\/sw\/p5\/q6swp5meopsxauj7yvygkwuc7-g.png\" width=\"650\"><\/div>\n<\/div>\n<p>  <\/p>\n<p>\u041a\u0430\u043a \u043c\u044b \u0443\u0436\u0435 \u043e\u0442\u043c\u0435\u0442\u0438\u043b\u0438 \u0432\u044b\u0448\u0435, \u0435\u0441\u043b\u0438 \u043c\u044b \u0432\u0435\u0434\u0435\u043c \u0440\u0435\u0447\u044c \u043e \u0432\u044b\u043f\u0443\u043a\u043b\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u0442\u043e \u0438 \u044d\u043a\u0441\u0442\u0440\u0435\u043c\u0443\u043c (\u043c\u0438\u043d\u0438\u043c\u0443\u043c) \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u0438\u043d. \u0410 \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437\u0434\u0435\u0440\u0436\u0435\u043a (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u043d\u044e\u044e \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u0447\u043d\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443), \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0442\u0430\u043d\u0433\u0435\u043d\u0441 \u0443\u0433\u043b\u0430 \u043d\u0430\u043a\u043b\u043e\u043d\u0430 \u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0438\u043b\u0438, \u0438\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, <u>\u0447\u0430\u0441\u0442\u043d\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e<\/u> \u043f\u043e \u043d\u0430\u0448\u0435\u0439 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1cd\/d0b\/114\/1cdd0b114b5457761dd27338b4ee57f4.svg\" alt=\"\\frac{\\delta J(\\mathbf{w})}{\\delta w^*} = - \\mathbf{p} + \\mathbf{R}\\mathbf{w} \\qquad (4)\"><\/div>\n<p>  <\/p>\n<p>\u0412 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 (<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/ac6\/219\/d1c\/ac6219d1cc1885e6f5936e40b5c7a980.svg\" alt=\"\\mathbf{w} = \\mathbf{w}_{opt}\">), \u043e\u0448\u0438\u0431\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0440\u0438\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u0443\u044e \u043a \u043d\u0443\u043b\u044e:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/777\/46e\/9a7\/77746e9a7ab3ff9df3cf340da4b7238d.svg\" alt=\"\\mathbf{R}\\mathbf{w}_{opt} = \\mathbf{p}   \\qquad (5)\"><\/div>\n<p>  <\/p>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432\u043e\u0442 \u043e\u043d\u0430, \u043d\u0430\u0448\u0430 \u043f\u0435\u0447\u043a\u0430, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u043b\u044f\u0441\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435: \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 <u>\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439<\/u>. <\/p>\n<p>  <\/p>\n<h2 id=\"kak-budem-reshat\">\u041a\u0430\u043a \u0431\u0443\u0434\u0435\u043c \u0440\u0435\u0448\u0430\u0442\u044c?<\/h2>\n<p>  <\/p>\n<p>\u041d\u0443\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e \u043e\u0431\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0438\u0436\u0435, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0438 \u0443\u0447\u0435\u0431\u043d\u044b\u043c\u0438, \u0442\u0430\u043a \u043a\u0430\u043a <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1cf\/d71\/499\/1cfd714992b16fcc961ad10bcc855134.svg\" alt=\"\\mathbf{R}\"> \u0438 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1fa\/0e8\/e9e\/1fa0e8e9e33d7dbd533901bbf025bd9f.svg\" alt=\"\\mathbf{p}\"> \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b (\u0442\u043e \u0435\u0441\u0442\u044c \u0443 \u043d\u0430\u0441 \u0431\u044b\u043b\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043e\u043d\u044b\u0445). \u041e\u0434\u043d\u0430\u043a\u043e, \u0440\u0430\u0437\u0431\u043e\u0440 \u0442\u0430\u043a\u0438\u0445 \u0432\u043e\u0442 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u2014 \u044d\u0442\u043e \u043b\u0443\u0447\u0448\u0435\u0435, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432.<\/p>\n<p>  <\/p>\n<h3 id=\"analiticheskoe-reshenie\">\u0410\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435<\/h3>\n<p>  <\/p>\n<p>\u0420\u0435\u0448\u0430\u0442\u044c \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e, \u0442\u0430\u043a \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0432 \u043b\u043e\u0431 \u2014 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0445 \u043c\u0430\u0442\u0440\u0438\u0446:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/759\/c3e\/052\/759c3e052c502aa04fe6da682a41ea2a.svg\" alt=\"\\mathbf{w}_{opt} = \\mathbf{R}^{-1}\\mathbf{p}   \\qquad (6)\"><\/div>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f <strong>\u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c \u0412\u0438\u043d\u0435\u0440\u0430-\u0425\u043e\u043f\u0444\u0430<\/strong> (Wiener\u2013Hopf equation) \u2014 \u043e\u043d\u043e \u043d\u0430\u043c \u0435\u0449\u0451 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043d\u0435\u043a\u043e\u0433\u043e \u044d\u0442\u0430\u043b\u043e\u043d\u0430. <\/p>\n<p>  <\/p>\n<blockquote><p>\u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0435\u0441\u043b\u0438 \u0431\u044b\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u043e\u0442\u043e\u0448\u043d\u044b\u043c, \u0442\u043e, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0435\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e \u0434\u0435\u043b\u043e \u0432 \u043e\u0431\u0449\u0435\u043c \u0432\u0438\u0434\u0435, \u0442.\u0435. \u043d\u0435 \u0441 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/bd8\/f0f\/04a\/bd8f0f04a92fe1055c350d4e32a8a256.svg\" alt=\"^{-}\">, \u0430 \u0441 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/017\/3d5\/ed9\/0173d5ed99b25d00ec4245287142f165.svg\" alt=\"^+\"> (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Moore%E2%80%93Penrose_inverse#Definition\">\u043f\u0441\u0435\u0432\u0434\u043e-\u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a>):<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/003\/47f\/bca\/00347fbca15f40943c7fb7b20c38a3f9.svg\" alt=\"\\mathbf{R}^+ = \\mathbf{R}^H(\\mathbf{R}\\mathbf{R}^H)^{-1}\"> <\/p>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e, \u0430\u0432\u0442\u043e\u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435-\u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u043e\u0439 \u0438\u043b\u0438 \u0441\u0438\u043d\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0441\u0447\u0438\u0442\u0430\u0435\u043c, \u0447\u0442\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u044f \u043d\u0435\u0442.<\/p><\/blockquote>\n<p>\u0418\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438, \u0447\u0435\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u043d\u044f\u0442\u044c\u0441\u044f \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437\u0434\u0435\u0440\u0436\u0435\u043a (\u0442.\u0435. \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Minimum_mean_square_error\">MMSE<\/a> \u2014 minimum mean square error):<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c00\/d2d\/1f9\/c00d2d1f9427762a17deae92ae3ea77c.svg\" alt=\"J_{min} = J(\\mathbf{w}_{opt}) = \\sigma^2_d - \\mathbf{p}^H\\mathbf{R}^{-1}\\mathbf{p}  \\qquad (7)\"><\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0412\u044b\u0432\u043e\u0434 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0437\u0434\u0435\u0441\u044c (\u0442\u043e\u0436\u0435 \u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043f\u043e\u043a\u0440\u0430\u0441\u043e\u0447\u043d\u0435\u0435).<\/b><\/p>\n<div class=\"spoiler_text\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ds\/vh\/nx\/dsvhnxoudmo_qd4hesg_qkysdg8.jpeg\"><\/p>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>\u0425\u043e\u0440\u043e\u0448\u043e, \u043e\u0434\u043d\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0435\u0441\u0442\u044c.<\/p>\n<p>  <\/p>\n<h3 id=\"reshenie-iterativnym-metodom\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u043c<\/h3>\n<p>  <\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e, \u0434\u0430, \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0445 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u0438 \u0431\u0435\u0437 \u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u2014 \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e (<a href=\"https:\/\/www.eit.lth.se\/fileadmin\/eit\/courses\/ett042\/LEC\/notes7.pdf\">to save computations<\/a>). \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u043e\u0434\u043d\u043e\u0439 \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 <strong>\u043c\u0435\u0442\u043e\u0434 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0441\u043f\u0443\u0441\u043a\u0430<\/strong> (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Gradient_descent#Solution_of_a_linear_system\">method of steepest\/gradient descent<\/a>).<\/p>\n<p>  <\/p>\n<p>\u0421\u0443\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0432\u0435\u0441\u0442\u0438 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443: <\/p>\n<p>  <\/p>\n<ol>\n<li>\u0412\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u0441\u043a\u043e\u043c\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0432 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/231\/554\/6f0\/2315546f0e8aa127a8da693d41c53ff6.svg\" alt=\"\\mathbf{w}(0) = \\mathbf{0}\">)<\/li>\n<li>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0448\u0430\u0433 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/849\/a42\/16c\/849a4216c1bc55877bc86f4a97513f7a.svg\" alt=\"\\mu\"> (\u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c, \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043d\u0438\u0436\u0435).<\/li>\n<li>\u0418 \u0434\u0430\u043b\u0435\u0435, \u043a\u0430\u043a \u0431\u044b, \u0441\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u0441\u044f \u0432\u043d\u0438\u0437 \u043f\u043e \u043d\u0430\u0448\u0435\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u0438 (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u044d\u0442\u043e \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044c MSE) \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0448\u0430\u0433\u043e\u043c <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/849\/a42\/16c\/849a4216c1bc55877bc86f4a97513f7a.svg\" alt=\"\\mu\"> \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u043e\u0439 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u043e\u0439 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430.<\/li>\n<\/ol>\n<p>  <\/p>\n<p>\u041e\u0442\u0441\u044e\u0434\u0430 \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435: <em>gradient<\/em> \u2014 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u044b\u0439 \u0438\u043b\u0438 <em>steepest<\/em> \u2014 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u044b\u0439 <em>descent <\/em> \u2014 \u0441\u043f\u0443\u0441\u043a. <\/p>\n<p>  <\/p>\n<p>\u0413\u0440\u0430\u0434\u0438\u0435\u043d\u0442 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d: \u043f\u043e \u0441\u0443\u0442\u0438, \u043c\u044b \u043d\u0430\u0448\u043b\u0438 \u0435\u0433\u043e, \u043a\u043e\u0433\u0434\u0430 \u0434\u0438\u0444\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u0437\u0434\u0435\u0440\u0436\u0435\u043a (\u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044c \u0436\u0435 \u0432\u043e\u0433\u043d\u0443\u0442\u0430\u044f, \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435 \u0441 [1, \u0441. 220]). \u0417\u0430\u043f\u0438\u0448\u0435\u043c \u043a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0434\u043b\u044f \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u043a\u043e\u043c\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 (\u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430) [1, \u0441. 220]:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/6d6\/4ff\/7eb\/6d64ff7eb98c4274e05a33a3eb127933.svg\" alt=\"\\mathbf{w}(n+1) =  \\mathbf{w}(n) - \\mu [-\\mathbf{p} + \\mathbf{R}\\mathbf{w}(n)] \\qquad (8)\"><\/div>\n<p>  <\/p>\n<p>\u0433\u0434\u0435 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/fd6\/0b2\/b5b\/fd60b2b5be4b7e93a0d905dd970c314f.svg\" alt=\"n\"> \u2014 \u044d\u0442\u043e \u043d\u043e\u043c\u0435\u0440 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0432\u044b\u0431\u043e\u0440\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u0448\u0430\u0433\u0430. <\/p>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u0441\u044b\u043b\u043a\u0438:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u0448\u0430\u0433 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u043b\u0438 \u043d\u0443\u043b\u0435\u0432\u044b\u043c<\/li>\n<li>\u0448\u0430\u0433 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0438\u043c, \u0438\u043d\u0430\u0447\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043d\u0435 \u0441\u043e\u0439\u0434\u0435\u0442\u0441\u044f (\u0431\u0443\u0434\u0435\u0442, \u043a\u0430\u043a \u0431\u044b, \u043f\u0435\u0440\u0435\u0441\u043a\u0430\u043a\u0438\u0432\u0430\u0442\u044c \u043e\u0442 \u043a\u0440\u0430\u044f \u0434\u043e \u043a\u0440\u0430\u044f, \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u044f \u0432 \u044d\u043a\u0441\u0442\u0440\u0435\u043c\u0443\u043c)<\/li>\n<li>\u0448\u0430\u0433, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c, \u043d\u043e \u0438 \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u2014 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0431\u0443\u0434\u0435\u0442 \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u0412\u0438\u043d\u0435\u0440\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0443\u0436\u0435 \u0431\u044b\u043b\u0438 \u0434\u0430\u0432\u043d\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u044b [1, \u0441.222-226]:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/67d\/64a\/b6c\/67d64ab6cf46d3438791ccea853421fb.svg\" alt=\"0 &lt; \\mu &lt; \\frac{2}{\\lambda_{max}} \\qquad (9)\"><\/div>\n<p>  <\/p>\n<p>\u0433\u0434\u0435 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e5d\/fa8\/35d\/e5dfa835ded907ecd7cf2b56d7061307.svg\" alt=\"\\lambda_{max}\"> \u2014 \u044d\u0442\u043e \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0430\u0432\u0442\u043e\u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u044b <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1cf\/d71\/499\/1cfd714992b16fcc961ad10bcc855134.svg\" alt=\"\\mathbf{R}\">. <\/p>\n<p>  <\/p>\n<blockquote><p>\u041a\u0441\u0442\u0430\u0442\u0438 \u0433\u043e\u0432\u043e\u0440\u044f, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u2014 \u044d\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438. \u041f\u043e\u0434 \u044d\u0442\u043e \u0434\u0435\u043b\u043e \u0435\u0441\u0442\u044c \u0434\u0430\u0436\u0435 \u0446\u0435\u043b\u044b\u0439 <em>Eigen filter<\/em> (\u0441\u043c. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 1).<\/p><\/blockquote>\n<p>\u041d\u043e \u0438 \u044d\u0442\u043e, \u043a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u043d\u0435 \u0432\u0441\u0435. \u0415\u0441\u0442\u044c \u0438 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435, \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f4c\/3c2\/fdf\/f4c3c2fdf8ae926094bb67b391cd896b.svg\" alt=\"\\mu(n) = \\frac{\\mathbf{\\gamma}(n)^H\\mathbf{\\gamma}(n)}{\\mathbf{\\gamma}(n)^H\\mathbf{R}\\mathbf{\\gamma}(n)} \\qquad(10)\"><\/div>\n<p>  <\/p>\n<p>\u0433\u0434\u0435 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1b0\/4a6\/a31\/1b04a6a318f99ec501290f59c0f924ac.svg\" alt=\"\\mathbf{\\gamma}(n) = \\mathbf{p} - \\mathbf{R}\\mathbf{w}(n)\"> \u2014 \u044d\u0442\u043e \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442. \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u0444\u043e\u0440\u043c\u0443\u043b\u044b, \u0448\u0430\u0433 \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e, \u0442\u043e \u0435\u0441\u0442\u044c \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0412\u044b\u0432\u043e\u0434 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0437\u0434\u0435\u0441\u044c (\u043c\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438 &#8212; \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043e\u0442\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0431\u043e\u0442\u0430\u043d\u0430\u043c, \u043a\u0430\u043a \u044f).<\/b><\/p>\n<div class=\"spoiler_text\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/au\/hq\/0s\/auhq0sxrspaduxdkclqctns1xtw.jpeg\"><\/p>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>\u041e\u043a\u0435\u0439, \u043f\u043e\u0434 \u0432\u0442\u043e\u0440\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043c\u044b \u0442\u043e\u0436\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043f\u043e\u0447\u0432\u0443.<\/p>\n<p>  <\/p>\n<h2 id=\"a-nelzya-li-na-primerah\">\u0410 \u043d\u0435\u043b\u044c\u0437\u044f \u043b\u0438 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445?<\/h2>\n<p>  <\/p>\n<p>\u041d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0434\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c <strong>Python 3.6.4<\/strong>.<\/p>\n<p>  <\/p>\n<blockquote><p>\u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u2014 \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u0439, \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0434\u0432\u0443\u0445 \u043d\u0435\u0434\u0435\u043b\u044c. \u0427\u0430\u0441\u0442\u044c \u044f \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b \u043f\u043e\u0434 python (\u0432 \u0446\u0435\u043b\u044f\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u0441\u0440\u0435\u0434\u0438 \u0440\u0430\u0434\u0438\u043e\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432). \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u044b \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u0435 \u0432 \u0421\u0435\u0442\u0438 \u0435\u0449\u0451 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u044b\u0432\u0448\u0438\u0445 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432. <\/p><\/blockquote>\n<p>  <\/p>\n<pre><code class=\"python\">import numpy as np  import matplotlib.pyplot as plt from scipy.linalg import toeplitz  def convmtx(h,n):     return toeplitz(np.hstack([h, np.zeros(n-1)]),\\                            np.hstack([h[0], np.zeros(n-1)]))  def MSE_calc(sigmaS, R, p, w):     w = w.reshape(w.shape[0], 1)     wH = np.conj(w).reshape(1, w.shape[0])     p = p.reshape(p.shape[0], 1)     pH = np.conj(p).reshape(1, p.shape[0])     MSE = sigmaS - np.dot(wH, p) - np.dot(pH, w) + np.dot(np.dot(wH, R), w)     return MSE[0, 0]  def mu_opt_calc(gamma, R):     gamma = gamma.reshape(gamma.shape[0], 1)     gammaH = np.conj(gamma).reshape(1, gamma.shape[0])     mu_opt = np.dot(gammaH, gamma) \/ np.dot(np.dot(gammaH, R), gamma)     return mu_opt[0, 0]<\/code><\/pre>\n<p>  <\/p>\n<p>\u041d\u0430\u0448 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440 \u043c\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 <u>\u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u0430 (channel equalization)<\/u>, \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0446\u0435\u043b\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0438\u0432\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430 \u043d\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b.<\/p>\n<p>  <\/p>\n<blockquote><p>\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043e\u0434\u043d\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/gist.github.com\/kirlf\/8e77cc17b7b1be4e35dbf651ff82f759#file-steepest_descent_linear_filter-py\">\u0437\u0434\u0435\u0441\u044c<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Steepest_descent.png\">\u0437\u0434\u0435\u0441\u044c<\/a> (\u0434\u0430, \u0431\u044b\u043b\u043e \u0443 \u043c\u0435\u043d\u044f \u0442\u0430\u043a\u043e\u0435 \u0445\u043e\u0431\u0431\u0438 \u2014 \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u044e \u043f\u0440\u0430\u0432\u0438\u0442\u044c).<\/p><\/blockquote>\n<p>  <\/p>\n<h3 id=\"model-sistemy\">\u041c\u043e\u0434\u0435\u043b\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h3>\n<p>  <\/p>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0435\u0441\u0442\u044c \u0430\u043d\u0442\u0435\u043d\u043d\u0430\u044f \u0440\u0435\u0448\u0435\u0442\u043a\u0430 (\u0435\u0451 \u043c\u044b \u0443\u0436\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e <a href=\"https:\/\/habr.com\/ru\/post\/446674\/\">MUSIC<\/a>).<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/61a\/9c2\/da7\/61a9c2da745081459f9001d0252936f1.png\"><\/p>\n<p>  <\/p>\n<p><em>\u0420\u0438\u0441. 3. \u041d\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0430\u043d\u0442\u0435\u043d\u043d\u0430\u044f \u0440\u0435\u0448\u0435\u0442\u043a\u0430 (ULAA \u2014 uniform linear antenna array) [2, \u0441. 32].<\/em><\/p>\n<p>  <\/p>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0435\u0448\u0435\u0442\u043a\u0438:<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">M = 5 #  \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0435\u0448\u0435\u0442\u043a\u0438 (number of sensors)<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 <u>\u0448\u0438\u0440\u043e\u043a\u043e\u043f\u043e\u043b\u043e\u0441\u043d\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430 \u0441 \u0437\u0430\u043c\u0438\u0440\u0430\u043d\u0438\u044f\u043c\u0438<\/u>, \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u043e\u0439 \u0447\u0435\u0440\u0442\u043e\u0439 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <u>\u043c\u043d\u043e\u0433\u043e\u043b\u0443\u0447\u0435\u0432\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435<\/u>. \u0414\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u043b\u0443\u0447 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b (\u0440\u0438\u0441. 4).<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/3t\/tc\/va\/3ttcvau0o4njat-1beejefcudpy.png\"><\/p>\n<p>  <\/p>\n<p><em>\u0420\u0438\u0441. 4. \u041c\u043e\u0434\u0435\u043b\u044c \u0448\u0438\u0440\u043e\u043a\u043e\u043f\u043e\u043b\u043e\u0441\u043d\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430 \u043f\u0440\u0438 n \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430\u0445.[3, c. 29]. \u041a\u0430\u043a \u0432\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0440\u043e\u043b\u0438 \u043d\u0435 \u0438\u0433\u0440\u0430\u044e\u0442 \u2014 \u0434\u0430\u043b\u0435\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u0438\u0435.<\/em><\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u043d\u0441\u043e\u0440\u0430 \u0432\u044b\u0440\u0430\u0437\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/a3f\/c3f\/2f0\/a3fc3f2f0cd278622946ce2da28005fd.svg\" alt=\"x(n) = \\sum_{l=0}^Lh(l)s(n-l) + \\nu(n)\"><\/div>\n<p>  <\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/fd6\/0b2\/b5b\/fd60b2b5be4b7e93a0d905dd970c314f.svg\" alt=\"n\"> \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043d\u043e\u043c\u0435\u0440 \u043e\u0442\u0441\u0447\u0435\u0442\u0430, <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e9f\/c39\/8e5\/e9fc398e58e24442ddc2cf11684debbc.svg\" alt=\"h(l)\"> \u2014 \u044d\u0442\u043e \u043e\u0442\u043a\u043b\u0438\u043a \u043a\u0430\u043d\u0430\u043b\u0430 \u043f\u043e <em>l<\/em>-\u043e\u043c\u0443 \u043b\u0443\u0447\u0443, <em>L<\/em> \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438, <em>s<\/em> \u2014 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0439 (\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439) \u0441\u0438\u0433\u043d\u0430\u043b, <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/270\/81a\/400\/27081a40025995898a2b982ff59a7e39.svg\" alt=\"\\nu(n)\"> \u2014 \u0430\u0434\u0434\u0438\u0442\u0438\u0432\u043d\u044b\u0439 \u0448\u0443\u043c. <\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0435\u043d\u0441\u043e\u0440\u043e\u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u043f\u0440\u0438\u043c\u0435\u0442 \u0432\u0438\u0434:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c0e\/835\/aa7\/c0e835aa74d5dccf4ccdf625ebcc88b4.svg\" alt=\"\\mathbf{x}(n) = \\mathbf{H}\\mathbf{s}(n) + \\mathbf{\\nu}(n)\"><\/div>\n<p>  <\/p>\n<p>\u0433\u0434\u0435 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b0e\/184\/0ed\/b0e1840edef9169f3e1f52974bea066d.svg\" alt=\"\\mathbf{x}(n)\"> \u0438 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/270\/81a\/400\/27081a40025995898a2b982ff59a7e39.svg\" alt=\"\\mathbf{\\nu}(n)\"> \u2014 \u0438\u043c\u0435\u044e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/132\/724\/0f2\/1327240f26480a83dffca393bb730c44.svg\" alt=\"M \\times 1\">, \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/ed0\/8c1\/e77\/ed08c1e77cfaf357d5e90e9e2ae918aa.svg\" alt=\"\\mathbf{H}\"> \u0440\u0430\u0432\u043d\u0430 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/25e\/e63\/fbb\/25ee63fbb4a32f1a00d5c02aaea9b80c.svg\" alt=\"M \\times (M-L)\">, \u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/5e3\/d36\/045\/5e3d360455a5a33db6c17f93c119a694.svg\" alt=\"\\mathbf{s}(n)\"> \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/6e2\/fc1\/636\/6e2fc16365ac2698555dd979ed6b5eeb.svg\" alt=\"(M-L) \\times 1\">.<\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u043d\u0441\u043e\u0440 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b \u0442\u043e\u0436\u0435 \u0441 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u0432 \u0441\u0438\u043b\u0443 \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u0432\u043e\u043b\u043d\u044b \u043f\u043e\u0434 \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u0443\u0433\u043b\u043e\u043c. \u041c\u0430\u0442\u0440\u0438\u0446\u0430 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/ed0\/8c1\/e77\/ed08c1e77cfaf357d5e90e9e2ae918aa.svg\" alt=\"\\mathbf{H}\"> \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u043e\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u0435\u0439 \u0434\u043b\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043e\u0442\u043a\u043b\u0438\u043a\u043e\u0432 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043b\u0443\u0447\u0443. \u0414\u0443\u043c\u0430\u044e, \u0432 \u043a\u043e\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e:<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">h = np.array([0.722-1j*0.779, -0.257-1j*0.722, -0.789-1j*1.862]) L = len(h)-1 # number of signal sources H = convmtx(h,M-L)  print(H.shape) print(H)<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u044b\u0432\u043e\u0434\u043e\u043c \u0431\u0443\u0434\u0435\u0442:<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">&gt;&gt;&gt; (5, 3) &gt;&gt;&gt; array([[ 0.722-0.779j,  0.   +0.j   ,  0.   +0.j   ],        [-0.257-0.722j,  0.722-0.779j,  0.   +0.j   ],        [-0.789-1.862j, -0.257-0.722j,  0.722-0.779j],        [ 0.   +0.j   , -0.789-1.862j, -0.257-0.722j],        [ 0.   +0.j   ,  0.   +0.j   , -0.789-1.862j]])<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0438 \u0448\u0443\u043c\u0430:<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">sigmaS = 1 # \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 (the signal's s(n) power) sigmaN = 0.01 # \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u044c \u0448\u0443\u043c\u0430 (the noise's n(n) power)<\/code><\/pre>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f\u043c.<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">Rxx = (sigmaS)*(np.dot(H,np.matrix(H).H))+(sigmaN)*np.identity(M)  p = (sigmaS)*H[:,0] p = p.reshape((len(p), 1))<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0412\u044b\u0432\u043e\u0434 \u0444\u043e\u0440\u043c\u0443\u043b \u0437\u0434\u0435\u0441\u044c (\u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u043d\u044f \u0434\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u043e\u0442\u0447\u0430\u044f\u043d\u043d\u044b\u0445).<\/b><\/p>\n<div class=\"spoiler_text\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/hi\/lh\/ks\/hilhksxoc_rkum_5ibn3m42ukxc.jpeg\"><\/p>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>\u041d\u0430\u0439\u0434\u0435\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e \u0412\u0438\u043d\u0435\u0440\u0443:<\/p>\n<p>  <\/p>\n<pre><code class=\"python\"># Solution of the Wiener-Hopf equation: wopt = np.dot(np.linalg.inv(Rxx), p) MSEopt = MSE_calc(sigmaS, Rxx, p, wopt)<\/code><\/pre>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043c\u0435\u0442\u043e\u0434\u0443 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0441\u043f\u0443\u0441\u043a\u0430.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u0439\u0434\u0435\u043c \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437 \u043d\u0435\u0451 \u043f\u043e\u0442\u043e\u043c \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0432\u0435\u0440\u0445\u043d\u044e\u044e \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u0448\u0430\u0433\u0430 (\u0441\u043c. \u0444\u043e\u0440\u043c\u0443\u043b\u0443 (9)):<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">lamda_max = max(np.linalg.eigvals(Rxx))<\/code><\/pre>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0448\u0430\u0433\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0434\u043e\u043b\u044e \u043e\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e:<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">coeff = np.array([1, 0.9, 0.5, 0.2, 0.1])  mus = 2\/lamda_max*coeff # different step sizes<\/code><\/pre>\n<p>  <\/p>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439:<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">N_steps = 100<\/code><\/pre>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c:<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">MSE = np.empty((len(mus), N_steps), dtype=complex) for mu_idx, mu in enumerate(mus):     w = np.zeros((M,1), dtype=complex)     for N_i in range(N_steps):         w = w - mu*(np.dot(Rxx, w) - p)         MSE[mu_idx, N_i] = MSE_calc(sigmaS, Rxx, p, w)<\/code><\/pre>\n<p>  <\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0443\u0436\u0435 \u0434\u043b\u044f \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0448\u0430\u0433\u0430 (\u0444\u043e\u0440\u043c\u0443\u043b\u0430 (10)):<\/p>\n<p>  <\/p>\n<pre><code class=\"python\">MSEoptmu = np.empty((1, N_steps), dtype=complex) w = np.zeros((M,1), dtype=complex) for N_i in range(N_steps):     gamma = p - np.dot(Rxx,w)     mu_opt = mu_opt_calc(gamma, Rxx)     w = w - mu_opt*(np.dot(Rxx,w) - p)     MSEoptmu[:, N_i] = MSE_calc(sigmaS, Rxx, p, w)<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u043b\u0436\u043d\u044b \u043d\u0435\u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435:<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">x = [i for i in range(1, N_steps+1)]  plt.figure(figsize=(5, 4), dpi=300)  for idx, item in enumerate(coeff):     if item == 1:         item = ''     plt.loglog(x, np.abs(MSE[idx, :]),\\            label='$\\mu = '+str(item)+'\\mu_{max}$')  plt.loglog(x, np.abs(MSEoptmu[0, :]),\\            label='$\\mu = \\mu_{opt}$')  plt.loglog(x, np.abs(MSEopt*np.ones((len(x), 1), dtype=complex)),\\           label = 'Wiener solution') plt.grid(True) plt.xlabel('Number of steps') plt.ylabel('Mean-Square Error') plt.title('Steepest descent') plt.legend(loc='best') plt.minorticks_on() plt.grid(which='major') plt.grid(which='minor', linestyle=':') plt.show()<\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/il\/fa\/8d\/ilfa8dmoxgt4sjitiyvwbdjga6m.png\"><\/p>\n<p>  <\/p>\n<p><em>\u0420\u0438\u0441. 5. \u041a\u0440\u0438\u0432\u044b\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (learning curves) \u0434\u043b\u044f \u0448\u0430\u0433\u043e\u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432.<\/em><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0434\u0438 \u043f\u0440\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043f\u043e \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u043e\u043c\u0443 \u0441\u043f\u0443\u0441\u043a\u0443:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u043a\u0430\u043a \u0438 \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c, \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u0430\u0433 \u0434\u0430\u0435\u0442 \u0441\u0430\u043c\u0443\u044e \u0431\u044b\u0441\u0442\u0440\u0443\u044e \u0441\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c;<\/li>\n<li>\u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u043b\u0443\u0447\u0448\u0435: \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u0432 \u0432\u0435\u0440\u0445\u043d\u044e\u044e \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u043c\u044b \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u0441\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0412\u043e\u0442 \u043c\u044b \u0438 \u043d\u0430\u0448\u043b\u0438 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0438\u0432\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u0430 \u2014 <u>\u043e\u0431\u0443\u0447\u0438\u043b\u0438 \u044d\u043a\u0432\u0430\u043b\u0430\u0439\u0437\u0435\u0440<\/u>.<\/p>\n<p>  <\/p>\n<h2 id=\"a-est-chto-to-bolee-blizkoe-k-realnosti\">\u0410 \u0435\u0441\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0431\u043b\u0438\u0437\u043a\u043e\u0435 \u043a \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438?<\/h2>\n<p>  <\/p>\n<p>\u041a\u043e\u043d\u0435\u0447\u043d\u043e! \u041c\u044b \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043f\u0440\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438, \u0447\u0442\u043e \u0441\u0431\u043e\u0440 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 (\u0442.\u0435. \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043c\u0430\u0442\u0440\u0438\u0446 \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432) \u0432 real-time \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u2014 \u044d\u0442\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u0440\u043e\u0441\u043a\u043e\u0448\u044c. \u041e\u0434\u043d\u0430\u043a\u043e, \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u0441\u043f\u043e\u0441\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u0438 \u043a \u044d\u0442\u0438\u043c \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c: \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 <em>\u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e<\/em> \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u043e\u0434\u0445\u043e\u0434\u044b <u>\u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u044b\u0435<\/u>. \u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u0434\u0432\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u044b [1, c. 246]:<\/p>\n<p>  <\/p>\n<ul>\n<li><em>\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u043d\u044b\u0435 (stochastic)<\/em> (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/scikit-learn.org\/0.20\/modules\/sgd.html\">SG<\/a> \u2014 Stochastic Gradient)<\/li>\n<li>\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 <em>\u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0438\u0445 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043e\u0432<\/em> (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Least_mean_squares_filter\">LMS<\/a> \u2014 Least Mean Squares \u0438\u043b\u0438 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Recursive_least_squares_filter\">RLS<\/a> \u2014 Recursive Least Squares)<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0422\u0435\u043c\u0430 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u044b\u0445 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432 \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 open-source \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 (\u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043b\u044f python):<\/p>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/pyroomacoustics.readthedocs.io\/en\/pypi-release\/pyroomacoustics.adaptive.html\">pyroomacoustics<\/a><\/li>\n<li><a href=\"http:\/\/matousc89.github.io\/padasip\/index.html\">padasip<\/a> <\/li>\n<li><a href=\"https:\/\/pypi.org\/project\/adaptfilt\/\">adaptfilt<\/a><\/li>\n<\/ul>\n<p>  <\/p>\n<blockquote><p>\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u043d\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f. \u041e\u0434\u043d\u0430\u043a\u043e, \u0431\u0443\u0434\u044c\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b! \u041a\u043e\u0433\u0434\u0430 \u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0430\u043a\u0435\u0442 <strong>padasip<\/strong>, \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b (\u043f\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u0443 \u0442\u0430\u043c \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u044e\u0442\u0441\u044f float64). \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438-\u0442\u043e \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438.<\/p><\/blockquote>\n<p>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0438 \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u0430 \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438, \u0441\u0443\u043c\u043c\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430. <\/p>\n<p>  <\/p>\n<p>\u041a\u043e\u0440\u043e\u0442\u043a\u043e \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u044b: \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0442\u0440\u0438 \u0443\u0436\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0445 \u043d\u0430\u043c\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 <em>SG<\/em>, <em>LMS<\/em> \u0438 <em>RLS<\/em> (\u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 MATLAB \u2014 \u043a\u0430\u044e\u0441\u044c, \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0443\u0436\u0435 \u0431\u044b\u043b\u0438, \u0430 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0451 \u043d\u0430 \u043f\u0438\u0442\u043e\u043d \u0435\u0434\u0438\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f \u0440\u0430\u0434\u0438\u2026 \u043d\u0443&#8230;).<\/p>\n<p>  <\/p>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 <em>LMS<\/em> \u0438 <em>RLS<\/em> \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0434\u043e\u043a\u0435 \u043f\u043e <a href=\"http:\/\/matousc89.github.io\/padasip\/index.html\">padasip<\/a>. <\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 SG \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0437\u0434\u0435\u0441\u044c.<\/b><\/p>\n<div class=\"spoiler_text\">\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0441\u043f\u0443\u0441\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u043c \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0435:<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/76f\/9e3\/fbb\/76f9e3fbbb4c7643f5af595103791091.svg\" alt=\"\\mathbf{w}[n] = \\mathbf{w}[n-1] + \\mu \\left(\\mathbf{\\hat{p}}[n] - \\mathbf{\\hat{R}}_{xx}[n]\\mathbf{w}[n-1]\\right)\"><\/div>\n<p>  <\/p>\n<p>\u043f\u0440\u0438<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/633\/bac\/0aa\/633bac0aae95be15cd31a312b4e0d2c5.svg\" alt=\"\\mathbf{\\hat{R}}_{xx}[n] = \\frac{1}{n}\\left( (n-1) \\mathbf{\\hat{R}}_{xx}[n-1] + \\mathbf{x}[n]\\mathbf{x}[n]^H\\right)\"><\/div>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/4f7\/bfd\/f81\/4f7bfdf81571e19eac474c7a8c380093.svg\" alt=\"\\mathbf{\\hat{p}}[n] = \\frac{1}{n}\\left( (n-1) \\mathbf{\\hat{p}}[n-1] + \\mathbf{x}[n]d[n]^*\\right)\"><\/div>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>1) \u0421\u043b\u0443\u0447\u0430\u0439, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u043e\u043c\u0443 \u0432\u044b\u0448\u0435.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 (MatLab\/Octave).<\/b><\/p>\n<div class=\"spoiler_text\">\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/gist.github.com\/kirlf\/8e77cc17b7b1be4e35dbf651ff82f759#file-adaptive_filters_1-m\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ff\/zm\/hq\/ffzmhqsrnwvvc0hdrcyzhapropw.png\"><\/p>\n<p>  <\/p>\n<p><em>\u0420\u0438\u0441. 6. \u041a\u0440\u0438\u0432\u044b\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (learning curves) \u0434\u043b\u044f LMS, RLS \u0438 SG.<\/em><\/p>\n<p>  <\/p>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u0438 \u0441\u0432\u043e\u0435\u0439 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c LMS \u043c\u043e\u0436\u0435\u0442 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0438 \u043d\u0435 \u043f\u0440\u0438\u0439\u0442\u0438 \u043a \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0448\u0430\u0433\u0435. \u0421\u0430\u043c\u044b\u0439 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u0430\u0451\u0442 RLS, \u043d\u043e \u0438 \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0441\u0431\u043e\u0438\u0442\u044c \u043f\u0440\u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u043c <em>\u0444\u0430\u043a\u0442\u043e\u0440\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u043d\u0438\u044f (forgetting factor)<\/em>. \u041f\u043e\u043a\u0430 \u043c\u043e\u043b\u043e\u0434\u0446\u043e\u043c \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f SG, \u043d\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440.<\/p>\n<p>  <\/p>\n<p>2) \u0421\u043b\u0443\u0447\u0430\u0439, \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u043d\u0430\u043b \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 (MatLab\/Octave).<\/b><\/p>\n<div class=\"spoiler_text\">\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/gist.github.com\/kirlf\/8e77cc17b7b1be4e35dbf651ff82f759#file-adaptive_filters_2-m\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/v-\/9d\/sx\/v-9dsxxwzr9jnbnswf0dmnvqrcu.png\"><\/p>\n<p>  <\/p>\n<p><em>\u0420\u0438\u0441. 7. \u041a\u0440\u0438\u0432\u044b\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f (learning curves) \u0434\u043b\u044f LMS, RLS \u0438 SG (\u043a\u0430\u043d\u0430\u043b \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438).<\/em><\/p>\n<p>  <\/p>\n<p>\u0410 \u0432\u043e\u0442 \u0442\u0443\u0442 \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0443\u0436\u0435 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0439: \u043f\u0440\u0438 \u0440\u0435\u0437\u043a\u043e\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u043a\u0430\u043d\u0430\u043b\u0430 \u0441\u0430\u043c\u044b\u043c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0443\u0436\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f LMS. \u041a\u0442\u043e \u0431\u044b \u043c\u043e\u0433 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c. \u0425\u043e\u0442\u044f \u0438 RLS \u043f\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c forgetting factor \u0442\u043e\u0436\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/p>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0430\u0440\u0430 \u0441\u043b\u043e\u0432 \u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/b><\/p>\n<div class=\"spoiler_text\">\n<p>\u0414\u0430, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u044e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u043e \u043c\u043e\u0438\u043c \u0437\u0430\u043c\u0435\u0440\u0430\u043c \u043c\u043e\u044f \u0441\u0442\u0430\u0440\u0435\u043d\u044c\u043a\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043e\u0434\u043d\u0438\u043c \u0430\u043d\u0441\u0430\u043c\u0431\u043b\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0437\u0430 120 \u043c\u043a\u0441 \u0432 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 LMS \u0438 SG \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0437\u0430 250 \u043c\u043a\u0441 \u0432 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 RLS. \u0422\u043e \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0430, \u0432 \u043e\u0431\u0449\u0435\u043c-\u0442\u043e, \u0441\u0440\u0430\u0432\u043d\u0438\u043c\u0430\u044f.<\/p>\n<\/div>\n<\/div>\n<p>  <\/p>\n<p>\u0410 \u043d\u0430 \u044d\u0442\u043e\u043c \u0443 \u043c\u0435\u043d\u044f \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0432\u0441\u0451. \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0441\u0435\u043c, \u043a\u0442\u043e \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u043b!<\/p>\n<p>  <\/p>\n<h2 id=\"literatura\">\u041b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0430<\/h2>\n<p>  <\/p>\n<ol>\n<li>\n<p>Haykin S. S. Adaptive filter theory. \u2013 Pearson Education India, 2005.<\/p>\n<p>  <\/li>\n<li>\n<p>Haykin, Simon, and KJ Ray Liu. Handbook on array processing and sensor networks. Vol. 63. John Wiley &amp; Sons, 2010. pp. 102-107<\/p>\n<p>  <\/li>\n<li>\n<p>Arndt, D. (2015). On Channel Modelling for Land Mobile Satellite Reception (Doctoral dissertation).<\/p>\n<p>  <\/li>\n<\/ol>\n<p>  <\/p>\n<h2 id=\"prilozhenie-1\">\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 1<\/h2>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">Eigen filter<\/b><\/p>\n<div class=\"spoiler_text\">\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0446\u0435\u043b\u044c \u0442\u0430\u043a\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 \u2014 \u044d\u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u043b-\u0448\u0443\u043c (SNR \u2014 Signal-to-Noise Ratio).<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/kk\/v_\/uu\/kkv_uu-08dppu5i4yhkucc_b0ww.jpeg\"><\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0441\u0443\u0434\u044f \u043f\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u044e \u0432 \u0440\u0430\u0441\u0447\u0435\u0442\u0430\u0445 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0439, \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442, \u043d\u0435\u0436\u0435\u043b\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435. <\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>               <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/455497\/\"> https:\/\/habr.com\/ru\/post\/455497\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\">\n<p>\u0420\u0430\u0437\u0432\u0438\u0432\u0430\u044f \u0442\u0435\u043c\u0443 \u043a\u043e\u043d\u0441\u043f\u0435\u043a\u0442\u043e\u0432 \u043f\u043e \u043c\u0430\u0433\u0438\u0441\u0442\u0435\u0440\u0441\u043a\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 &#171;Communication and Signal Processing&#187; (TU Ilmenau), \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0442\u0435\u043c \u043a\u0443\u0440\u0441\u0430 <a href=\"https:\/\/www5.tu-ilmenau.de\/nt\/de\/teachings\/vorlesungen\/anwendungen_der_systemtheorie\/index.html\">&#171;Adaptive and Array Signal Processing&#187;<\/a>. \u0410 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043c\u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  <\/p>\n<p><u>\u0414\u043b\u044f \u043a\u043e\u0433\u043e \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0431\u044b\u043b\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f:<br \/>  <\/u><br \/>  1) \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u0440\u0430\u0442\u0438\u0438 <a href=\"https:\/\/griat.kai.ru\/communications-and-signal-processing\">\u0440\u043e\u0434\u043d\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/a>;<br \/>  2) \u0434\u043b\u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0433\u043e\u0442\u043e\u0432\u044f\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0435\u043c\u0438\u043d\u0430\u0440\u044b, \u043d\u043e \u0435\u0449\u0451 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c \u2014 \u043d\u0438\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043d\u0430 <strong>python<\/strong> \u0438 <strong>Matlab\/Octave<\/strong>;<br \/>  3) \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043a\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442\u0441\u044f \u0442\u0435\u043c\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  <\/p>\n<p><u>\u0427\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c:<br \/>  <\/u><br \/>  1) \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0437 \u0442\u0435\u043e\u0440\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043e\u0444\u043e\u0440\u043c\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u0436\u0430\u0442\u043e, \u043d\u043e, \u043a\u0430\u043a \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u043e;<br \/>  2) \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432: \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u043a\u0432\u0430\u043b\u0430\u0439\u0437\u0435\u0440\u0430 \u0434\u043b\u044f \u0430\u043d\u0442\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u0448\u0435\u0442\u043a\u0438;<br \/>  3) \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0431\u0430\u0437\u0438\u0441\u043d\u0443\u044e \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 (\u043d\u0430 python), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u044b \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439.<\/p>\n<p>  <\/p>\n<p>\u0412 \u043e\u0431\u0449\u0435\u043c, \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0441\u0451 \u043f\u043e \u043f\u0443\u043d\u043a\u0442\u0430\u043c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/2f1\/98b\/d67\/2f198bd673789161db58ad770c629faf.jpg\"><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-292324","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/292324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=292324"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/292324\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=292324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=292324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=292324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}