Page 50 - 363_
P. 50

51




                               6  Векторна фільтрація і спектральний аналіз
                   У системі MatLAB є кілька функцій для проведення цифрового аналізу даних

            спостережень.
                   Так, функція  y=filter(b, a, x) забезпечує формування вектору за заданими

            векторами b, a, x згідно з співвідношенням:
                  y(k) = b(l)*x(k) + b(2)*x(k-l) + ... + b(nb+l)*x(k-nb) -a(2)*y(k-l) - a(3)*y(k-3) -... -

                                                              -…- a(na+l)*y(k-na),                                                      (6.1)

            де вектор b має вигляд:
                                                   b = [b(l), b(2), ..., b(nb+l)],

            а вектор а:

                                                          a = [1, a(2), a(3), ..., a(na+l)].
                   Співвідношення (1) можна розглядати як кінцево-різнице рівняння фільтра

            з  функцією передачі вигляду раціонального дробу, коефіцієнти чисельника якого

            утворюють вектор b, а знаменника – вектор а, на вхід якого подається сигнал x(t),
            а на виході формується сигнал  y(t).

                   Тоді вектор у являтиме собою значення вихідного сигналу цього фільтра у
            дискретні моменти часу, що відповідають заданим значенням вхідного сигналу

            x(t) (вектор x).

                   Нижче наведений приклад застосування функції filter:
                   >> x = 0 : 0.1 : 1;
                   >> b = [12];
                   >> a = [ 1 0.1 4);
                   >> у = filter(b, a, x)
                        y =
                        Columns 1 through 6
                              0 1.0000e-001  3.9000e-001  2.6100e-001  -5.8610e-001  3.1461e-001
                            Columns7 through 11
                           3.9129e+000  2.5027e-001 -1.3477e+001  2.8466e+000  5.6422e+001
                    Функції  fft  (Fast  Fourier  Transformation)  та  ifft  (Invers  Fast  Fourier
            Transformation)  здійснюють  перетворення  заданого  вектора,  які  відповідають

            дискретному прямому та зворотному перетворенням Фур’є.
                   Звернення до цих функцій вигляду:

                                                  y=fft(x, n);   x=ifft(y, n)

            приводить  до  формування  векторів  в  у  першому  випадку  і  x  -  у  другому  за
            формулами:

                                n                                  1  n
                            (y  ) k     ( x  m )  e   2 j  (   m 1 )( k  n / ) 1  ;  ) k ( x      ( y  m )  e   2 j  (   m 1 )( k  n / ) 1  ,              (6.2)
                               m 1                                n m 1
            де j – значення уявної одиниці; n - кількість елементів заданого вектора x (вона, є
   45   46   47   48   49   50   51   52   53   54   55