Помощь с fft

lumpara

Новичок
Пользователь
Фев 3, 2025
4
0
1
Привет всем, есть проблемы с преобразованием фурье. Имеем разбитые на дикреты осцилограмму, написан небольшой код, но уже не представляю как быть дальше. Я чайник, тапками не кидайте)
import csv import matplotlib.pyplot as plt import numpy as np from scipy.fft import fft, fftfreq import array def get_fft(filename): mas = [] time = [] sample_time = 0.00004 mas.append(float(row[1])) # Преобразуем строку в число with open(filename, newline='') as csvfile: spamreader = csv.reader(csvfile, delimiter=',') mas = [] time = [] counter = 0 for row in spamreader: if counter != 0: mas.append(float(row[1])) # Преобразуйте в float для правильной работы с FFT time.append(counter * sample_time) counter += 1 yf = np.fft.fft(mas) xf = fftfreq(len(mas), sample_time) return xf, yf def get_index_of_value(mass, value): max_index = 0 for ampl in mass: if(value == ampl): break max_index = max_index + 1 return max_index def get_hist_freq(freqs, ampls): max_ampl = max(ampls) max_index = get_index_of_value(ampls,max_ampl) source_freq = freqs[max_index] retMass = [] counterDist = 1 counterFreq = 0 for freq in freqs: counterFreq = counterFreq + 1 if((freq >= (counterDist * source_freq) - 1) & (freq <= (counterDist * source_freq) + 1) ): counterDist = counterDist + 1 retMass.append(ampls[counterFreq-1]) if(counterDist == 15): break return retMass xf30_Holost_PCH, yf30_Holost_PCH = get_fft("scope_csv_105_2.csv") xf35_Holost_PCH, yf35_Holost_PCH = get_fft("scope_csv_105_3.csv") xf40_Holost_PCH, yf40_Holost_PCH = get_fft("scope_csv_105_4.csv") xf45_Holost_PCH, yf45_Holost_PCH = get_fft("scope_csv_105_5.csv") xf50_Holost_PCH, yf50_Holost_PCH = get_fft("scope_csv_105_6.csv") xf30_N195_PCH, yf30_N195_PCH = get_fft("scope_csv_106_1.csv") xf35_N195_PCH, yf35_N195_PCH = get_fft("scope_csv_106_2.csv") xf40_N195_PCH, yf40_N195_PCH = get_fft("scope_csv_106_3.csv") xf45_N195_PCH, yf45_N195_PCH = get_fft("scope_csv_106_4.csv") xf50_N195_PCH, yf50_N195_PCH = get_fft("scope_csv_106_5.csv") xf50_N312_PCH, yf50_N312_PCH = get_fft("scope_csv_106_6.csv") xf50_N246_PCH, yf50_N246_PCH = get_fft("scope_csv_106_7.csv") xf50_N309_Rozetka, yf50_N309_Rozetka = get_fft("scope_csv_108_0.csv") xf50_N248_Rozetka, yf50_N248_Rozetka = get_fft("scope_csv_108_1.csv") xf50_N187_Rozetka, yf50_N187_Rozetka = get_fft("scope_csv_108_2.csv") xf50_Holost_Rozetka, yf50_Holost_Rozetka = get_fft("scope_csv_108_3.csv") plt.figure("FFT f30 Holost от ПЧ") plt.plot(np.abs(xf30_Holost_PCH), np.abs(yf30_Holost_PCH), color="r", label="30") plt.figure("FFT f35 Holost от ПЧ") plt.plot(np.abs(xf35_Holost_PCH), np.abs(yf35_Holost_PCH), color="r", label="35") plt.figure("FFT f40 Holost от ПЧ") plt.plot(np.abs(xf40_Holost_PCH), np.abs(yf40_Holost_PCH), color="r", label="40") plt.figure("FFT f45 Holost от ПЧ") plt.plot(np.abs(xf45_Holost_PCH), np.abs(yf45_Holost_PCH), color="r", label="45") plt.figure("FFT f50 Holost от ПЧ") plt.plot(np.abs(xf50_Holost_PCH), np.abs(yf50_Holost_PCH), color="r", label="50") plt.figure("FFT Холостой от ПЧ") plt.plot(np.abs(xf30_Holost_PCH), np.abs(yf30_Holost_PCH), color="r", label="30") plt.plot(np.abs(xf35_Holost_PCH), np.abs(yf35_Holost_PCH), color="g", label="35") plt.plot(np.abs(xf40_Holost_PCH), np.abs(yf40_Holost_PCH), color="b", label="40") plt.plot(np.abs(xf45_Holost_PCH), np.abs(yf45_Holost_PCH), color="c", label="45") plt.plot(np.abs(xf50_Holost_PCH), np.abs(yf50_Holost_PCH), color="y", label="50") plt.figure("FFT Холостой от ПЧ в 20ln") plt.plot(np.abs(xf30_Holost_PCH), 20*np.log10(np.abs(yf30_Holost_PCH)), color="r", label="30") plt.plot(np.abs(xf35_Holost_PCH), 20*np.log10(np.abs(yf35_Holost_PCH)), color="g", label="35") plt.plot(np.abs(xf40_Holost_PCH), 20*np.log10(np.abs(yf40_Holost_PCH)), color="b", label="40") plt.plot(np.abs(xf45_Holost_PCH), 20*np.log10(np.abs(yf45_Holost_PCH)), color="c", label="45") plt.plot(np.abs(xf50_Holost_PCH), 20*np.log10(np.abs(yf50_Holost_PCH)), color="y", label="50") plt.figure("FFT f30 Нагрузка R195 от ПЧ") plt.plot(np.abs(xf30_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="30") plt.figure("FFT f35 Нагрузка R195 от ПЧ") plt.plot(np.abs(xf35_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="35") plt.figure("FFT f40 Нагрузка R195 от ПЧ") plt.plot(np.abs(xf40_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="40") plt.figure("FFT f45 Нагрузка R195 от ПЧ") plt.plot(np.abs(xf45_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="45") plt.figure("FFT f50 Нагрузка R195 от ПЧ") plt.plot(np.abs(xf50_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="50") plt.figure("FFT Нагрузка R195 от ПЧ") plt.plot(np.abs(xf30_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="30") plt.plot(np.abs(xf35_N195_PCH), np.abs(yf35_N195_PCH), color="g", label="35") plt.plot(np.abs(xf40_N195_PCH), np.abs(yf40_N195_PCH), color="b", label="40") plt.plot(np.abs(xf45_N195_PCH), np.abs(yf45_N195_PCH), color="c", label="45") plt.plot(np.abs(xf50_N195_PCH), np.abs(yf50_N195_PCH), color="y", label="50") plt.figure("FFT Нагрузка R195 в 20ln") plt.plot(np.abs(xf30_N195_PCH), 20*np.log10(np.abs(yf30_N195_PCH)), color="r", label="30") plt.plot(np.abs(xf35_N195_PCH), 20*np.log10(np.abs(yf35_N195_PCH)), color="g", label="35") plt.plot(np.abs(xf40_N195_PCH), 20*np.log10(np.abs(yf40_N195_PCH)), color="b", label="40") plt.plot(np.abs(xf45_N195_PCH), 20*np.log10(np.abs(yf45_N195_PCH)), color="c", label="45") plt.plot(np.abs(xf50_N195_PCH), 20*np.log10(np.abs(yf50_N195_PCH)), color="y", label="50") plt.figure("FFT f50 Нагрузка R309 от Сети") plt.plot(np.abs(xf50_N309_Rozetka), np.abs(yf50_N309_Rozetka), color="r", label="50") plt.figure("FFT f50 Нагрузка R248 от Сети") plt.plot(np.abs(xf50_N248_Rozetka), np.abs(yf50_N248_Rozetka), color="r", label="50") plt.figure("FFT f50 Нагрузка R187 от Сети") plt.plot(np.abs(xf50_N187_Rozetka), np.abs(yf50_N187_Rozetka), color="r", label="50") plt.figure("FFT f50 Holost от Сети") plt.plot(np.abs(xf50_Holost_Rozetka), np.abs(yf50_Holost_Rozetka), color="r", label="50") xf50_N309_Rozetka, yf50_N309_Rozetka = get_fft("scope_csv_108_0.csv") xf50_N248_Rozetka, yf50_N248_Rozetka = get_fft("scope_csv_108_1.csv") xf50_N187_Rozetka, yf50_N187_Rozetka = get_fft("scope_csv_108_2.csv") xf50_Holost_Rozetka, yf50_Holost_Rozetka = get_fft("scope_csv_108_3.csv") ret = get_hist_freq(np.abs(xf30_N195_PCH,), np.abs(yf30_N195_PCH,)) print("30", ret/ret[0]) ret = get_hist_freq(np.abs(xf35_N195_PCH,), np.abs(yf35_N195_PCH,)) print("35", ret/ret[0]) ret = get_hist_freq(np.abs(xf40_N195_PCH,), np.abs(yf40_N195_PCH,)) print("40", ret/ret[0]) ret = get_hist_freq(np.abs(xf45_N195_PCH,), np.abs(yf45_N195_PCH,)) print("45", ret/ret[0]) ret = get_hist_freq(np.abs(xf50_N195_PCH,), np.abs(yf50_N195_PCH,)) print("50", ret/ret[0]) plt.show()
 

