目录

      • clark变换
      • park变换
      • 等幅值变换

其实我不太记得住什么是clark变换、park变换,我每次要用到这个名词的时候都会上网查一下,因为这就是两个名词而已,但是我能记住的是他们背后的含义。
经过【从零开始实现stm32无刷电机FOC】系列后应该对clark变换、park变换有了解了,本节对他们再介绍一遍,本节的重点是等幅值变换。

clark变换

本质是将abc相的数据投影到αβ轴上,如下图所示,αβ轴是静止的相互垂直的坐标轴。
在这里插入图片描述
{ α = a − b ∗ cos ⁡ 60 ° − c ∗ cos ⁡ 60 ° β = b ∗ cos ⁡ 30 ° − c ∗ cos ⁡ 30 ° \begin{cases} \alpha=a-b*\cos{60\degree}-c*\cos{60\degree} \\ \beta=b*\cos{30\degree}-c*\cos{30\degree} \end{cases} {α=abcos60°ccos60°β=bcos30°ccos30°
写成矩阵形式就是:
[ α β ] = [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ a b c ] \begin{bmatrix} \alpha \\ \beta \end{bmatrix}=\begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} a \\ b \\ c \end{bmatrix} [αβ]=[102123 2123 ]abc
其中的矩阵就是clark变换矩阵:
M c l a r k = [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] \mathrm{M}_{clark}= \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} Mclark=[102123 2123 ]
clark逆变换就是将αβ轴的数据投影到abc相,如下图所示。
在这里插入图片描述

M i n c l a r k = [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] \mathrm{M}_{inclark}= \begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} Minclark=12121023 23

park变换

本质是将αβ轴的数据投影到dq轴上,也可以看作αβ轴旋转到dq轴,如下图所示,dq轴是旋转的相互垂直的坐标系。
在这里插入图片描述

{ d = α ∗ cos ⁡ θ + β ∗ sin ⁡ θ q = − α ∗ sin ⁡ θ + β ∗ cos ⁡ θ \begin{cases} d=\alpha*\cos{\theta}+\beta*\sin{\theta} \\ q=-\alpha*\sin{\theta}+\beta*\cos{\theta} \end{cases} {d=αcosθ+βsinθq=αsinθ+βcosθ
写成矩阵形式就是:
[ d q ] = [ cos ⁡ θ sin ⁡ θ − sin ⁡ θ cos ⁡ θ ] [ α β ] \begin{bmatrix} d \\ q \end{bmatrix}=\begin{bmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta \end{bmatrix}\begin{bmatrix} \alpha \\ \beta \end{bmatrix} [dq]=[cosθsinθsinθcosθ][αβ]
其中的矩阵就是park变换矩阵,这个矩阵就是一个旋转矩阵:
M p a r k = [ cos ⁡ θ sin ⁡ θ − sin ⁡ θ cos ⁡ θ ] \mathrm{M}_{park}=\begin{bmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta \end{bmatrix} Mpark=[cosθsinθsinθcosθ]
park逆变换就是dq轴转到αβ轴,就是反向旋转,反向旋转矩阵直接求逆矩阵就可以了:
M i n p a r k = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] \mathrm{M}_{inpark}=\begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} Minpark=[cosθsinθsinθcosθ]
[ α β ] = M i n p a r k [ d q ] \begin{bmatrix} \alpha \\ \beta \end{bmatrix}=\mathrm{M}_{inpark}\begin{bmatrix} d \\ q \end{bmatrix} [αβ]=Minpark[dq]

等幅值变换

在数学推导以及代码实现上,我们希望abc相坐标系、αβ轴、dq轴的最大坐标轴长度统一,各种数值能够缩放到单位量,如果最大电流是1A,最大电压是1V,这样能够方便推导和代码实现,等幅值变换就是为了这个效果。
park变换是旋转矩阵,旋转不会改变坐标轴长度,因此park变换不需要再加等幅值变换,或者说它天然就是等幅值变换。
分析一下clark变换对坐标轴长度的影响,假设abc相的mos管桥臂分别处于[1,0,0]开关状态,那么abc相电流分别为[1,- 1 2 \frac{1}{2} 21,- 1 2 \frac{1}{2} 21],用clark变换进行计算一下:
[ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ 1 − 1 2 − 1 2 ] = [ 3 2 0 ] \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} 1 \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix}=\begin{bmatrix} \frac{3}{2}\\ 0 \end{bmatrix} [102123 2123 ]12121=[230]
可以看到α轴的长度为 3 2 \frac{3}{2} 23,这意味着幅值为1的abc相坐标轴经过clark变换后得到的αβ轴幅值为 3 2 \frac{3}{2} 23。而我们想要最大幅值为单位长度1,因此如果在clark变换矩阵前人为乘一个 2 3 \frac{2}{3} 32系数,αβ轴就在单位长度范围内了,如下所示:
2 3 [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ 1 − 1 2 − 1 2 ] = [ 1 0 ] \frac{2}{3}\begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} 1 \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix}=\begin{bmatrix} 1\\ 0 \end{bmatrix} 32[102123 2123 ]12121=[10]
这个乘 2 3 \frac{2}{3} 32就是clark变换的等幅值变换,是指将abc相的幅值和αβ轴的幅值统一大小,方便推导和写代码。
这时候会有疑问,难道可以随便乘 2 3 \frac{2}{3} 32吗?是的,可以随便乘,如果你不嫌麻烦,你乘1万也行,因为最终用到的是αβ轴两者的比例关系,αβ轴的长度同时放大和缩小又有什么关系呢,最终体现在SVPWM内两个基础矢量的比例关系。

