You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content-ukraine/cyclostationary.rst
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -435,25 +435,25 @@ QPSK та модуляції вищих порядків
435
435
Незабаром! У розділі буде QPSK, вищі порядки PSK, QAM та короткий вступ до циклічних моментів і кумулянтів вищих порядків.
436
436
437
437
********************************
438
-
Кілька перекривних сигналів
438
+
Кілька сигналів, що перекриваються
439
439
********************************
440
440
441
-
Досі ми розглядали по одному сигналу, але що, якщо в отриманому сигналі одночасно присутні кілька сигналів, які перекриваються за частотою, часом і навіть циклічною частотою (тобто мають однакову кількість відліків на символ)? Якщо сигнали зовсім не перекриваються в частоті, можна застосувати просте фільтрування та PSD для їх виявлення (за умови, що вони вище шумового порога). Якщо вони не перекриваються в часі, можна визначити моменти увімкнення/вимкнення кожної передачі й обробляти кожну окремо. У CSP нас зазвичай цікавить виявлення сигналів на різних циклічних частотах, які перекриваються одночасно і за часом, і за частотою.
441
+
Досі ми розглядали один сигнал, але що буде, якщо в отриманому сигналі одночасно присутні кілька сигналів, які перекриваються по частоті та часу і навіть по циклічній частоті (тобто мають однакову кількість відліків на символ)? Якщо сигнали зовсім не перекриваються по частоті, можна застосувати просте фільтрування та PSD для їх виявлення (за умови, що сигнали вище шумового порога). Якщо сигнали не перетинаються в часі, можна визначити моменти увімкнення/вимкнення кожної передачі, а потім обробляти кожен сигнал окремо. У CSP нас зазвичай цікавить виявлення сигналів на різних циклічних частотах, які перекриваються одночасно і по часу, і по частоті.
442
442
443
443
Змоделюємо три сигнали з різними властивостями:
444
444
445
-
* Сигнал 1: прямокутний BPSK із 20 відліками на символ і частотним зсувом 0.2 Гц
446
-
* Сигнал 2: BPSK із формуванням імпульсу, 20 відліків на символ, частотний зсув -0.1 Гц, коефіцієнт roll-off 0.35
447
-
* Сигнал 3: QPSK із формуванням імпульсу, 4 відліки на символ, частотний зсув 0.2 Гц, коефіцієнт roll-off 0.21
445
+
* Сигнал 1: прямокутний BPSK з 20 відліками на символ і частотним зсувом 0.2 Гц
446
+
* Сигнал 2: BPSK із формуванням імпульсу, 20 відліків на символ, частотний зсув -0.1 Гц, коефіцієнт спадання roll-off 0.35
447
+
* Сигнал 3: QPSK із формуванням імпульсу, 4 відліки на символ, частотний зсув 0.2 Гц, коефіцієнт спадання roll-off 0.21
448
448
449
-
Отже, маємо два сигнали з однаковою циклічною частотою та два — з однаковою RF-частотою. Це дозволить дослідити різні ступені перекриття параметрів.
449
+
Отже, маємо два сигнали з однаковою циклічною частотою та два — з однаковою радіо-частотою. Це дозволить дослідити різні ступені перекриття параметрів.
450
450
451
-
До кожного сигналу додається фільтр дробової затримки з довільною (нецілою) затримкою, щоб уникнути артефактів, пов’язаних із синхронним розташуванням відліків (докладніше про це в розділі :ref:`sync-chapter`). Потужність прямокутного BPSK зменшено порівняно з двома іншими, оскільки сигнали з прямокутними імпульсами мають дуже виражені циклічно-стаціонарні властивості й схильні домінувати в SCF.
451
+
До кожного сигналу додається фільтр дробової затримки з довільною (нецілою) затримкою. Це треба, щоб уникнути артефактів, пов’язаних із синхронним розташуванням відліків (докладніше дивись про це в розділі :ref:`sync-chapter`). Потужність прямокутного BPSK зменшено порівняно з двома іншими, оскільки сигнали з прямокутними імпульсами мають дуже виражені циклічно-стаціонарні властивості й схильні домінувати в SCF.
452
452
453
453
.. raw:: html
454
454
455
455
<details>
456
-
<summary>Показати код Python для симуляції трьох сигналів</summary>
456
+
<summary>Код Python для симуляції трьох сигналів</summary>
457
457
458
458
.. code-block:: python
459
459
@@ -524,25 +524,25 @@ QPSK та модуляції вищих порядків
:alt: SCF трьох сигналів, обчислена методом згладжування за частотою (FSM)
527
+
:alt: SCF трьох сигналів, обчислена методом частотного згладжування (FSM)
528
528
529
-
Зауважте, що сигнал 1, хоч і з прямокутними імпульсами, переважно маскується «конусом» над сигналом 3. На PSD сигнал 1 «ховався» за сигналом 3. Завдяки CSP ми можемо виявити присутність сигналу 1 та приблизно визначити його циклічну частоту, яку потім можна використати для синхронізації. Ось у чому сила циклічно-стаціонарної обробки!
529
+
Зауважте, що сигнал 1, хоч він і з прямокутними імпульсами, і має гармоніки, але вони переважно маскуються «конусом» сигналом 3. PSD сигнал 3 «ховає» сигналом 1. Завдяки CSP ми можемо виявити присутність сигналу 1 та приблизно визначити його циклічну частоту, яку потім можна використати для синхронізації. Ось у чому сила циклічно-стаціонарної обробки!
530
530
531
531
************************
532
532
Альтернативні ознаки CSP
533
533
************************
534
534
535
-
SCF — не єдиний спосіб виявляти циклічно-стаціонарність сигналу, особливо якщо вам не потрібно розглядати циклічну частоту як функцію RF-частоти. Проста (і концептуально, і обчислювально) техніка передбачає взяття **FFT від модуля** сигналу й пошук піків. У Python це виглядає так:
535
+
SCF — не єдиний спосіб виявляти для сигналу його циклічно-стаціонарність, особливо якщо вам не потрібно розглядати циклічну частоту з прив'язкою до радіочастоти. Простий (і концептуально, і з точки зору обчислювальних ресурсів) метод передбачає взяття **FFT від амплідтуд** сигналу й пошук піків. На Python це виглядає так:
536
536
537
537
.. code-block:: python
538
538
539
539
samples_mag = np.abs(samples)
540
540
#samples_mag = samples * np.conj(samples) # pretty much the same as line above
Зверніть увагу, що цей метод еквівалентний множенню сигналу на власне комплексне спряження з наступним взяттям FFT.
543
+
Зверніть увагу, що цей метод еквівалентний множенню сигналу на власне комплексне спряження з подальшим взяттям FFT.
544
544
545
-
Перед побудовою графіка занулімо DC-компонент, бо вона містить багато енергії й псує динамічний діапазон. Також відкиньмо половину виходу FFT, оскільки вхід реальний, а отже результат симетричний. Після цього можна побудувати графік і побачити піки:
545
+
Перед побудовою графіка усунемо постійну складову з сигналу, бо вона містить багато енергії й псує динамічний діапазон. Також відкиньмо половину виходу FFT, оскільки на вході в нас дійсні значне, а отже вихідний результат буде симетричний. Після цього можна побудувати графік і побачити піки:
546
546
547
547
.. code-block:: python
548
548
@@ -551,18 +551,18 @@ SCF — не єдиний спосіб виявляти циклічно-ста
551
551
f = np.linspace(-0.5, 0.5, len(samples))
552
552
plt.plot(f, magnitude_metric)
553
553
554
-
Далі можна застосувати алгоритм пошуку піків, наприклад :code:`signal.find_peaks()` зі SciPy. На рисунку нижче показано :code:`magnitude_metric` для кожного з трьох сигналів із попереднього розділу (спершу окремо, потім разом):
554
+
Далі можна застосувати алгоритм пошуку піків, наприклад :code:`signal.find_peaks()` зі SciPy. На рисунку нижче показано :code:`magnitude_metric` для кожного з трьох сигналів із попереднього розділу (спершу показан результат для кожного сигналу окремого, потім результат для їх суми):
555
555
556
556
.. image:: ../_images/non_csp_metric.svg
557
557
:align: center
558
558
:target: ../_images/non_csp_metric.svg
559
559
:alt: Метрика для виявлення циклічно-стаціонарності без використання CAF чи SCF
560
560
561
-
Гармоніки прямокутного BPSK, на жаль, перекриваються з циклічними частотами інших сигналів — це демонструє недолік цього альтернативного підходу: він не дозволяє розглядати циклічну частоту як функцію RF-частоти, як це робить SCF.
561
+
Гармоніки прямокутного BPSK, на жаль, перекриваються з циклічними частотами інших сигналів і це демонструє недолік цього альтернативного підходу: він не дозволяє розглядати циклічну частоту з прив'язкою до радіочастоти, як це може робить SCF.
562
562
563
-
Хоч цей метод і використовує циклічно-стаціонарність сигналів, його зазвичай не відносять до «технік CSP», можливо, через простоту...
563
+
Хоч цей метод і використовує циклічну-стаціонарність сигналів, його зазвичай не відносять до «технік CSP», можливо, через простоту...
564
564
565
-
Для пошуку RF-частоти сигналу, тобто зсуву несучої, існує схожий прийом. Для сигналів BPSK достатньо взяти FFT від сигналу у квадраті (вхід FFT буде комплексним). Це дасть пік на частоті, що дорівнює подвоєному зсуву несучої. Для QPSK можна взяти FFT від сигналу в четвертій степені й отримати пік на частоті, що дорівнює зсуву несучої, помноженому на 4.
565
+
Для пошуку RF-частоти сигналу, тобто зсуву несучої, існує схожий прийом. Для сигналів BPSK достатньо взяти FFT від сигналу у квадраті (вхідні значення для FFT буде комплексними значеннями). Це дасть пік на частоті, що дорівнює подвоєному зсуву несучої. Для QPSK можна взяти FFT від сигналу в четвертій степені й отримати пік на частоті, що дорівнює зсуву несучої, помноженому на 4.
566
566
567
567
.. code-block:: python
568
568
@@ -574,7 +574,7 @@ SCF — не єдиний спосіб виявляти циклічно-ста
0 commit comments