2 / 2 / 0
Регистрация: 19.01.2016
Сообщений: 228
|
||||||
1 | ||||||
Вычислить изменение фазы во времени для двух сигналов10.04.2019, 10:12. Показов 5308. Ответов 9
Метки нет (Все метки)
Добрый день всем!
Есть два сигнала. Давайте выведем их на графики и посмотрим на них. Есть файл данных results_V.txt results_V.txt.zip. Подгружаем из него данные для V_1 и V_2 и выводим их на один график:
Вот эту теорию я прочитал: (URL сайта здесь не вставляется, обрезается, поэтому я вставлю картинкой: ) Но, так и не пришло понимание как считать мгновенную фазу в зависимости от времени. Прошу помощи.
0
|
10.04.2019, 10:12 | |
Ответы с готовыми решениями:
9
Сравнение сигналов разной амплитуды и фазы Объясните изменение фазы Изменение фазы сигнала с использоваением БПФ Построить временные диаграммы выходных сигналов триггеров для заданных входных сигналов |
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
|
|
10.04.2019, 14:05 | 2 |
Можно поступить так:
1) Разделить оба сигнала на N окон, шириной T = длительности периода колебаний. (С помощью функции reshape, например, или любым другим способом) 2) Для каждой пары соответствующих окон вычислить корреляционную функцию (с помощью xcorr). 3) xcorr возвращает массив значений корреляционной функции длиной 2*T-1. Центральный элемент массива (элемент с индексом T) соответствует нулевому сдвигу сигналов (относительно друг-друга). Элемент с индексом T-1 соответствует сдвигу на один отсчет влево, Элемент с индексом T+1 - на один отсчет вправо, и т.д. Ваша задача - найти индекс I максимального элемента в каждом массиве возвращаемом xcorr. Тогда сдвиг сигналов между собой будет равен I-T отсчетов. А уж фазовый угол посчитаете зная, что T = 2*Pi.
0
|
2 / 2 / 0
Регистрация: 19.01.2016
Сообщений: 228
|
|
10.04.2019, 18:27 [ТС] | 4 |
ida2, это так себе решение. Периоды могут меняться у сигналов (но не значительно), они подстраиваются друг под друга. Более интересный пример, в догонку. Нужно найти и построить на графике разность фаз вот таких сигналов:
R2D2, посмотрел. Здесь D - это одно число, усреднённая задержка двух сигналов, по всей временной реализации. А нужна мгновенная фаза. Существует ли вообще универсальный алгоритм отыскания разности фаз между двумя (не синусоидальными) сигналами? Очень нужно.
0
|
2 / 2 / 0
Регистрация: 19.01.2016
Сообщений: 228
|
|
10.04.2019, 18:59 [ТС] | 5 |
Нашел первоисточник на инглише: https://stackoverflow.com/ques... en-signals, но затрудняюсь как применить это.
Даже по ключевым словам "matlab instantaneous phase between two signals" ничего толкового не находится...
0
|
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
|
|
10.04.2019, 19:20 | 6 |
В этом месте нужно сказать, погодите. Понятие сдвиг фаз может быть применено только к периодическим сигналам одинаковой частоты. И не иначе.
Может быть, вам тогда стоит искать расстояния между пиками с одинаковым индексами (т.е. между первым и первым, между вторым и вторым, и т.д.). Функция findpeaks для этого.
0
|
2 / 2 / 0
Регистрация: 19.01.2016
Сообщений: 228
|
|
10.04.2019, 21:11 [ТС] | 7 |
ida2, не совсем корректно. Взаимодействие этих сигналов проявляется в сдвигах фаз. Именно это и нужно мне увидеть.
Если вы говорите про пики, то я их и так ищу, нахожу разницу между пиками, это будут у меня периоды = T_i (они меняются во времени, прикиньте), далее я считаю omega_i = 1 / T_i, смотрю плотность распределения этих частот, нормирую на единицу, и вижу спектр. Конечно, несущая частота здесь будет присутствовать. Вот частоты для этих двух сигналов: . Они переодически смещают свои фазы друг относительно друга и подстраиваются под одну частоту. Происходит это "почти периодически", а может и через какой то долгий промежуток переходного процесса и перестать происходить. Только эта информация мне не поможет увидеть разницу фаз между сигналами
0
|
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
|
|
10.04.2019, 21:46 | 8 |
Я имел в виду, что сдвиг двух сигналов, в случае когда периоды их колебаний не равны, не совсем корректно называть фазовым сдвигом. Но это так, лирика ...
Когда я говорил про поиск пиков, я имел в виду пики сигнала во временной области, не в частотной. Типа, найти координаты каждого острого пика в каждом сигнале, а затем сравнивать координаты соответствующих пиков из разных сигналов. А в частотной области можно попробовать получить фазовые спектры для каждого периода каждого сигнала и сравнивать фазовый сдвиг первых (основных) гармоник для двух соответствующих периодов. Но, т.к. период колебаний ваших сигналов, как я понял, изменяются во времени, то боюсь, что ничего хорошего не выйдет.
0
|
2 / 2 / 0
Регистрация: 19.01.2016
Сообщений: 228
|
|
10.04.2019, 22:20 [ТС] | 9 |
Не вопрос. Вот растр пиков-спайков:
Вот периоды и плотность распределения периодов: Что с чем сравнивать что бы найти зависимость разности фаз во времени?
0
|
164 / 134 / 61
Регистрация: 16.05.2015
Сообщений: 372
|
|
10.04.2019, 23:13 | 10 |
Если у вас есть массивы координат (метки времени или номера отсчетов) пиков для каждого сигнала (скажем X3 и X4), может стоит попытаться вычислять сдвиг как простую разность X3[1]-X4[1], X3[2]-X4[2] и т.д.?
0
|
10.04.2019, 23:13 | |
10.04.2019, 23:13 | |
Помогаю со студенческими работами здесь
10
Построить временные диаграммы выходных сигналов триггеров для заданных входных сигналов Построить временные диаграммы выходных сигналов триггеров для заданных входных сигналов Дискретизация сигналов во времени Подсчёт времени между получением сигналов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |