Python 演示有源谐波滤波器(AHF)工作原理

理解有源谐波滤波器(AHF)的运行

这段 Python 代码演示了 有源谐波滤波器 (AHF)的工作原理。AHF 用于治理电气系统中的谐波畸变。通过分析电流波形与频谱,代码展示 AHF 降低谐波含量、改善电能质量的能力。

代码概述:

  • 代码从文本文件读取谐波参数,并生成谐波波形。
  • 计算总谐波畸变(THD),并绘制电流波形、频谱与 AHF 输出。
  • 图表展示 AHF 降低谐波畸变的效果,使电流波形更平滑,并改善系统性能。

AHF 的优势:

  • 降低电气系统谐波畸变。
  • 改善电能质量与系统可靠性。
  • 提高敏感设备效率。

有源谐波滤波器(AHF)Python 代码:

import numpy as np
import matplotlib.pyplot as plt

# Read harmonic parameters from a text file
def read_harmonic_parameters(file_path):
    try:
        with open(file_path, 'r') as file:
            lines = file.readlines()
            harmonic_parameters = [list(map(float, line.strip().split())) for line in lines]
        return harmonic_parameters
    except Exception as e:
        print(f"Error reading harmonic parameters: {e}")
        return None

# Read harmonic parameters
file_path = 'harmonic_parameters.txt'
harmonic_parameters = read_harmonic_parameters(file_path)

if harmonic_parameters:
    # Parse harmonic parameters
    harmonic_multipliers, harmonic_amplitudes = zip(*harmonic_parameters)

    # Initial current parameters
    fundamental_frequency = 50
    display_time = 0.05
    sampling_frequency = 10000
    sampling_points = int(sampling_frequency * display_time)
    time = np.linspace(0, display_time, sampling_points, endpoint=False)
    fundamental_amplitude = 100

    # Convert harmonic multipliers to actual frequency values
    harmonic_frequencies = np.array(harmonic_multipliers) * fundamental_frequency

    # Generate current waveforms for fundamental and harmonics
    fundamental_waveform = fundamental_amplitude * np.sin(2 * np.pi * fundamental_frequency * time)
    harmonic_waveforms = [amp * np.sin(2 * np.pi * freq * time) for freq, amp in zip(harmonic_frequencies, harmonic_amplitudes)]

    # Total current waveform is the sum of fundamental and harmonics
    total_current_waveform = fundamental_waveform + np.sum(harmonic_waveforms, axis=0)

    # Calculate THD
    fundamental_rms = np.sqrt(np.mean(fundamental_waveform**2))
    harmonic_rms_values = [np.sqrt(np.mean(harmonic_waveform**2)) for harmonic_waveform in harmonic_waveforms]
    thd_percent = (np.sqrt(np.sum(np.array(harmonic_rms_values)**2)) / fundamental_rms) * 100

    # Calculate the sum of harmonic currents excluding the fundamental
    harmonic_current_sum = np.sum(harmonic_waveforms, axis=0)

    # Calculate the negative of harmonic current sum
    negative_harmonic_current_sum = -harmonic_current_sum

    # Plot current waveforms and annotate THDi value
    plt.subplot(4, 1, 1)
    plt.plot(time, total_current_waveform, label='Total Current')
    # plt.plot(time, fundamental_waveform, label='Fundamental')

    plt.title(f'Current Waveforms (THD={thd_percent:.2f}%)')
    plt.xlabel('Time (s)')
    plt.ylabel('Amplitude')
    plt.legend()
    plt.grid(True)

    # Plot fundamental and harmonic currents in the second subplot
    plt.subplot(4, 1, 2)
    plt.plot(time, fundamental_waveform, label='Fundamental')
    plt.plot(time, harmonic_current_sum, label='Harmonic Current Sum (Excluding Fundamental)')

    plt.title('Fundamental and Harmonic Currents')
    plt.xlabel('Time (s)')
    plt.ylabel('Amplitude')
    plt.legend()
    plt.grid(True)

    # Plot a bar chart of amplitudes within the frequency range
    plt.subplot(4, 1, 3)
    plt.bar(harmonic_frequencies, harmonic_amplitudes, width=8, align='center', label='Harmonics')
    plt.bar(fundamental_frequency, fundamental_amplitude, width=8, align='center', color='red', label='Fundamental')

    plt.title('Frequency Spectrum')
    plt.xlabel('Frequency (Hz)')
    plt.ylabel('Amplitude (A)')
    plt.legend()
    plt.grid(True)

    # Plot the negative of harmonic current sum
    plt.subplot(4, 1, 4)
    plt.plot(time, negative_harmonic_current_sum, label='Negative Harmonic Current Sum')

    plt.title('Active Harmonic Filter Output Current')
    plt.xlabel('Time (s)')
    plt.ylabel('Amplitude')
    plt.legend()
    plt.grid(True)

    plt.tight_layout()
    plt.show()
else:
    print("Failed to read harmonic parameters from the file.")

Python 运行结果

Python 演示有源谐波滤波器(AHF)工作原理
Python 演示有源谐波滤波器(AHF)工作原理

Python 谐波演示视频

分享本文:
恩玖科技视频号图标