Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 14

Фазовый портрет сигнала по точкам

29.01.2020, 06:57. Показов 4759. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня есть сигнал формата .txt (время, напряжение) и нужно построить фазовый портрет. Нашёл в интернете разные примеры, но они конкретно для дифф.ур'ов. Вот такой код получился у меня, он выглядит очень коряво и фазовый портрет тоже, всё ли правильно?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import numpy as np
import matplotlib.pyplot as plt
 
M1 = np.loadtxt("1.txt")
t1 = M1[:,0]
s1 = M1[:,1]
n1 = len(s1)
tAdd = t1[25201]
Fs = 202665 #частота дискретизации
t0 = np.split(t1, 2)
t0_ = t0[0];
t__ = np.append(t0_, tAdd) #время размерности графика
FFTsig1 = np.fft.rfft(s1, n1)
FFTsig1_ = np.abs(FFTsig1)
Phase0 = np.angle(FFTsig1);
F = np.arange(0, Fs/2 + Fs/(n1*2), Fs/n1);
dPhase0 = np.diff(Phase0)/np.diff(t__)
pseudoPhase = np.delete(Phase0, 25200)
plt.plot(pseudoPhase, dPhase0)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2020, 06:57
Ответы с готовыми решениями:

Нарисовать фазовый портрет решений системы уравнений
Нарисовать фазовый портрет решений системы уравнений (система дифференциальных уравнений движения материальной точки в среде с...

Построить фазовый портрет по точкам
Добрый день. Стоит следующая задача: дана система из трех ДУ. Нужно решить ее численно методом Эйлера, получить зависимость Psi (T) -...

Фазовый портрет
Добрый день. Раньше не пользовалась мэпл 13, но захотелось построить график покрасивще, чем от руки. Помогите разобраться в чем ошибка ...

4
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
29.01.2020, 16:53
Может имеется ввиду АФЧХ?
Сделали fft и стройте зависимость мнимой части от действительной.

Добавлено через 10 минут
Т.е. изображаете точки на комплексной плоскости.
0
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 14
30.01.2020, 00:35  [ТС]
вроде нет, зависимость производной от функции, может я просто в коде что-то не так сделал. Ещё эти цифры пришлось вбивать(частоту дискретизации, количество отсчётов/2), эти цифры приходится сначала считать из файла и каждый раз они будут разные, вбивать не самое удобное решение. Когда я пытался вектор создать от 1 до n/2 у меня писало ошибку, в общем всё диковинно и что-то может быть не правильно, в целом нужно построить, но с этим вроде относительно не возникло проблем. Раньше я пытался это сделать в матлабе, попытался импортировать код, но выдавало ошибки в элементах P*:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#from scipy.integrate import odeint
import numpy as np
import matplotlib.pyplot as plt
 
#from matplotlib import rcParams
#rcParams['font.sans-serif']=['Arial']
M1 = np.loadtxt("1.txt")
t1 = M1[:,0]
s1 = M1[:,1]
s = np.array(M1[:,1])
t = np.array(M1[:,0])
n1 = len(s)
FFTsig1 = np.fft(s1, n1)
def func(s1, t1):
plt.plot(t1, s1, color='blue')
        FFTsig1 = np.fft(s1, n1)
 
Phase0 = np.angle(FFTsig1);
plt.plot(t1, Phase0)
P21 = abs(FFTsig1 / n1)
P11 = P21(1, n1/2)
P11[2, n1/2] = 2*P11(2, n1/2)
P41 = np.angle(FFTsig1 / n1);
P31 = P41(1, n1/2);
P31[2, n1/2] = 2*P31(2, n1/2);  # Фазовый спектр
Phase1 = np.angle(FFTsig1); # Фазовый спектр тоже
Amp1 = abs(FFTsig1);
fs = 1 / (1 * 10^-7); # частота дискретизации
F = 0, fs/2 - fs/n1, fs/n1;
       return FFTsig1;
plt.plot(t1, FFTsig1)
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
30.01.2020, 07:33
Лучший ответ Сообщение было отмечено Armlet как решение

Решение

Строка 23:
Фаза не изменится поделите вы на n или нет.
Строка 25:
Зачем умножение на 2? Для амплитуды это еще как-то объяснимо, но не для фазы.
Строка31:
Что нужно изобразить? Какую зависимость? ФЧХ, АЧХ?
Если сделали FFT, то уже не время t1, а частота.
1
0 / 0 / 0
Регистрация: 03.01.2018
Сообщений: 14
31.01.2020, 00:25  [ТС]
сейчас мне всё прояснили и действительно нужно было реальную по x, мнимую часть аналитического сигнала по y откладывать, через преобразование гильберта
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.01.2020, 00:25
Помогаю со студенческими работами здесь

Фазовый портрет
Доброго времени суток. Очень надеюсь на вашу помощь, ибо что-то у меня не выходит "приручить" маткад. Вкратце: пишу бакалаврскую...

Построить фазовый портрет
Условия задачи: Движение груза массы m, подвешенного на пружине нулевой массы, зависимость упругой силы которой от деформации имеет вид...

Построить фазовый портрет
Доброго времени суток! Помогите, пожалуйста, выбивает ошибку при команде = ode45('F', t, x); , как будто захожу за пределы. Сама...

Построить фазовый портрет
Вообщем дана такая система уравнений: \left\{\begin{array}{lcl} \dot{x} & = & x\, -\, 3y \\ \dot{y} & = & 3xy \\ ...

Построить фазовый портрет
Помогите пожалуйста построить фазовый портреть уравнения y'''+3y''+2y'=1-x^2


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru