Skip to main content
LibreTexts - Ukrayinska

2.1: Відповідна теорія лінійних систем

  • Page ID
    33662
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Перед дослідженням природних та біоміметичних сенсорних систем та обробки сигналів необхідна певна спільна робота. Спочатку розглянуто основні аспекти лінійних систем (розділ 2.1). Далі йдуть основи нейрональних систем (розділ 2.2), нейрональна обробка (розділ 2.3), модель електричного кола нейрона (розділ 2.4) та основні моделі виявлення руху нейронів (розділ 2.5). Для більш ретельного опрацювання теорії лінійних систем та обробки зображень рекомендуються наступні безкоштовні тексти:

    Улабі, Ф. та Ягл, А, Сигнали та системи: теорія та додатки, Мічиганське видавництво, ISBN 978-1—60785—487—6, 2018. Доступно за адресою ss2.eecs.umich.edu.

    Ягл, А. та Улабі, Ф., Обробка зображень для інженерів, Michigan Publishing, ISBN 978—1—60785—489—0, 2018. Доступно за адресою ip.eecs.umich.edu.

    2.1 Відповідна теорія лінійних систем

    У цьому розділі узагальнено основні моменти теорії лінійних систем, що стосуються біоміметичних сенсорних систем та обробки сигналів. Багато аспектів обробки природного зору можуть бути змодельовані як просторово-часові фільтри, що працюють на вхідних сигналах або послідовностях зображень. Двовимірні просторові фільтри працюють на кожному кадрі зображення, який згодом модифікується з урахуванням тимчасової історії раніше відфільтрованих кадрів зображення. Ці операції є розширеннями 1D дискретних часових згорток та інших операцій обробки сигналів. Теми, що розглядаються тут, включають мотивацію для моделювання системи LTI, згортку безперервного часу та імпульсну характеристику, δ (t), дискретно-часову згортку та одиничну імпульсну функцію, δ [n], 2D дискретну часову згортку та серію Фур'є та перетворення Фур'є.

    2.1.1 Мотивація моделювання лінійних інваріантних (LTI) систем

    Біологічні системи, природно, нелінійні і змінюються в часі. Однак існує велика практичність у наближенні частин системи як кусково-лінійних у номінальному діапазоні вхідних значень та інваріантних за відносно короткі періоди часу. Такі моделі багато разів можуть бути «досить близько», щоб бути дуже корисними. Для спрощення обробки сигналів ми хочемо використовувати моделі трансформацій біологічної інформації, які є лінійними та інваріантними у часі, або LTI перетворень.

    Система є лінійною, якщо застосовується закон суперпозиції. В електротехніці суперпозиція має на увазі математичну однорідність і адитивність. Якщо системний вихід дорівнює y 1 = f (x 1) для входу x 1 і y 2 = f (x 2) для входу x 2, то система однорідна, якщо f (αx 1) = αy 1, добавка якщо

    ф (х 1 + х 2) = ф (х 1) + ф (х 2) = у 1 + у 2

    і, отже, лінійний, якщо f (αx 1 + βx 2) = f (αx 1) + f (βx 2) = αy 1 + βy 2

    Система є інваріантною за часом, якщо для одного і того ж відгуку задано для одного набору входів, незалежно від того, коли представлені входи. Тобто для y (t) = f (x (t)), потім f (x (t - t 0)) = y (t 0) за постійний часовий інтервал t 0.

    Багато природних (біологічних) функцій обробки сигналів можуть бути змодельовані як послідовність підсистем LTI, які ми називаємо фільтрами. Сигнал надсилається через фільтр і виглядає по-різному на виході. Наприклад, фільтр, що імітує шар фоторецепторів в системах зору ссавців, може включати логарифмічне перетворення інтенсивності світла з подальшим ефектом розмивання внаслідок взаємодії з найближчими фоторецепторами. Ця модель включала б логарифмічний фільтр, за яким слідує фільтр розмиття за Гаусом:

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

    Якщо h (t) - імпульсна характеристика системи, то, для безперервного часу вхідного сигналу f (t)

    \(h(t) = f(t) * \delta (t) = \int_{0}^{t} f(\tau) \delta (t - \tau) \,d\tau\)

    і для послідовності введення дискретного часу f [n]

    \(h[n] = f[n] * \delta [n] = \sum_{k = -\infty}^{\infty} f[k] \delta [n - k]\)

    Символ * використовується для позначення згортки, а δ позначає пряму дельта-функцію, обидві з яких розглядаються далі. Для випадку дискретного часу часова інваріантність означає, що якщо h [n] є відповіддю на δ [n], то h [n-k] - відповідь на δ [n-k]. Імпульсна характеристика (h [n] для дискретно-часових систем та h (t) для систем безперервного часу) лінійної інваріантної системи часу (LTI) повністю характеризує цю систему. Вихід, y [n], системи LTI - це сума індивідуальних імпульсних реакцій, зважених поточним вхідним значенням, x [n]:

    \(y[n] = \sum_{k = -\infty}^{\infty} x[k] h[n - k]\)

    Для сигналу безперервного часу s (t) перетворення Фур'є s (t), представлене як S (ω), показує частотний вміст s (t) як функція радіан частоти ω. Обернене перетворення Фур'є S (ω) повертає початкове представлення часової області. Дві функції, що представляють один і той же сигнал з різних точок зору області, утворюють пару перетворення Фур'є, позначену як: s (t) <==> S (ω).

    Відгук системи на імпульс називається імпульсною характеристикою і позначається як h (t). Частотне представлення імпульсної характеристики, H (ω), називається частотною характеристикою. З огляду на вхідний сигнал до відомої системи LTI, вихід можна визначити:

    у часовій області як згортка вхідного та імпульсного відгуку LTI, або

    у частотній області як добуток вхідного спектра та частотної характеристики LTI.

    Іншим чином, враховуючи вхід, x (t), спектр якого дорівнює X (ω), до систем LTI, імпульсна характеристика яких h (t) (чий спектр H (ω), частотна характеристика), тоді вихід, y (t), а його спектр, Y (ω), задається як

    Часова область: y (t) = x (t) * h (t)

    Частотна область: Y (ω) = X (ω) H (ω)

    візуальне представлення входів і виходів системи LTI

    2.1.2 Безперервна згортка часу

    Для неперервних функцій f (t) і g (t) згортка визначається

    \(f(t) * g(t) = \int_{0}^{t} f(\tau) g(t - \tau) \,d\tau\)

    і має такі властивості:

    f * г = г * ф комутативна власність
    f * (г 1 + г 2) = f * г 1 + ф * г 2 розподільна власність
    (Ф* г) * v = f * (г* v) асоціативна властивість

    2.1.3 Імпульсна функція одиниці безперервного часу

    Одинична імпульсна функція або дельта-функція Дірака визначається як

    δ (t) = ∞, t = 0 δ (т-а) = ∞, t = а

    = 0, t ≠ 0 = 0, tа

    і

    \(\int_{-\infty}^{\infty} \delta(t) \,dt =\int_{-\infty}^{\infty} \delta(t - a) \,dt = 1\)

    так як δ (t-a) має нескінченну силу при t = a, має нульову тривалість при t = a, і має площу одиниці.

    Сигнал безперервного часу x (t) може бути реплікований згорткою з одиничною імпульсною функцією:

    \(x(t) = \int_{-\infty}^{\infty} x(\tau) \delta (t - \tau) \,d\tau \)

    2.1.4 Дискретно-часова одиниця імпульсної функції

    Сигнал безперервного часу може бути дискретизований у послідовність x [0], x [1], x [2]..., збираючи значення цього інтеграла в конкретний час t 0, t 0 + T, t 0 +2 T , t 0 +3 Т і т.д. так що

    х [0] = х (т) * δ (т 0) = х (т 0)

    х [1] = х (т) * δ (т 0 + Т) = х (т 0 + Т)

    х [2] = х (т) * δ (t 0 +2 Т) = х (t 0 +2 Т)

    :::

    х [п] = х (т) * δ (т 0+п Т) = х (т 0 +п Т)

    Дужки, [], використовуються для позначення послідовностей дискретного часу, тоді як дужки, (), використовуються для позначення функцій безперервного часу. У цьому прикладі послідовність x [0], x [1],... x [n]... є дискретним тимчасовим представленням функції безперервного часу x (t).

    Дискретно-часовий варіант одиничної імпульсної послідовності називається одиничною послідовністю вибірки або функцією одиничного імпульсу. Функція одиничного імпульсу визначається як

    δ [n] = 1, n = 0,

    0, н ≠ 0

    Щоб правильно інтерпретувати між функціями безперервного часу та дискретно-часовими послідовностями, слід зазначити, що одинична імпульсна функція повинна мати одиничну площу. Щоб зберегти це визначення для імпульсу тривалістю Т, то амплітуда повинна бути визначена як 1/ T. Вищевказане визначення передбачає T = 1.

    Сигнал дискретного часу x [n] може бути реплікований згорткою з функцією одиничного імпульсу:

    \(x[n] = x[n] * \delta [n] = \sum_{k = -\infty}^{\infty} x[k] \delta [n - k]\)

    2.1.5 Одновимірна дискретно-часова згортка

    Операція згортки дискретного часу визначається як

    \(f[n] * g[n] = \sum_{k = -\infty}^{\infty} f[k] g[n - k]\)

    Рівняння 2.1-1

    Приклад 2.1-1

    Використовуйте рівняння 2.1-1 для обчислення y [n] = f [n] * g [n] де f [n] = {1 2 3} і g [n] = {1 1 1 1 1 1}.

    Приклад 2.1-1

    Використовуйте рівняння 2.1-1 для обчислення y [n] = f [n] * g [n] де f [n] = {1 2 3} і g [n] = {1 1 1 1 1 1}.

    Рішення:

    f [n] = {1 2 3} означає f [0] = 1, f [1] = 2, f [2] = 3 і

    g [n] = {1 1 1 1 1} має на увазі г [0] = г [1] = г [2] = г [3] = г [4] = г [5] = 1

    Для n = 0 рівняння 2.1-1 дає підсумовування y [0] =... f [−1] g [1] + f [0] g [0] + f [1] g [−1] +...

    але всі значення f [n] і g [n] дорівнюють нулю для n < 0, тому y [0] = f [0] g [0] = 1.

    \(y[0] = \sum_{k = 0}^{5} f[k] g[0 - k] = f[0]g[0] = 1\)

    \(y[1] = \sum_{k = 0}^{5} f[k] g[1 - k] = f[0]g[1] + f[1]g[0] = 1 + 2 = 3\)

    \(y[2] = \sum_{k = 0}^{5} f[k] g[2 - k] = f[0]g[2] + f[1]g[1] + f[2]g[0] = 1 + 2 + 3 = 6\)

    \(y[3] = \sum_{k = 0}^{5} f[k] g[3 - k] = f[0]g[3] + f[1]g[2] + f[2]g[1] = 1 + 2 + 3 = 6\)

    \(y[4] = \sum_{k = 0}^{5} f[k] g[4 - k] = f[0]g[4] + f[1]g[3] + f[2]g[2] = 1 + 2 + 3 = 6\)

    \(y[5] = \sum_{k = 0}^{5} f[k] g[5 - k] = f[0]g[5] + f[1]g[4] + f[2]g[3] = 1 + 2 + 3 = 6\)

    \(y[6] = \sum_{k = 0}^{5} f[k] g[6 - k] = f[1]g[5] + f[2]g[4] = 2 + 3 = 5\)

    \(y[7] = \sum_{k = 0}^{5} f[k] g[7 - k] = f[2]g[5] = 3\)

    Де продукти опускаються, коли вони дорівнюють нулю для конкретних k значень. Результат - y [n] = {1 3 6 6 6 6 6 5 3}.

    Ми також могли б візуалізувати відповідь графічно, змінивши послідовність g [n] і помістивши її нижче f [n] і компенсуючи значенням n в рівнянні 2.1-1. Перші три значення, визначені за допомогою цього графічного підходу, наведені тут:

    n = 0:

    k: -5 -4 -3 -2 -1 0 1 2 3 4 5

    ф [k]: 0 0 0 0 1 2 3 0 0

    г [н-к]: 1 1 1 1 1 1 0 0 0

    \(y[0]=\sum_{k=0}^{5} f[k] g[0-k]=f[0] g[0]=1\)

    n = 1:

    k: -5 -4 -3 -2 -1 0 1 2 3 4 5

    ф [k]: 0 0 0 0 1 2 3 0 0

    г [н-к]: 0 1 1 1 1 1 1 1 0 0 0

    \(y[1]=\sum_{k=0}^{5} f[k] g[1-k]=f[0] g[1] + f[1] g[0]=1 + 2 = 3\)

    n =2:

    k: -5 -4 -3 -2 -1 0 1 2 3 4 5

    ф [k]: 0 0 0 0 1 2 3 0 0

    г [н-к]: 0 0 1 1 1 1 1 1 1 0 0

    \(y[2] = \sum_{k = 0}^{5} f[k] g[2 - k] = f[0]g[2] + f[1]g[1] + f[2]g[0] = 1 + 2 + 3 = 6\)

    І так далі.

    Приклад 2.1-2

    Розв'яжіть ту саму згортку (приклад 2.1-1), використовуючи Рівняння 2.1-1, але переверніть ролі f [n] та g [n].

    Рішення:

    За рахунок комутативного властивості результат повинен бути однаковим. Використовуючи рівняння 2.1-1, порядок також можна змінити, як y = g * f, даючи:
    \(y[0]=\sum_{k=0}^{5} g[k] f[0-k]=g[0] f[0]=1 \)
    \(y[1]=\sum_{k=0}^{5} g[k] f[1-k]=g[0] f[1]+g[1] f[0]=2+1=3 \)
    \(y[2]=\sum_{k=0}^{5} g[k] f[2-k]=g[0] f[2]+g[1] f[1]+g[2] f[0]=3+2+1=6 \)
    \(y[3]=\sum_{k=0}^{5} g[k] f[3-k]=g[1] f[2]+g[2] f[1]+g[3] f[0]=3+2+1=6 \)
    \(y[4]=\sum_{k=0}^{5} g[k] f[4-k]=g[2] f[2]+g[3] f[1]+g[4] f[0]=3+2+1=6 \)
    \(y[5]=\sum_{k=0}^{5} g[k] f[5-k]=g[3] f[2]+g[4] f[1]+g[5] f[0]=3+2+1=6 \)
    \(y[6]=\sum_{k=0}^{5} g[k] f[6-k]=g[4] f[2]+g[5] f[1]=3+2=5 \)
    \(y[7]=\sum_{k=0}^{5} g[k] f[7-k]=g[5] f[2]+g[5] f[1]=3 \)

    так що ще раз у [n] = {1 3 6 6 6 6 6 5 3}.

    Як і раніше, ми могли б також візуалізувати відповідь графічно, але цього разу, змінивши послідовність f [n] і помістивши її нижче g [n] і компенсуючи значення n в Рівнянні 2.1-1. Перші три значення, визначені за допомогою цього графічного підходу, наведені тут:

    n = 0:

    k: —2 —1 0 1 2 3 4 5 6

    г [k]: 0 0 1 1 1 1 1 1 1 1 0

    ф [н-к]: 3 2 1 0 0 0 0 0

    \(y[0]=\sum_{k=0}^{5} g[k] f[0-k]=g[0] f[0]=1\)

    n = 1:

    k: —2 —1 0 1 2 3 4 5 6

    г [k]: 0 0 1 1 1 1 1 1 1 1 0

    ф [н-к]: 0 3 2 1 0 0 0 0

    \(y[1]=\sum_{k=0}^{5} g[k] f[1-k]=g[0] f[1]+g[1] f[0]=2+1=3 \)

    n =2:

    k: —2 —1 0 1 2 3 4 5 6

    г [k]: 0 0 1 1 1 1 1 1 1 1 0

    ф [н-к]: 0 0 3 2 1 0 0 0

    \(y[2]=\sum_{k=0}^{5} g[k] f[2-k]=g[0] f[2]+g[1] f[1]+g[2] f[0]=3+2+1=6 \)

    Згортки можна швидко обчислити в MatLab, що розшифровується як «матрична лабораторія», програмний продукт Mathworks, Inc. [MatLab]. Послідовність y = f * g {мається на увазі y [n] = f [n] * g [n]}, як визначено в прикладі 2.1-1, обчислюється в Matlab як

    >> f = [1 2 3];
    >> г = [1 1 1 1 1 1];
    >> у = конв (ф, г)

    у = 1 3 6 6 6 6 6 6 5 3

    Зауважте, що результуюча послідовність довша, ніж обидві вхідні послідовності; це природний наслідок операції згортки. Крім того, MatLab не використовує нульовий й елемент; перший елемент y посилається в MatLab як y [1], що є тим самим значенням, що і y [0] у Рівнянні 2.1-1. Враховуючи ці міркування, моделювання підтверджує рукописні результати у прикладі 2.1-1.

    Вправа 2.1-1

    Використовуйте рівняння 2.1-1 для обчислення y [n] = x [n] * h [n] для x [n] = {1 2 2} і h [n] = {1 3}. Перевірте свою відповідь за допомогою графічної згортки.

    Відповідь: y [n] = {1 5 8 6}

    Вправа 2.1-2

    Використовуйте рівняння 2.1-1 для обчислення y [n] = x [n] * h [n] для заданих послідовностей. Перевірте свою відповідь за допомогою графічної згортки.

    1. x [n] = {1 1 1 1} і h [n] = {0,25 0,5 0,25}.

    2. x [n] = {1 1 1 1} і h [n] = {0,25 -0,5 0,25}.

    Відповіді:

    1. y [n] = {0,25 0,75 1,0 1,0 1,0 0,75 0,25}

    2. y [n] = {-0.25 0,25 0 0 0 0,25 -0,25}

    2.1.6 Двовимірна дискретно-часова згортка

    У програмах обробки сигналів одна послідовність може представляти фільтр, а інша - заданий вхідний сигнал. Згортання двох сигналів дасть вихід, який є відфільтрованим поданням даного вхідного сигналу. Обробка зображень - це двовимірна (2D) обробка сигналів, де один 2D сигнал (зображення) являє собою фільтр, а інший - вхідне зображення. Для біоміметичних застосувань фільтр може представляти модель природного явища, оскільки він впливає на необроблені зображення. Якщо припустити 2D змінні f (x, y) і g (x, y), операція 2D згортки задається як:

    \(f[x, y] * g[x, y]=\sum_{m=0}^{M-1} \sum_{n=0}^{N-1} f[m, n] g[x-m, y-n]\)

    Приклад 2.1-3

    За допомогою комп'ютера MatLab 2D згортки y = f * g задано 2D змінні f і g, визначені тут:

    f = 1 1 г = 2 2 2

    1 1 2 2 2

    2 2 2

    Рішення:

    >> f = [1 1; 1 1];

    >> г = [2 2 2; 2 2 2; 2 2 2];

    >> у = конв2 (ф, г) у = 2 4 4 2

    4 8 8 4

    4 8 8 4

    2 4 4 2

    Зверніть увагу, що як для 1D, так і для 2D згорток результат має тенденцію до зростання. Іноді необхідно «обрізати» внутрішні пікселі так, щоб відфільтрована версія була такого ж розміру, як і оригінал. Наприклад, визначення f нижче як 5x5 2D одиничний імпульс і виконання згортки з 3x3 2D змінною g призводить до результату 7x7:

    >> f = нулі (5);

    >> ф (3,3) = 1; ф = 0 0 0 0

    0 0 0 0 0

    0 0 1 0 0

    0 0 0 0 0

    0 0 0 0 0

    >> г = [1 2 3; 4 5 6; 7 8 9]; г = 1 2 3

    4 5 6

    7 8 9

    >> y=conv2 (ф, г); у = 0 0 0 0 0 0

    0 0 0 0 0 0

    0 0 1 2 3 0 0

    0 0 4 5 6 0 0

    0 0 7 8 9 0 0

    0 0 0 0 0 0

    0 0 0 0 0 0

    Щоб візуалізувати обчислення, переверніть g як по вертикалі, так і по горизонталі:

    г* = 9 8 7

    6 5 4

    3 2 1

    Значення для y знаходять шляхом розміщення g* над кожним елементом f, а потім виконуючи крапковий добуток; тобто помножити елемент на елемент, а потім додати добуток (суму добутків). Один із способів обрізати середину 5x5 - вручну перевизначити y:

    >> у = у (2:6, 2:6); ; Ця команда перевизначає y, щоб бути рядком 2 до 6 і стовпцем 2 по 6. Результатом є обрізання внутрішнього зображення 5x5 попередньої згортки так, що відфільтрована версія тепер має такий же розмір, як вихідне зображення, f.

    у = 0 0 0 0 0

    0 1 2 3 0

    0 4 5 6 0

    0 7 8 9 0

    0 0 0 0 0

    Кращою альтернативою для вирізання центральних пікселів є використання того самого атрибута у функції conv2 Matlab при визначенні y:

    >> y=conv2 (f, g, 'те саме'); y = 0 0 0 0 0

    0 1 2 3 0

    0 4 5 6 0

    0 7 8 9 0

    0 0 0 0 0

    Вправа 2.1-3

    Враховуючи 2D фільтр f і зображення x, задайте виведене відфільтроване зображення y = f * x.

    f = -2 0 2 х = 0 0 0

    -1 0 1 0 1

    0 1 0 0 0

    Дайте як обрізане, так і необрізане зображення вихідних даних.

    Відповіді:

    Необрізаний: y = 0 0 0 0 0 Обрізаний: y = -2 -2 2

    0 -2 2 2 -1 -1

    0 -1 1 1 0 1

    0 0 1 1 0

    0 0 0 0 0