lumpara

Новичок
Пользователь
Фев 3, 2025
4
0
1
Дополню. Ошибка следующая
File "c:\Users\User\Desktop\nirs\tempCodeRunnerFile.py", line 14
with open(filename, newline='') as csvfile:
IndentationError: unexpected indent
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
441
121
43
Перевести ошибку не пробовал? В ней даже указали номер строки, у которой проблемы с отступами
А это на будущее
 

lumpara

Новичок
Пользователь
Фев 3, 2025
4
0
1
Перевести ошибку не пробовал? В ней даже указали номер строки, у которой проблемы с отступами
А это на будущее
так в том-то и дело, что переводил. И отступы менял и туда и сюда.
 

lumpara

Новичок
Пользователь
Фев 3, 2025
4
0
1
Перевести ошибку не пробовал? В ней даже указали номер строки, у которой проблемы с отступами
А это на будущее
Python:
import csv
import matplotlib.pyplot as plt
import numpy as np
from scipy.fft import fft, fftfreq

import array

def get_fft(filename):
    mas = []
    time = []
    sample_time = 0.00004
mas.append(float(row[1]))  # Преобразуем строку в число
    with open (filename, newline='') as csvfile:
    spamreader = csv.reader(csvfile, delimiter=',')
    mas = []
    time = []
    counter = 0
    for row in spamreader:
        if counter != 0:
            mas.append(float(row[1]))  # Преобразуйте в float для правильной работы с FFT
            time.append(counter * sample_time)
        counter += 1

    yf = np.fft.fft(mas)
    xf = fftfreq(len(mas), sample_time)

        return xf, yf

    def get_index_of_value(mass, value):
            max_index = 0
            for ampl in mass:
                if(value == ampl):
                    break
                max_index = max_index + 1
            return max_index

    def get_hist_freq(freqs, ampls):
        max_ampl = max(ampls)
        max_index = get_index_of_value(ampls,max_ampl)

        source_freq = freqs[max_index]
        retMass = []
        counterDist = 1
        counterFreq = 0
        for freq in freqs:
            counterFreq = counterFreq + 1
            if((freq  >= (counterDist * source_freq) - 1) & (freq <= (counterDist * source_freq) + 1) ):
                counterDist = counterDist + 1
                retMass.append(ampls[counterFreq-1])
            if(counterDist == 15):
                break
        return retMass
        
            xf30_Holost_PCH, yf30_Holost_PCH = get_fft("scope_csv_105_2.csv")
            xf35_Holost_PCH, yf35_Holost_PCH = get_fft("scope_csv_105_3.csv")
            xf40_Holost_PCH, yf40_Holost_PCH = get_fft("scope_csv_105_4.csv")
            xf45_Holost_PCH, yf45_Holost_PCH = get_fft("scope_csv_105_5.csv")
            xf50_Holost_PCH, yf50_Holost_PCH = get_fft("scope_csv_105_6.csv")

            xf30_N195_PCH, yf30_N195_PCH = get_fft("scope_csv_106_1.csv")
            xf35_N195_PCH, yf35_N195_PCH = get_fft("scope_csv_106_2.csv")
            xf40_N195_PCH, yf40_N195_PCH = get_fft("scope_csv_106_3.csv")
            xf45_N195_PCH, yf45_N195_PCH = get_fft("scope_csv_106_4.csv")
            xf50_N195_PCH, yf50_N195_PCH = get_fft("scope_csv_106_5.csv")
            xf50_N312_PCH, yf50_N312_PCH = get_fft("scope_csv_106_6.csv")
            xf50_N246_PCH, yf50_N246_PCH = get_fft("scope_csv_106_7.csv")

            xf50_N309_Rozetka, yf50_N309_Rozetka = get_fft("scope_csv_108_0.csv")
            xf50_N248_Rozetka, yf50_N248_Rozetka = get_fft("scope_csv_108_1.csv")
            xf50_N187_Rozetka, yf50_N187_Rozetka = get_fft("scope_csv_108_2.csv")
            xf50_Holost_Rozetka, yf50_Holost_Rozetka = get_fft("scope_csv_108_3.csv")

            plt.figure("FFT f30 Holost от ПЧ")
            plt.plot(np.abs(xf30_Holost_PCH), np.abs(yf30_Holost_PCH), color="r", label="30")
            plt.figure("FFT f35 Holost от ПЧ")
            plt.plot(np.abs(xf35_Holost_PCH), np.abs(yf35_Holost_PCH), color="r", label="35")
            plt.figure("FFT f40 Holost от ПЧ")
            plt.plot(np.abs(xf40_Holost_PCH), np.abs(yf40_Holost_PCH), color="r", label="40")
            plt.figure("FFT f45 Holost от ПЧ")
            plt.plot(np.abs(xf45_Holost_PCH), np.abs(yf45_Holost_PCH), color="r", label="45")
            plt.figure("FFT f50 Holost от ПЧ")
            plt.plot(np.abs(xf50_Holost_PCH), np.abs(yf50_Holost_PCH), color="r", label="50")

            plt.figure("FFT Холостой от ПЧ")
            plt.plot(np.abs(xf30_Holost_PCH), np.abs(yf30_Holost_PCH), color="r", label="30")
            plt.plot(np.abs(xf35_Holost_PCH), np.abs(yf35_Holost_PCH), color="g", label="35")
            plt.plot(np.abs(xf40_Holost_PCH), np.abs(yf40_Holost_PCH), color="b", label="40")
            plt.plot(np.abs(xf45_Holost_PCH), np.abs(yf45_Holost_PCH), color="c", label="45")
            plt.plot(np.abs(xf50_Holost_PCH), np.abs(yf50_Holost_PCH), color="y", label="50")

            plt.figure("FFT Холостой от ПЧ в 20ln")
            plt.plot(np.abs(xf30_Holost_PCH), 20*np.log10(np.abs(yf30_Holost_PCH)), color="r", label="30")
            plt.plot(np.abs(xf35_Holost_PCH), 20*np.log10(np.abs(yf35_Holost_PCH)), color="g", label="35")
            plt.plot(np.abs(xf40_Holost_PCH), 20*np.log10(np.abs(yf40_Holost_PCH)), color="b", label="40")
            plt.plot(np.abs(xf45_Holost_PCH), 20*np.log10(np.abs(yf45_Holost_PCH)), color="c", label="45")
            plt.plot(np.abs(xf50_Holost_PCH), 20*np.log10(np.abs(yf50_Holost_PCH)), color="y", label="50")

            plt.figure("FFT f30 Нагрузка R195 от ПЧ")
            plt.plot(np.abs(xf30_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="30")
            plt.figure("FFT f35 Нагрузка R195 от ПЧ")
            plt.plot(np.abs(xf35_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="35")
            plt.figure("FFT f40 Нагрузка R195 от ПЧ")
            plt.plot(np.abs(xf40_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="40")
            plt.figure("FFT f45 Нагрузка R195 от ПЧ")
            plt.plot(np.abs(xf45_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="45")
            plt.figure("FFT f50 Нагрузка R195 от ПЧ")
            plt.plot(np.abs(xf50_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="50")

            plt.figure("FFT Нагрузка R195 от ПЧ")
            plt.plot(np.abs(xf30_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="30")
            plt.plot(np.abs(xf35_N195_PCH), np.abs(yf35_N195_PCH), color="g", label="35")
            plt.plot(np.abs(xf40_N195_PCH), np.abs(yf40_N195_PCH), color="b", label="40")
            plt.plot(np.abs(xf45_N195_PCH), np.abs(yf45_N195_PCH), color="c", label="45")
            plt.plot(np.abs(xf50_N195_PCH), np.abs(yf50_N195_PCH), color="y", label="50")

            plt.figure("FFT Нагрузка R195 в 20ln")
            plt.plot(np.abs(xf30_N195_PCH), 20*np.log10(np.abs(yf30_N195_PCH)), color="r", label="30")
            plt.plot(np.abs(xf35_N195_PCH), 20*np.log10(np.abs(yf35_N195_PCH)), color="g", label="35")
            plt.plot(np.abs(xf40_N195_PCH), 20*np.log10(np.abs(yf40_N195_PCH)), color="b", label="40")
            plt.plot(np.abs(xf45_N195_PCH), 20*np.log10(np.abs(yf45_N195_PCH)), color="c", label="45")
            plt.plot(np.abs(xf50_N195_PCH), 20*np.log10(np.abs(yf50_N195_PCH)), color="y", label="50")

            plt.figure("FFT f50 Нагрузка R309 от Сети")
            plt.plot(np.abs(xf50_N309_Rozetka), np.abs(yf50_N309_Rozetka), color="r", label="50")
            plt.figure("FFT f50 Нагрузка R248 от Сети")
            plt.plot(np.abs(xf50_N248_Rozetka), np.abs(yf50_N248_Rozetka), color="r", label="50")
            plt.figure("FFT f50 Нагрузка R187 от Сети")
            plt.plot(np.abs(xf50_N187_Rozetka), np.abs(yf50_N187_Rozetka), color="r", label="50")
            plt.figure("FFT f50 Holost от Сети")
            plt.plot(np.abs(xf50_Holost_Rozetka), np.abs(yf50_Holost_Rozetka), color="r", label="50")

            xf50_N309_Rozetka, yf50_N309_Rozetka = get_fft("scope_csv_108_0.csv")
            xf50_N248_Rozetka, yf50_N248_Rozetka = get_fft("scope_csv_108_1.csv")
            xf50_N187_Rozetka, yf50_N187_Rozetka = get_fft("scope_csv_108_2.csv")
            xf50_Holost_Rozetka, yf50_Holost_Rozetka = get_fft("scope_csv_108_3.csv")



            ret = get_hist_freq(np.abs(xf30_N195_PCH,), np.abs(yf30_N195_PCH,))
            print("30", ret/ret[0])

            ret = get_hist_freq(np.abs(xf35_N195_PCH,), np.abs(yf35_N195_PCH,))
            print("35", ret/ret[0])

            ret = get_hist_freq(np.abs(xf40_N195_PCH,), np.abs(yf40_N195_PCH,))
            print("40", ret/ret[0])

            ret = get_hist_freq(np.abs(xf45_N195_PCH,), np.abs(yf45_N195_PCH,))
            print("45", ret/ret[0])

            ret = get_hist_freq(np.abs(xf50_N195_PCH,), np.abs(yf50_N195_PCH,))
            print("50", ret/ret[0])

            plt.show()
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
441
121
43
Python:
import csv
import matplotlib.pyplot as plt
import numpy as np
from scipy.fft import fft, fftfreq
import array


def get_fft(filename):
    sample_time = 0.00004
    mas = []
    time = []
    counter = 0

    # mas.append(float(row[1]))  # Преобразуем строку в число. Зачем тут? Ниже в цикле это как раз и делается
    with open(filename, newline='') as csvfile:
        spamreader = csv.reader(csvfile, delimiter=',')

    for row in spamreader:
        if counter != 0:
            mas.append(float(row[1]))  # Преобразуйте в float для правильной работы с FFT
            time.append(counter * sample_time)
        counter += 1
    yf = np.fft.fft(mas)
    xf = fftfreq(len(mas), sample_time)
    return xf, yf


def get_index_of_value(mass, value):
    max_index = 0
    for ampl in mass:
        if value == ampl:
            break
        max_index = max_index + 1
    return max_index


def get_hist_freq(freqs, ampls):
    max_ampl = max(ampls)
    max_index = get_index_of_value(ampls, max_ampl)
    source_freq = freqs[max_index]
    retMass = []
    counterDist = 1
    counterFreq = 0
    for freq in freqs:
        counterFreq = counterFreq + 1
        if (freq >= (counterDist * source_freq) - 1) & (freq <= (counterDist * source_freq) + 1):
            counterDist = counterDist + 1
            retMass.append(ampls[counterFreq - 1])
        if counterDist == 15:
            break
    return retMass


xf30_Holost_PCH, yf30_Holost_PCH = get_fft("scope_csv_105_2.csv")
xf35_Holost_PCH, yf35_Holost_PCH = get_fft("scope_csv_105_3.csv")
xf40_Holost_PCH, yf40_Holost_PCH = get_fft("scope_csv_105_4.csv")
xf45_Holost_PCH, yf45_Holost_PCH = get_fft("scope_csv_105_5.csv")
xf50_Holost_PCH, yf50_Holost_PCH = get_fft("scope_csv_105_6.csv")
xf30_N195_PCH, yf30_N195_PCH = get_fft("scope_csv_106_1.csv")
xf35_N195_PCH, yf35_N195_PCH = get_fft("scope_csv_106_2.csv")
xf40_N195_PCH, yf40_N195_PCH = get_fft("scope_csv_106_3.csv")
xf45_N195_PCH, yf45_N195_PCH = get_fft("scope_csv_106_4.csv")
xf50_N195_PCH, yf50_N195_PCH = get_fft("scope_csv_106_5.csv")
xf50_N312_PCH, yf50_N312_PCH = get_fft("scope_csv_106_6.csv")
xf50_N246_PCH, yf50_N246_PCH = get_fft("scope_csv_106_7.csv")
xf50_N309_Rozetka, yf50_N309_Rozetka = get_fft("scope_csv_108_0.csv")
xf50_N248_Rozetka, yf50_N248_Rozetka = get_fft("scope_csv_108_1.csv")
xf50_N187_Rozetka, yf50_N187_Rozetka = get_fft("scope_csv_108_2.csv")
xf50_Holost_Rozetka, yf50_Holost_Rozetka = get_fft("scope_csv_108_3.csv")
plt.figure("FFT f30 Holost от ПЧ")
plt.plot(np.abs(xf30_Holost_PCH), np.abs(yf30_Holost_PCH), color="r", label="30")
plt.figure("FFT f35 Holost от ПЧ")
plt.plot(np.abs(xf35_Holost_PCH), np.abs(yf35_Holost_PCH), color="r", label="35")
plt.figure("FFT f40 Holost от ПЧ")
plt.plot(np.abs(xf40_Holost_PCH), np.abs(yf40_Holost_PCH), color="r", label="40")
plt.figure("FFT f45 Holost от ПЧ")
plt.plot(np.abs(xf45_Holost_PCH), np.abs(yf45_Holost_PCH), color="r", label="45")
plt.figure("FFT f50 Holost от ПЧ")
plt.plot(np.abs(xf50_Holost_PCH), np.abs(yf50_Holost_PCH), color="r", label="50")
plt.figure("FFT Холостой от ПЧ")
plt.plot(np.abs(xf30_Holost_PCH), np.abs(yf30_Holost_PCH), color="r", label="30")
plt.plot(np.abs(xf35_Holost_PCH), np.abs(yf35_Holost_PCH), color="g", label="35")
plt.plot(np.abs(xf40_Holost_PCH), np.abs(yf40_Holost_PCH), color="b", label="40")
plt.plot(np.abs(xf45_Holost_PCH), np.abs(yf45_Holost_PCH), color="c", label="45")
plt.plot(np.abs(xf50_Holost_PCH), np.abs(yf50_Holost_PCH), color="y", label="50")
plt.figure("FFT Холостой от ПЧ в 20ln")
plt.plot(np.abs(xf30_Holost_PCH), 20 * np.log10(np.abs(yf30_Holost_PCH)), color="r", label="30")
plt.plot(np.abs(xf35_Holost_PCH), 20 * np.log10(np.abs(yf35_Holost_PCH)), color="g", label="35")
plt.plot(np.abs(xf40_Holost_PCH), 20 * np.log10(np.abs(yf40_Holost_PCH)), color="b", label="40")
plt.plot(np.abs(xf45_Holost_PCH), 20 * np.log10(np.abs(yf45_Holost_PCH)), color="c", label="45")
plt.plot(np.abs(xf50_Holost_PCH), 20 * np.log10(np.abs(yf50_Holost_PCH)), color="y", label="50")
plt.figure("FFT f30 Нагрузка R195 от ПЧ")
plt.plot(np.abs(xf30_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="30")
plt.figure("FFT f35 Нагрузка R195 от ПЧ")
plt.plot(np.abs(xf35_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="35")
plt.figure("FFT f40 Нагрузка R195 от ПЧ")
plt.plot(np.abs(xf40_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="40")
plt.figure("FFT f45 Нагрузка R195 от ПЧ")
plt.plot(np.abs(xf45_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="45")
plt.figure("FFT f50 Нагрузка R195 от ПЧ")
plt.plot(np.abs(xf50_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="50")
plt.figure("FFT Нагрузка R195 от ПЧ")
plt.plot(np.abs(xf30_N195_PCH), np.abs(yf30_N195_PCH), color="r", label="30")
plt.plot(np.abs(xf35_N195_PCH), np.abs(yf35_N195_PCH), color="g", label="35")
plt.plot(np.abs(xf40_N195_PCH), np.abs(yf40_N195_PCH), color="b", label="40")
plt.plot(np.abs(xf45_N195_PCH), np.abs(yf45_N195_PCH), color="c", label="45")
plt.plot(np.abs(xf50_N195_PCH), np.abs(yf50_N195_PCH), color="y", label="50")
plt.figure("FFT Нагрузка R195 в 20ln")
plt.plot(np.abs(xf30_N195_PCH), 20 * np.log10(np.abs(yf30_N195_PCH)), color="r", label="30")
plt.plot(np.abs(xf35_N195_PCH), 20 * np.log10(np.abs(yf35_N195_PCH)), color="g", label="35")
plt.plot(np.abs(xf40_N195_PCH), 20 * np.log10(np.abs(yf40_N195_PCH)), color="b", label="40")
plt.plot(np.abs(xf45_N195_PCH), 20 * np.log10(np.abs(yf45_N195_PCH)), color="c", label="45")
plt.plot(np.abs(xf50_N195_PCH), 20 * np.log10(np.abs(yf50_N195_PCH)), color="y", label="50")
plt.figure("FFT f50 Нагрузка R309 от Сети")
plt.plot(np.abs(xf50_N309_Rozetka), np.abs(yf50_N309_Rozetka), color="r", label="50")
plt.figure("FFT f50 Нагрузка R248 от Сети")
plt.plot(np.abs(xf50_N248_Rozetka), np.abs(yf50_N248_Rozetka), color="r", label="50")
plt.figure("FFT f50 Нагрузка R187 от Сети")
plt.plot(np.abs(xf50_N187_Rozetka), np.abs(yf50_N187_Rozetka), color="r", label="50")
plt.figure("FFT f50 Holost от Сети")
plt.plot(np.abs(xf50_Holost_Rozetka), np.abs(yf50_Holost_Rozetka), color="r", label="50")
xf50_N309_Rozetka, yf50_N309_Rozetka = get_fft("scope_csv_108_0.csv")
xf50_N248_Rozetka, yf50_N248_Rozetka = get_fft("scope_csv_108_1.csv")
xf50_N187_Rozetka, yf50_N187_Rozetka = get_fft("scope_csv_108_2.csv")
xf50_Holost_Rozetka, yf50_Holost_Rozetka = get_fft("scope_csv_108_3.csv")

ret = get_hist_freq(np.abs(xf30_N195_PCH, ), np.abs(yf30_N195_PCH, ))
print("30", ret / ret[0])
ret = get_hist_freq(np.abs(xf35_N195_PCH, ), np.abs(yf35_N195_PCH, ))
print("35", ret / ret[0])
ret = get_hist_freq(np.abs(xf40_N195_PCH, ), np.abs(yf40_N195_PCH, ))
print("40", ret / ret[0])
ret = get_hist_freq(np.abs(xf45_N195_PCH, ), np.abs(yf45_N195_PCH, ))
print("45", ret / ret[0])
ret = get_hist_freq(np.abs(xf50_N195_PCH, ), np.abs(yf50_N195_PCH, ))
print("50", ret / ret[0])
plt.show()
 
Последнее редактирование:
  • Мне нравится
Реакции: Dr. Mundo

Форум IT Специалистов