• Регистрация
Галина
Галина 0.00
н/д

Фильтр Винера в MatLab

22.01.2020

Хочу воспользоваться фильтром Винера, модель которого взяла на этом ресурсе https://studfile.net/preview/5830416/page:3/

Вопрос: можно ли использовать фильтр Винера не зная шум на опорном входе?

Теги

      22.01.2020

      Ответы

      • KAnt23
        KAnt230.00
        23.01.2020 14:40

        Спектральный состав шума должен быть известен

        • Галина
          Галина0.00
          24.01.2020 09:40

          Спасибо за ответ.

        • Галина
          Галина0.00
          24.01.2020 09:44

          Хочу уточнить вопрос.
          У меня есть сигнал+шум. На примере естественно они у меня раздельные, но в реальности я их не могу отдельно измерить. Справка MatLab по функции firwiener показывает следующее:

           
          For comparison, compute the optimal FIR Wiener filter.
          bw = firwiener(L-1,v2,x); % Optimal FIR Wiener filter
          yw = filter(bw,1,v2); % Estimate of x using Wiener filter
          ew = x - yw; % Estimate of actual sinusoid

          v2 - скользящий средний сигнал, который корелирует с v1. v2 єсть опорным сигналом для примеров:

          Matlab MВыделить код
          1
          2
          
          ma = [1, -0,8, 0,4, -0,2];
          v2 =  filter(ma, 1, v);

          x - сигнал+шум x=s+v1,
          где:

          Matlab MВыделить код
          1
          2
          3
          4
          5
          6
          
          n = (1:1000)';
          s = sin(0.075*pi*n);
          v = 0.8*randn(1000,1); % Random noise part.
          ar = [1,1/2];          % Autoregression coefficients.
          v1 = filter(1,ar,v);   % Noise signal. Applies a 1-D digital 
                                 % filter.


          Вопрос: Как применить firwiener на реальном примере, когда известен только зашумленный сигнал?

          Как узнать спектральный состав шума (выходя из ответа)?

          • _______ ____________
            _______ ____________ -1.52
            24.01.2020 10:00

            Я бы советовал ознакомиться с теорией, допустим с книгой Айфичера, а если необходимо детально разобраться в вопросе то с работами Уидроу. В общих словах винеровская фильтрация предполагает наличие модели шумового воздействия (сигнала коррелирующего с воздействующим шумом), общие схемы адаптивных шумоподавителей на базе данного метода приведены в книге Айфичера.

            Кроме того, я написал пару типовых реализаций LMS метода в задачах системной идентификации и выравнивания канала.  С ними можно ознакомиться по ссылкам.

            p.s. Думаю, что на конференции 2020 будет мастер-класс посвященный этому вопросу. 

            https://www.mathworks.com/matlabcentral/fileexchange/73421-lms-equalizer-example

            https://www.mathworks.com/matlabcentral/fileexchange/73378-system-identification-using-lms-method

            • KAnt23
              KAnt230.00
              31.01.2020 08:03

              Спектральный состав шума определяется его корреляционной функцией. В Matlab это xcorr.

              • Галина
                Галина0.00
                4.02.2020 14:49

                Спасибо за ответ.