函数名称:void SOGI_Init(Second_order_Filter *Biquad_filter,uint8_t mode) //二阶广义积分器参数初始化 *入口参数:Second_order_Filter 参数指针地址 * uint8_t mode 当mode=1时不移相,mode=0时移相PI/2 *函数功能:二阶广义积分器参数初始化,使用Tustin双线性变换离散 *************************************************************************************************************/ void SOGI_Init(Second_order_Filter* Biquad_filter, uint8_t mode) { static uint16_t K=1;//sogi比例系数 Biquad_filter->wc = (2 * PI * AC_INPUT_FREQ) / TS_FREQ; switch (mode) { case 1: //不移相 u轴 Biquad_filter->b0 = 2 * Biquad_filter->wc*K; Biquad_filter->b1 = 0; Biquad_filter->b2 = -2 * Biquad_filter->wc*K; Biquad_filter->a0 = 4 + 2 * Biquad_filter->wc*K + Biquad_filter->wc * Biquad_filter->wc; Biquad_filter->a1 = 2 * Biquad_filter->wc * Biquad_filter->wc - 8; Biquad_filter->a2 = 4 + Biquad_filter->wc * Biquad_filter->wc - 2 * Biquad_filter->wc; break; case 0: //移相 qu轴 Biquad_filter->b0 = Biquad_filter->wc * Biquad_filter->wc*K; Biquad_filter->b1 = 2 * Biquad_filter->wc * Biquad_filter->wc*K; Biquad_filter->b2 = Biquad_filter->wc * Biquad_filter->wc*K; Biquad_filter->a0 = 4 + 2 * Biquad_filter->wc*K + Biquad_filter->wc * Biquad_filter->wc; Biquad_filter->a1 = 2 * Biquad_filter->wc * Biquad_filter->wc - 8; Biquad_filter->a2 = Biquad_filter->wc * Biquad_filter->wc - 2 * Biquad_filter->wc + 4; break; } Biquad_filter->b0 = Biquad_filter->b0 / Biquad_filter->a0; Biquad_filter->b1 = Biquad_filter->b1 / Biquad_filter->a0; Biquad_filter->b2 = Biquad_filter->b2 / Biquad_filter->a0; Biquad_filter->a1 = Biquad_filter->a1 / Biquad_filter->a0; Biquad_filter->a2 = Biquad_filter->a2 / Biquad_filter->a0; }
时间: 2023-08-02 21:10:02 浏览: 82
根据提供的代码,函数 `SOGI_Init` 是一个用于初始化二阶广义积分器参数的函数。该函数使用了 Tustin 双线性变换进行离散化。
函数接受两个参数:`Biquad_filter` 是一个指向 `Second_order_Filter` 结构体的指针,用于传递参数地址;`mode` 是一个 `uint8_t` 类型的参数,当 `mode` 的值为 1 时表示不移相,当 `mode` 的值为 0 时表示移相 PI/2。
在函数内部,首先定义了一个静态变量 `K`,初始值为 1,代表 sogi 比例系数。
然后根据采样频率和输入信号频率计算了角频率,保存在变量 `Biquad_filter->wc` 中。
接下来根据 `mode` 的值进行了一个 `switch` 语句。当 `mode` 的值为 1 时,执行第一个分支,计算了不移相(u轴)情况下的系数;当 `mode` 的值为 0 时,执行第二个分支,计算了移相(qu轴)情况下的系数。
最后,将计算得到的系数进行归一化处理,将其除以 `Biquad_filter->a0` 的值。
总体来说,该函数的作用是根据给定的参数计算并初始化二阶广义积分器的系数。具体的参数含义和计算公式可能需要根据上下文来确定。
相关问题
二阶广义积分器的锁相环(SOGI-PLL)
二阶广义积分器的锁相环(SOGI-PLL)是一种基于双二阶广义积分器的锁相环结构。锁相技术是通过相位的自动控制来实现频率自动控制的技术。锁相环(PLL)是一个相位反馈系统,通过锁定输入信号的相位,生成一个随时间变化的正弦波的瞬时相位。二阶广义积分器(SOGI)是一种新型的滤波器结构,具有广泛的应用。在SOGI-PLL中,鉴相器将被检测信号作为输入,输出与正序相位提取器相连接。正序相位提取器的输出与环路滤波器相连接,环路滤波器的输出分别与SOGI和压控振荡器的输入相连接,压控振荡器的输出与正序相位提取环节相连接。通过这种结构,SOGI-PLL可以实现相位锁定的目的。\[1\]\[3\]
#### 引用[.reference_title]
- *1* [基于双二阶广义积分器的三相锁相环(DSOGI-PLL)MATLAB仿真](https://blog.csdn.net/weixin_56691527/article/details/129898770)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [二阶广义积分锁相环 SOGI-PLL](https://blog.csdn.net/weixin_47274010/article/details/119181630)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [一种基于双二阶广义积分器锁相环的制作方法](https://blog.csdn.net/weixin_30546201/article/details/116123045)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
ti sogi_pll 环路滤波数学模型
TI-SOGI_PLL(Single-Order Generalized Integrator Phase-Locked Loop,一阶广义积分器锁相环)是一种常用于电力电子系统中的控制算法,用于实现信号的采样、滤波和精确的同步。
TI-SOGI_PLL的环路滤波数学模型基于广义积分器和锁相环的原理。广义积分器用于提供高精度的积分功能,可以实现快速和精确的滤波操作。锁相环用于同步输入信号,控制系统的频率与输入信号的频率保持一致。
TI-SOGI_PLL的数学模型可以用以下公式表示:
$$
\begin{align*}
\dot{v_{\alpha}} &= v_{\beta} \cdot \omega \\
\dot{v_{\beta}} &= -v_{\alpha} \cdot \omega + \frac{v_{\beta_{ref}} - v_{\beta}}{T_{iv}} \\
\dot{\omega} &= \frac{v_{\alpha} \cdot v_{\beta}}{2} \cdot \omega + \frac{\omega_{ref} - \omega}{T_{i\omega}}
\end{align*}
$$
其中,$v_{\alpha}$和$v_{\beta}$是信号的$\alpha$和$\beta$轴组分,$\omega$是锁相环的相角频率,$v_{\beta_{ref}}$和$\omega_{ref}$是参考信号的$\beta$轴组分和相角频率,$T_{iv}$和$T_{i\omega}$是积分时间常数。根据这个数学模型,可以设计出相应的控制算法实现TI-SOGI_PLL的功能。
TI-SOGI_PLL通过对输入信号进行采样、滤波和同步,能够提供高精度的控制信号,广泛应用于电力电子系统中的功率因数校正、谐波抑制和无功功率控制等方面。这种控制算法具有快速响应、高抗干扰和稳定性好的特点,对于提高电力电子系统的性能和可靠性具有重要意义。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)