часть вторая

сигналы

  • дельта-функция (импульс, функция Дирака)
  • единичная функция (ступенька, функция Хевисайда)
  • функция склона
  • комплексные числа
  • линейный оператор на пространстве функций
  • преобразование Лапласа
  • дельта-функция (функция импульса, функция Дирака)

    f₀ = δ₀(t - a)

    f₀(t) = ∞ t = 0
    f₀(t) = 0 иначе

       ∞
       ∫ δ₀(t - a) dt = 1
      -∞
    
    
                         ^
                         | 
                         |
                         |
      -----+-------------+----------------- t
           0             a
    

    напоминание о дуальности. аргумент функции есть (t - a), но график функции смещается вправо по оси t, в сторону плюса. это потому, что одно (аргумент) контравариантно, а второе (взятие значения) - ковариантно

       ∞
       ∫ δ₀(x) g(x) dt = g(0)
      -∞
    

    единичная функция (функция ступеньки S, функция Хевисайда)

    итак, f₀ = δ₀(t - a)

    теперь

    f₁ = ∫ f₀ dt = δ₁(t - a)

    f₁(t) = 0 , t < a
    f₁(t) = 1 , t ≥ a

    
            
            
                         +----------------  = 1
                         |
                         |
      -----+-------------+----------------- t
           0             a
    
    	 
    
    
       f₀ = df₁/dt  = δ₀(t - a)
    

    важно отметить, что dS/dx = δ₀(x)

    функция склона R

    f₂ = ∫ f₁ dt

    f₂(t) = 0, t < a
    f₂(t) = t, t ≥ a

      
                                  .
                                .˙
                              .˙   Θ = π/4 
                            .˙ 
                          .˙   
      -----+-------------+----------------- t
           0             a
    
    

    важно отметить, что d²R/dx² = δ₀(x)


    Gilbert Strang , MIT

    диффуры

    fixed-fixed

    -d²u/dx² = δ₀(x - a) ,     u(0) = 0 ,     u(1) = 0

    u(x) = -R(x - a) + C + D*x ,     C = 0 ,     D = 1 - a

        
                   .⋅ =1
     (1-a)*x    .⋅     ⋅.  (1-x)*a
             .⋅            ⋅.
            0-------a---------1
    
                   
               -----+  1-a
                    |
              ------a---------   
                    |
                    +----  -a
      

    u'(x) уменьшается на 1 в точке а

    в матричной форме:

        K * U = ( 0           ( 2  -1                 ( u1       ( 0
                  1            -1   2  -1               u2         1
                  0                -1   2  -1           u3         0
                  0                    -1   2  -1       u4         0
                  0 )                      -1   2 ) *   u5 )  =    0 )
    

    free-fixed

    -u" = δ(x - a) ,     u'(0) = 0 ,     u(1) = 0

    u(x) = -R(x-a) + C*x + D ,     C = 0 ,     D = 1 - a

        
        ------  = (1-a)
                ⋅.    (1-x)
                     ⋅.   
        0------a-------1
    
     
        0------a---------   
               |
               +----  -1
    
    

    в матричной форме:

        T * U = ( 0           ( 1  -1                 ( u1       ( 0
                  1            -1   2  -1               u2         1
                  0                -1   2  -1           u3         0
                  0                    -1   2  -1       u4         0
                  0 )                      -1   2 ) *   u5 )  =    0 )
    

    комплексные числа

    r₁ * exp (i * θ₁) + r₂ * exp (i * θ₂) = [√ (r₁² + r₂²)] * exp [i * (θ₁ + θ₂) / 2]

    r₁ * exp (i * θ₁) - r₂ * exp (i * θ₂) = [√ (r₁² + r₂²)] * exp [i * (θ₁ - θ₂) / 2]

    r₁ * exp (i * θ₁) - r₂ * exp (i * θ₂) = r₁ * exp (i * θ₁) + r₂ * exp (-i * θ₂)

    r₁ * exp (i * θ₁) * r₂ * exp (i * θ₂) = r₁ * r₂ * exp [i * (θ₁ + θ₂)]

    r₁ * exp (i * θ₁) / r₂ * exp (i * θ₂) = (r₁ / r₂) * exp [i * (θ₁ - θ₂)]

    |1/c| = 1/|c|

    |c| * 1/|c| = 1

    arg (1/c) + arg (c) = 0

    комплексные числа - неупорядоченное множество, но зато они составляют алгебраически-замкнутое поле (на полиномах)

    вещественные числа упорядочены, но они не могут быть алгебраически-замкнутым полем на полиномах: не любой вещественный полином может быть разрешен в вещественных числах

    умножение комплексного числа на вещественное - это масштабирование этого комплексного числа:

    [a + i * 0] * [c + i * d] = [a * c + i * a * d]

    или

    r₁ * exp (i * 0) * r₂ * exp (i * θ) = r₁ * r₂ * exp [i * (0 + θ)] = r₁ * r₂ * exp (i * θ)

    умножение комплексного числа на мнимое - это масштабирование этого комплексного числа с поворотом:

    (0 + i * a) * (c + i * d) = (- [a * d] + i * [a * c])

    или

    r₁ * exp (i * π/2)] * r₂ * exp (i * θ) = r₁ * r₂ * exp [i * (θ + π/2)]

    один любопытный пример

    уравнение y = 11/n (n ∈ ℕ) имеет бесконечно много решений в поле комплексных чисел

    пусть n = 5. тогда решениями будут:

    ζ₁ = 1 * exp (i * 1 * 2π/5), ζ₁^5 = 1^5 * exp (i * 1 * 5 * 2π/5) = 1
    ζ₂ = 1 * exp (i * 2 * 2π/5), ζ₂^5 = 1^5 * exp (i * 2 * 5 * 2π/5) = 1
    ζ₃ = 1 * exp (i * 3 * 2π/5), ζ₃^5 = 1^5 * exp (i * 3 * 5 * 2π/5) = 1
    ζ₄ = 1 * exp (i * 4 * 2π/5), ζ₄^5 = 1^5 * exp (i * 4 * 5 * 2π/5) = 1
    ζ₅ = 1 * exp (i * 5 * 2π/5), ζ₅^5 = 1^5 * exp (i * 5 * 5 * 2π/5) = 1
    ..
    ζₐ = 1 * exp (i * a * 2π/5), ζₐ^5 = 1^5 * exp (i * a * 5 * 2π/5) = 1 ..

    формула Эйлера

    a = exp (x + i * θ) = exp (x) * exp (i * θ) = r * (cos θ + i * sin θ)

    conj(a) = exp (x - i * θ) = exp (x) * exp (-i * θ) = r * (cos θ - i * sin θ)

    octave> exp (i * pi)
    ans = -1.0000e+00 - 1.2246e-16i
    

    линейный оператор на пространстве функций

    множество М называется линейным пространством, если

    ∀ x,x₁,x₂,x₃ ∈ M и ∀ k,k₁,k₂,k₃ ∈ ℝ выполняются:

    x₁ + x₂ ∈ M
    k * x ∈ M
    x + 0 = x
    x + (-x) = 0
    k₁ * (k₂ * x₁) = (k₁ * k₂) * x₁
    (k₁ + k₂) * x = (k₁ * x) + (k₂ * x)
    k * (x₁ + x₂) = (k * x₁) + (k * x₂)

    пусть f - множество всех непрерывных функций на [0, +∞[ . это множество является линейным пространством

    отображение Т называется линейным оператором, отображающем множество М₁ на множество М₂, если для ∀ xₖ ∈ M₁ и k ∈ ℝ выполяются следующие условия:

    T(xₖ) ∈ M₂
    T(x₁ + x₂) = T(x₁) + T(x₂)
    T(k * x₁) = k * T(x₁)

    линейный оператор S называется обратным к линейному оператору T, если T[S(x)] = S[T(x)] = x

    применение оператора Гамильтона к комплексной функции:

    все очень просто: ∇ [ x(t) + i * y(t) ] = ∇ x + i * ∇ y

    потому, что оператор ∇ линеен

    линейный оператор, отображающий множество М на множество скаляров называется линейным функционалом

    обобщенные функции как линейный функционал

        δ₀ (φ(x))  =  φ(0)
    
        δ₀(a) (φ(x))  =  φ(a)
    
                      +∞
        1  (φ(x))  =  ∫ φ(x) dx
                     -∞
    

    преобразование Лапласа

    линейный оператор, действующий в пространстве функций f от вещественного положительного аргумента t:

    ƚ(s)   =    ∫  f(t) * exp(-s * t)  dt
                               0
    
    
    называется "преобразованием Лапласа". он отображает множество функций вещественной переменной на множество функций комплексной переменной

    ограничения метода - функция f(t) должна быть дифференцируема и интеграл преобразования Лапласа должен сходиться. "плохими" функциями являются, например, функции f(t) = 1/t и f(t) = exp(t²)


    Arthur Mattuck , MIT

    посчитаем для простых функций, для которых есть аналитическое решение:

    
        f = 0
    
            ∞
        ƚ = ∫ 0 * exp(-s*t) dt = 0
            0
    
    
    f = 1 ∞ ∞ ƚ = ∫ 1 * exp (-s*t) dt = - exp(-s*t) / s | = 1/s 0 0
    f = t ∞ ∞ ∞ ƚ = ∫ t * exp (-s*t) dt = [- exp(-s*t) / s ] * t | - ∫ 1 * [- exp (-s*t) / s] dt 0 0 0 ∞ ƚ = 0 - [1/s * - exp (-s*t)/s] | = 1/s2 0
    f = exp(t) ∞ ∞ ƚ = ∫ exp (-s*t) * exp(t) dt = - exp(-(s-1)*t) / (s - 1) | = 1 / (s - 1) 0 0

    очевидно также, что ƚ δ₀ = 1 ибо

       ∞                     +0 
       ∫ δ₀ * exp (-s*t) dt = ∫ δ₀ * exp (-s*0) dt =  ∫ δ₀ dt = 1     
       0                     0
    
    
    при условии, что импульс начался точно в нуле

    сдвиг

                                  ∞ 
           ℒ [exp(a*t) * f(t))] = ∫ f(t) * exp[-(s-a)*t] dt = ƚ(s-a) 
                                  0
    
           где ƚ(s) есть ℒ [f(t)]
    

    но тогда сразу же:

     ℒ [cos(t)] = ℒ [(exp(i*t) + exp(-i*t)) / 2]  = [1/(s-i) + 1/(s+i)] / 2  = s / (s² + 1)
    
     ℒ [sin(t)] = ℒ [(exp(i*t) - exp(-i*t)) / 2i] = [1/(s-i) - 1/(s+i)] / 2i = 1 / (s² + 1)
    

    подобие

                         
           ℒ [f(k*t))] = 1/k * ƚ(s/k) 
    
           где ƚ(s) есть ℒ [f(t)],  k ∈ ℝ₊ 
    

    действительно

    
                         ∞                         k*t = u       ∞
           ℒ [f(k*t))] = ∫ f(k*t) * exp(-s*t) dt     =     1/k * ∫ exp(-s*u/k) * f(u) du   
                         0                                       0
    
    

    но тогда сразу же

             exp(k*t) = 1/k * [ k  / (s/k - 1)]     =  1 / (s  - k)  
    
             cos(k*t) = 1/k * [s*k / ((s/k)² + 1)]  =  s / (s² + k²)  
    
             sin(k*t) = 1/k * [ 1  / ((s/k)² + 1)]  =  k / (s² + k²)
    


    Arthur Mattuck , MIT

    таблица образов

    оригинал : f
    временной домен
    образ : s
    частотный домен
    аналитические
    0 0
    δ₀ 1
    δ₁ 1/s
    t1/s²
    экспоненты
    exp (k * t)1 / (s - k)
    t * exp (k * t)1 / (s - k)²
    тригонометрические
    cos (k * t)s / (s² + k²)
    sin (k * t)k / (s² + k²)
    t * cos (k * t) (s² - k²) / (s² + k²)²
    t * sin (k * t)2 * s * k / (s² + k²)²
    exp (a * t) * cos (k * t) (s - a) / [ (s - a)² + k²]
    exp (a * t) * sin (k * t)k / [ (s - a)² + k²]

    этого вполне достаточно для инженерных расчетов цепей

    правило получения образа производной - теорема об образе производной

    
            ℒ [ f'(t) ]   =   s * ƚ(s)  -  f(0)
    
    


    Arthur Mattuck , MIT

    пример расчета RC-цепи

    есть сигнал на входе, требуется вычислить сигнал на выходе

    
         uc    +    ur            = v(t)
         uc    +    ic * R        = v(t)
         uc    +    u'c * C * R   = v(t)
    
         u'    +    u / R*C      = v(t) / R*C 
    
    
    пусть
    
         u(0)   =  0
         R * C  =  1
         v(t)   =  exp (-2 * t)  
    
    

    тогда

    
         s *  ƚ(s)   -   0    +   ƚ(s)   =   1 / (s + 2)
    
         ƚ(s) * (s + 1)                  =   1 / (s + 2)
    
         ƚ(s)                            =   1 / [(s + 1) * (s + 2)]
    
    
         первый полюс: -1
         второй полюс: -2
    
         поскольку степень числителя меньше степени знаменателя:
         производная знаменателя (s² + 3 * s + 2)' = 2 * s + 3
         в первом полюсе равна:   1
         во втором полюсе равна: -1
    
         результат:
    
                   1        -1
         ƚ(s) =  -----  +  -----
                 s + 1     s + 2
    
    

    ответ:

    
         u(t) = exp(-1 * t) - exp(-2 * t) 
    
    

    function y = rccirc (t) 
      y = exp(-1 * t) - exp(-2 * t);
    end  
    

    octave> t = linspace (0,6,1000)
    octave> plot (t,rccirc(t), 'linewidth', 2, t, exp (-2*t), 'linewidth', 2)
    

    пример расчета RL-цепи

    есть сигнал на входе, требуется вычислить сигнал на выходе

    
         ul       +   ur          = v(t)
         L * i'l  +   il * R      = v(t)
         i'l      +   il * R/L    = v(t) / L
    
         i'       +   i * R/L     = v(t) / L 
    
    
    пусть
    
         i(0)   =  0
         R      =  2
         L      =  1
         v(t)   =  3 
    
    

    тогда

    
         s * ƚ(s)  -   0   +   2 * ƚ(s)  =   3 / s
    
         ƚ(s)  *  (s + 2)                =   3 / s
    
         ƚ(s)                            =   3 / [s * (s + 2)]
    
    
         первый полюс:  0
         второй полюс: -2
    
         поскольку степень числителя меньше степени знаменателя:
         производная знаменателя (s² + 2 * s)' = 2 * s + 2
         в первом полюсе равна:    2 
         во втором полюсе равна:  -2 
    
         результат:
    
                 1.5     1.5 
         ƚ(s) =  ---  - -----
                  s     s + 2
    
    

    ответ

    
         i(t) = 1.5 * (1 - exp(-2 * t)) 
    
    

    function y = rlcirc (t)
      y = 1.5 * (1 - exp (-2 * t));
    end
    

    octave> t = linspace (0,6,1000)
    octave> plot (t,rlcirc(t), 'linewidth', 2, [0,6], [3,3], 'linewidth', 2)
    

    дифуры со вторыми производными

    теперь, для постоянно встречающихся в инженерных расчетах уравнений второго порядка имеем:

    f"(t) + k₁ * f'(t) + k₂ * f(t) → s² * ƚ(s) - s * f(0) - f'(0) + k₁ * s * ƚ(s) - f(0) + k₂ * ƚ(s)

    
         f"(t) + k₁ * f'(t) + k₂ * f(t)      →        (s² + k₁*s + k₂) * ƚ (s)
                                                  -            (s - 1) * f (0)
                                                  -                      f'(0)
    
    

    аналитический пример


    Arthur Mattuck , MIT

    соотношения для элементов цепей

     для резистора:      V(s) = R * I(s)
    
     для конденсатора:   V(s) = I(s) / (C*s)  +  v₀ / s 
                         I(s) = (C*s) * V(s)  -  C * v₀
                         емкость предсталена элементом с импедансом 1/Cs
                         последовательно к которому подключен источник напряжения v₀/s
    
     для катушки:        I(s) = V(s) / (L*s)  +  i₀ / s
                         V(s) = (L*s) * I(s)  -  L * i₀
                         индуктивность представлена элементом с импедансом Ls
                         последовательно к которому подключен источник тока i₀/s
    
     где                 V(s) = ƚ[u(t)] 
                         I(s) = ƚ[i(t)]
                         v₀, i₀ - начальные условия
    

    пример расчета параллельного контура

    пусть R = 1 L = 1 C = 1 v₀ = 0 i₀ = 0 v = δ₀ , тогда

                   V(s) = 1
    
                                  1 
                   I(s) = -------------------
                          R + (L*s) + 1/(C*s)
    
                                   Cs    
                   I(s) = --------------------
                          (C*R)s + (L*C)s² + 1
    тогда
    
                               s                          s
                   I(s) = ----------- = --------------------------------------
                          s² + s + 1    (s - (-.5 + .87i) * (s - (-.5 - .87i))
    
                           -1.5 - .87i         -1.5 + .87i
                   I(s) = --------------  +  ---------------
                          s + (.5 -.87i)     s + (.5 + .87i)
    
        Ответ:
    
                   i(t) = (-1.5 - .87i) * exp[(-.5 + .87i)*t] + (-1.5 + .87i) * exp[(-.5 - .87i)*t]
    

    закодим это дело:

    function y = rlcp (t)
      y = (-1.5 - .87i) * exp((-.5 + .87i)*t) + (-1.5 + .87i) * exp((-.5 - .87i)*t);
    end
    

    и запустим:

    octave> t = linspace (0,30,1000);
    octave> plot (t, rlcp(t), "r", 'linewidth', 2)
    

    получим:

    лепота!

    положим теперь, что v = δ₁

    тогда  V(s) = s
    
                               s            s²                         s²
                   I(s) = ----------- = ---------- = --------------------------------------
                          1 + s + 1/s   s² + s + 1   (s - (-.5 + .87i) * (s - (-.5 - .87i))
    
                             -.5 - .3i            -.5 + .3i
                   I(s) = ----------------- + ------------------
                          (s - (-.5 + .87i)   (s - (-.5 - .87i)) 
    
        Ответ:
    
                   i(t) = (-.5 - .3i) * exp[(-.5 + .87i)*t] + (-0.5 + .3i) * exp[(-.5 -.87i)*t]
    

    закодим это дело:

    function y = rlcp (t)
      y = (-.5 - .3i) * exp((-.5 + .87i)*t) + (-0.5 + .3i) * exp((-.5 - .87i)*t);
    end
    

    и запустим:

    octave> t = linspace (0,30,1000);
    octave> plot (t, rlcp(t), "r", 'linewidth', 2)
    

    получим:

    красота!

    положим теперь, что v = δ₀ , а R = 0

    тогда  V(s) = 1
    
                            1          s
                   I(s) = ------- = ------
                          s + 1/s   s² + 1
    
        Ответ:
    
                   i(t) = cos(t)
    

    положим теперь, что v = δ₁ , при R = 0

    тогда  V(s) = s
    
                             s         s² 
                   I(s) = ------- = ------ ≈ 1
                          s + 1/s   s² + 1
    
        Ответ:
    
                   i(t) ≈ δ₀ 
    

    пример расчета последовательного контура

    todo
    

    пример расчета последовательно-параллельного контура

    todo
    

    соотношение сигнал/шум

                     SNR   =   mean (X) / σ