再来分析下clark逆变换,假设αβ轴长度分别是1,0,那么abc相的长度经过clark逆变换后会变成多少呢:
[ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] [ 1 0 ] = [ 1 − 1 2 − 1 2 ] \begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} 1\\ 0 \end{bmatrix}=\begin{bmatrix} 1 \\ -\frac{1}{2} \\ -\frac{1}{2} \end{bmatrix} 12121023 23 [10]=12121
竟然直接变成了等幅值的abc相,这意味着clark逆变换不需要额外加等幅值系数,它天生就是等幅值变换的。这是为什么呢?我们可以将clark变换和clark逆变换直接乘一下:
[ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] = [ 3 2 0 0 3 2 ] \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}=\begin{bmatrix} \frac{3}{2} &0 \\ 0 &\frac{3}{2} \end{bmatrix} [102123 2123 ]12121023 23 =[230023]
我们直观地想,任何一个变换乘以其逆变换,结果当然要等于没变换,而经历一次clark正逆变换后,得到的长度是原先的 3 2 \frac{3}{2} 23倍,正好可以对应clark变换带来的 3 2 \frac{3}{2} 23倍以及clark逆变换带来的1倍。
只要保证任何一个变换乘以其逆变换,结果当然要等于没变换,矩阵前面的变换系数可以随便放置,比如等幅值变换全部放在clark变换前面,等功率变换分别放在clark变换和clark逆变换前面:
等 幅 值 变 换 : 2 3 [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] = [ 1 0 0 1 ] 等幅值变换:\frac{2}{3}\begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}=\begin{bmatrix} 1 &0 \\ 0 &1 \end{bmatrix} 32[102123 2123 ]12121023 23 =[1001]
等 功 率 变 换 : 2 3 [ 1 − 1 2 − 1 2 0 3 2 − 3 2 ] ∗ 2 3 [ 1 0 − 1 2 3 2 − 1 2 − 3 2 ] = [ 1 0 0 1 ] 等功率变换:\sqrt\frac{2}{3}\begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}*\sqrt\frac{2}{3}\begin{bmatrix} 1 & 0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2} \\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}=\begin{bmatrix} 1 &0 \\ 0 &1 \end{bmatrix} 32 [102123 2123 ]32 12121023 23 =[1001]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/88876.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/88876.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/88876.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sentinel的流控策略

在 Sentinel 中,流控策略(Flow Control Strategy)用于定义如何处理请求的流量,并决定在流量达到某个阈值时采取的行动。流控策略是实现系统稳定性和高可用性的核心机制,尤其在高并发环境中,确保服务不会因过…

Ubuntu Extension Manager 插件卸载

Ubuntu 上使用Extension Manager 安装插件,但目前无法在Extension Manager 中卸载。 卸载方式可以通过 gnome-extensions 命令进行卸载: Usage:gnome-extensions COMMAND [ARGS…]Commands:help Print helpversion Print versionenable Enabl…

深度学习中Embedding原理讲解

我们用最直白的方式来理解深度学习中 Embedding(嵌入) 的概念。 核心思想一句话: Embedding 就是把一些复杂、离散的东西(比如文字、类别、ID)转换成计算机更容易理解和计算的“数字密码”,这些“数字密码…

(3)Java+Playwright自动化测试-启动浏览器

1.简介 前边两章文章已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动两大浏览器。 接下来我们在Windows系统中启动浏览器即可,其他平台系统的浏览器类似的启动方法,照猫画虎就可以了。 但是在实践过程中&am…

使用OpenWebUI与DeepSeek交互

Open WebUI 是针对 LLM 用户友好的 WebUI,支持的 LLM 运行程序包括阿里百炼、 Ollama、OpenAI 兼容的 API。这里主要讲在Docker环境下安装与本地Ollame和百炼API Key配置 一、安装Docker 1. CentOS # 设置为阿里云的源 sudo yum install -y yum-utils sudo yum-config-mana…

Github 2025-06-25 C开源项目日报 Top9

