当前位置: 首页 > news >正文

数字信号处理Python示例(3)生成三相正弦信号

文章目录

  • 前言
  • 一、三相正弦信号的表示
  • 二、生成三相正弦信号的Python代码
  • 三、三相正弦信号的图示与分析
  • 四、生成幅度不相等的三相正弦信号的Python代码
  • 五、幅度不相等的三相正弦信号的图示与分析
  • 写在后面的话


前言

首先给出三相正弦信号的数学表达式,并给出生成三相正弦信号的Python代码,对Python的运行结果进行了分析。进一步,更改三相正弦信号的幅度A1、A2和A3的值,生成幅度不相等的三相正弦信号,查看输出波形的变化,并对结果进行分析。


一、三相正弦信号的表示

三相正弦信号的表达式如下:

A相: x_A(t) = A * sin(2 * π * f * t + Φ_A)

B相: x_B(t) = A * sin(2 * π * f * t + Φ_B)

C相: x_C(t) = A * sin(2 * π * f * t + Φ_C)

其中,‘A’ 是幅度,‘f’ 是频率,‘t’ 是时间变量,Φ_A、Φ_B 和 Φ_C 是 A、B 和 C 相的相位角。通常,三相正弦信号的幅度和频率是相等的;三相正弦信号之间的相位差为 120°,即 Φ_B = Φ_A + 120°,Φ_C = Φ_A + 240°。

二、生成三相正弦信号的Python代码

以下是使用 Python生成三相正弦信号的示例代码:

#导入必要的库
import numpy as np                     # numpy用于数学计算
import matplotlib.pyplot as plt       # matplotlib.pyplot用于绘图# 定义参数
A = 1          # 幅度
f = 5         # 频率 (Hz)
t = np.linspace(0, 1, 1000)  # 时间向量
Phi_A = 0      # A相相位角 ()
Phi_B = Phi_A + 120  # B相相位角 ()
Phi_C = Phi_A + 240  # C相相位角 ()
# 生成三相正弦信号
x_A = A * np.sin(2 * np.pi * f * t + np.deg2rad(Phi_A))
x_B = A * np.sin(2 * np.pi * f * t + np.deg2rad(Phi_B))
x_C = A * np.sin(2 * np.pi * f * t + np.deg2rad(Phi_C))
# 绘制波形
plt.plot(t, x_A, label='Phase A')
plt.plot(t, x_B, label='Phase B')
plt.plot(t, x_C, label='Phase C')
plt.title('Three-Phase Sinusoidal Signal')
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.legend()
plt.grid(True)
plt.show()

三、三相正弦信号的图示与分析

上述代码将生成三个相位相差 120° 的正弦波,并在同一图中显示出来,如下所示:

在这里插入图片描述

在这张图中,蓝色、红色和绿色线条分别代表A相、B相和C相的正弦波。从图中可以看到,使用所给Python代码生成的三相正弦信号中,每个信号的幅度是1V,频率是5Hz。信号之间的相位差是120°,它们在时间轴上是如何错开的。

四、生成幅度不相等的三相正弦信号的Python代码

进一步,更改三相正弦信号的幅度A1、A2和A3的值,使它们不再相等,查看输出波形的变化。
以下是更改三相正弦信号幅度的Python示例代码:

#导入必要的库
import numpy as np
import matplotlib.pyplot as plt#定义参数(更改幅度)
A1 = 1          # A相幅度
A2 = 1.5        # B相幅度
A3 = 0.5        # C相幅度
f = 5           # 频率 (Hz)
t = np.linspace(0, 1, 1000)  # 时间向量
Phi_A = 0      # A相相位角 ()
Phi_B = Phi_A + 120  # B相相位角 ()
Phi_C = Phi_A + 240  # C相相位角 ()# 生成三相正弦信号
x_A = A1 * np.sin(2 * np.pi * f * t + np.deg2rad(Phi_A))
x_B = A2 * np.sin(2 * np.pi * f * t + np.deg2rad(Phi_B))
x_C = A3 * np.sin(2 * np.pi * f * t + np.deg2rad(Phi_C))# 绘制波形
plt.plot(t, x_A, label='Phase A')
plt.plot(t, x_B, label='Phase B')
plt.plot(t, x_C, label='Phase C')
plt.title('Three-Phase Sinusoidal Signal')
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.legend()
plt.grid(True)
plt.show()

五、幅度不相等的三相正弦信号的图示与分析

运行以上生成幅度不相等的三相正弦信号的Python代码,可以得到以下绘图结果:

在这里插入图片描述

在这张图中,蓝色、红色和绿色线条分别代表A相、B相和C相的正弦波。A相、B相和C相的振幅分别为1、1.5和0.5,频率为5Hz。三个波形之间存在120度的相位差,因此可以看到它们在时间轴上是如何错开的,并且由于振幅不同,每个波形的峰值也不同,这将有助于理解不同幅度对三相系统波形的影响。

如果更改三相正弦信号的幅度A1、A2和A3的值,以下是一些可能的观察结果和评论:

(1)如果 A1、A2 和 A3 的值不相等,那么每个相的波形幅度将不同,这将在输出图中清晰地显示出来。这可以用来模拟实际应用中不同相的负载不平衡情况。

(2)增加某个相的幅度会导致该相的波形在图中更加突出,而减小幅度则会使波形不那么显著。

(3)即使幅度不同,相位差仍然保持 120°,因此三相系统的对称性不会被破坏,但是波形的视觉对比会改变。

(4)这种幅度的变化不会影响波形的频率,因为频率是由正弦函数中的时间变量t和频率参数f决定的,而不是由幅度决定的。

写在后面的话

这是《数字信号处理python示例》系列文章的第3篇。整个系列将使用python编程示例说明数字信号处理的基本原理与工程应用。给出的所有Python程序将努力做到简单且具有说明性。在数字信号处理的理论方法,将注重其实际意义和工程应用方面的介绍,而避免其数学上的推导与证明。
感谢您的阅读。




http://www.mrgr.cn/news/64525.html

相关文章:

  • 数据结构————链表
  • 【计网不挂科】计算机网络期末考试中常见【选择题&填空题&判断题&简述题】题库(3)
  • VScode的C/C++点击转到定义,不是跳转定义而是跳转声明怎么办?(内附详细做法)
  • 使用 pytorch 运行预训练模型的框架
  • Docker BUG排查
  • 春秋云境CVE-2022-21661,sqlmap+json一把梭哈
  • 鸿蒙开发案例:分贝仪
  • Android中的Handle底层原理
  • 如何设置和使用低代码平台中的点击事件?
  • redis源码系列--(二)--eventlooop+set流程
  • 常用滤波算法(三)-算术平均滤波法
  • 【51蛋骗鸡单按键控制计数开始暂停复位】
  • 【ChatGPT】通过自定义参数让ChatGPT输出特定格式的文本
  • 同一局域网内A主机连接B主机的虚拟机中的服务
  • C++入门基础知识135—【关于C 库函数 - mktime()】
  • C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(1)
  • 非线性数据结构之树
  • 【Vue3】一文全览基础语法-案例程序及配图版
  • 【C++题解】1970. 判断是什么字符
  • DICOM标准:CT 模块及其在DICOM中的表示详解
  • 【星闪EBM-H63开发板】AT固件的接口简介
  • C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(2)
  • 文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《基于图注意力网络的配电网分布式光伏实时消纳能力评估方法 》
  • 高级 <HarmonyOS第一课>自由流转 的课后习题
  • ZFC in LEAN 之 前集(Pre-set)
  • 递归调用的其中之一的规则