根据Github Trendings的统计,今日(2025-06-25统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目9C++项目1raylib: 用于视频游戏编程的简单易用图形库 创建周期:3821 天开发语言:C协议类型:zlib LicenseStar数量:18556 个Fork数量:1…

【数据标注师】2D标注

目录 一、 **2D标注知识体系框架**二、 **五阶能力培养体系**▶ **阶段1:基础规则内化(1-2周)**▶ **阶段2:复杂场景处理技能**▶ **阶段3:专业工具 mastery**▶ **阶段4:领域深度专精▶ **阶段5&#xff1…

深入浅出Node.js后端开发

让我们来理解Node.js的核心——事件循环和异步编程模型。在Node.js中,所有的I/O操作都是非阻塞的,这意味着当一个请求开始等待I/O操作完成时(如读取文件或数据库操作),Node.js不会阻塞后续操作,而是继续执行…

C++11的内容

1.支持花括号初始化 void test1() {vector<string> v1 { "asd","asd","add" };vector<string> v2{ "asd","asd","add" };map<string, int> m1{ {"asd",1},{"asd",2},{&q…

AI代码助手实践指南

概述与发展趋势 核心理念 发展方向&#xff1a;从代码补全 → 代码生成 → 整个工程服务价值转换&#xff1a;从单纯写代码 → 需求驱动的代码生成功能扩展&#xff1a;超越编写层面&#xff0c;涵盖测试环境搭建等 核心价值点 低价值动作识别&#xff1a;debug、代码评审、…

.net反编译工具

.NET 反编译工具大揭秘 在.NET 开发的世界里&#xff0c;有时候我们需要对已编译的.NET 程序集进行反编译&#xff0c;将 DLL 或 EXE 文件还原为可读的源代码形式&#xff0c;这在学习、调试、代码分析等方面都有着重要的作用。今天&#xff0c;就让我们一起深入了解一些流行的…

mac docker desktop 安装 oracle

1.登录 oracle 官网&#xff0c;选择镜像 https://container-registry.oracle.com/ords/f?p113:1:6104693702564::::FSP_LANGUAGE_PREFERENCE:&cs3CAuGEkeY6APmlAELFJ0uYU5M8_O8aTEufSKZHFf12lu1sUk5fsdbCzJAni9jVaCYXf-SNM_8e3VYr1V4QMBq1A 2.登录认证 oracle 账号 doc…

【redis使用场景——缓存——数据过期策略 】

redis使用场景——缓存——数据过期策略 定期删除&#xff08;Active Expiration&#xff09;1. 快速模式&#xff08;Fast Expiration Cycle&#xff09;工作流程&#xff1a;特点&#xff1a;优点&#xff1a; 2. 慢速模式&#xff08;Slow Expiration Cycle&#xff09;工作…

智能体Manus和实在Agent的区别

在当今数字化时代&#xff0c;AI 已经深度融入我们的生活和工作。曾经&#xff0c;像 ChatGPT 这样的传统 AI&#xff0c;虽然能在很多方面给我们提供帮助&#xff0c;比如写邮件时它妙笔生花&#xff0c;分析数据时头头是道&#xff0c;可却在最后一步掉了链子 —— 它不会点击…

Prism框架实战:WPF企业级开发全解

以下是一个完整的WPF项目示例&#xff0c;使用Prism框架实现依赖注入、导航、复合命令、模块化和聚合事件功能。项目结构清晰&#xff0c;包含核心功能实现&#xff1a; 项目结构 PrismDemoApp/ ├── PrismDemoApp (主项目) │ ├── Views/ │ │ ├── ShellView…

单片机学习笔记---AD/DA工作原理(含运算放大器的工作原理)

目录 AD/DA介绍 硬件电路模型 硬件电路 运算放大器 DA原理 T型电阻网络DA转换器 PWM型DA转换器 AD原理 逐次逼近型AD转换器 AD/DA性能指标 XPT2046 XPT2046时序 AD/DA介绍 AD&#xff08;Analog to Digital&#xff09;&#xff1a;模拟-数字转换&#xff0c;将模拟…

matlab实现相控超声波成像

相控超声波成像仿真检测探伤 数据接收 换能器开发 Phased Array Codes/Matlab Examples.pptx , 513230 Phased Array Codes/MATLAB M_files/delay_laws2D.m , 1027 Phased Array Codes/MATLAB M_files/delay_laws2D_int.m , 3290 Phased Array Codes/MATLAB M_files/delay_law…

Stable Diffusion入门-ControlNet 深入理解 第二课:ControlNet模型揭秘与使用技巧

大家好&#xff0c;欢迎回到Stable Diffusion入门-ControlNet 深入理解系列的第二课&#xff01; 如果你还记得第一篇文章的内容 - 我们已经了解了 ControlNet 的基础概念&#xff1a;它通过预处理器和模型两个强力模块&#xff0c;赋予了AI绘画前所未有的精准控制。 还没看过…

大数据时代UI前端的变革:从静态展示到动态交互

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在大数据时代&#xff0c;信息以前所未有的速度和规模增长。这种数据环境的变化&#xff0c;深…

引脚个数、引脚宽度、引脚之间距离

原图&#xff1a; 最终效果图如下&#xff1a; 1.读取图片并设置参数 read_image (Image, ic_pin) dev_set_draw (margin) dev_set_line_width (2) dev_get_window (WindowHandle) get_image_size (Image, Width, Height) 2.绘制提取的ROI区域 r:58 // 旋转矩形的中心点坐标…