开关电容转换器的合成器研究(Python代码实现)

2023-12-05

???????????????? 欢迎来到本博客 ❤️❤️????????

????博主优势: ???????????? 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️ 座右铭: 行百里者,半于九十。

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

????3 参考文献

????4 Python代码实现


????1 概述

开关电容转换器是一种用于电能转换的电子器件,它可以将直流电能转换为不同电压或电流的形式。合成器研究是指对开关电容转换器的工作原理、性能特点、控制策略等进行研究和分析,以便优化其设计和应用。

在合成器研究中,首先需要对开关电容转换器的工作原理进行深入理解,包括其基本结构、工作模式、电路拓扑等方面的知识。然后可以通过数学建模和仿真分析等方法,对其性能特点进行研究,比如输出电压波形、效率、稳定性等方面的特性。

另外,合成器研究还涉及到对开关电容转换器的控制策略进行优化,包括传统的PWM控制、电流模式控制、电压模式控制等方面的研究。通过对控制策略的优化,可以提高开关电容转换器的性能表现,使其在不同应用场景下具有更好的适用性。

合成器研究是对开关电容转换器的工作原理、性能特点和控制策略进行系统研究和分析,旨在优化其设计和应用,提高其性能表现,推动其在电能转换领域的应用和发展。

本研究致力于开发一种基于可重构转换器的合成器研究,即Reconfigurable-Converter-Synthesiser,旨在实现切换表和线路图的自动生成。我们采用了一种开关电容转换器的设计思路,在电容器之间切换以控制输出电压。该转换器通过可编程技术实现配置存储单元的控制,可根据不同的负载和输入电压需求,实现快速地重新配置。因此,我们的设计方案具有高度的灵活性和适应性,且具有很好的转换效果。

我们的研究主要围绕可重构转换器的合成器展开,以实现切换表和线路图自动生成。如此一来,我们的合成器能够自动生成所需的电路,无需手动输入电路设计,同时也避免了设计中可能出现的误差。我们通过对不同电容值进行数值计算和仿真,对电容切换状态进行控制,以实现转换器工作电路的合成。同时还引入了可编程技术,以便快速、准确地重新配置转换器。最终,我们通过将切换表和线路图输出至Excel表格中,实现了快速、方便的电路设计。

综上,我们的研究提供了一种基于可重构转换器的合成器研究方案,该方案具有重要的实际应用价值。我们的合成器能够自动生成切换表和线路图,极大地提高了设计和开发效率,同时也避免了人为因素带来的设计误差。我们的研究成果将为相关领域的电路合成研究提供新的思路和方法,应用于电路制造方面也具有广泛的发展前景。

???? 2 运行结果

主函数:

if __name__ == "__main__":
    

    designer_SPTT,SW_connection,capacitors,top_sw,SW_init= main(["2","3","4"],1)
    caps = max(capacitors)
    # now we create the dataframe (or excel sheet switching table)
    df = pd.DataFrame(designer_SPTT)
    df.to_excel("../results/switching_table.xlsx")
    # draw the circuit
    d = draw_fib(caps,SW_connection,top_sw,SW_init)
    #d.draw()
    d.save('../results/my_circuit.svg')

if __name__ == "__main__":
    

    designer_SPTT,SW_connection,capacitors,top_sw,SW_init= main(["2","3","4"],1)
    caps = max(capacitors)
    # now we create the dataframe (or excel sheet switching table)
    df = pd.DataFrame(designer_SPTT)
    df.to_excel("../results/switching_table.xlsx")
    # draw the circuit
    d = draw_fib(caps,SW_connection,top_sw,SW_init)
    #d.draw()
    d.save('../results/my_circuit.svg')  

部分代码:


# if ivalid input the list will be empty
    #return requested_SPTT
    if len(requested_SPTT.keys()) == 0:
        #print Invalid input
        return 0
# we have multiple VCRs
# this will calaculte the dissimilarity between options
requested_SPTT = flip_connection(lengh_match(requested_SPTT))


mintrans_SPTT = dissimilarity(requested_SPTT)

requested_SPTT = min_dissimilarity(mintrans_SPTT) 
# the minmum transition doesn't include the VCR, thereofre, I'm recalculating it here.
selected_VCR =  defaultdict(list)
for i in requested_SPTT:
  three_count = (i == 3).sum()
  temp_VCR = str(calc_VCR(i, np.flip(weights_list[str(len(i)-three_count-2)]),three_count))
  selected_VCR[temp_VCR].append(i)

#print ('\nNumber of capacitors needed: ' + str(capacitors) + '\n')
# to order the gain in inc order :
od = OrderedDict(sorted(selected_VCR.items(),key = lambda x: float(Fraction(x[0]))))
# Create dictionary for the order, reversed gains

VCR_CODE,top_gear,top_sw = defaultdict(list),defaultdict(list),defaultdict(list)

# I have used flip with v so I can reverse the order, where the input comes first
for (k, v) in od.items():
    w = [("GND" if str(val) == '0' else val) for val in v[0] ]
    w = [("Vin" if str(val) == '1' else val) for val in w]
    w = [("Vout" if str(val) == '2' else val) for val in w]
    w = [("X" if str(val) == '3' else val) for val in w]

# print("Gain: "+str(round(float(Fraction(k)),3)),", State: "+str(w))

    VCR_CODE[str(round(float(Fraction(k)), 3))] = w


sptt_code = VCR_CODE
VCR_set = list(sptt_code.keys())
capacitors.sort()

 # topswitchies list 
for j,i in sptt_code.items():
  three_count = i.count("X")
  top_sw[three_count].append(i[three_count])
  if (three_count>0):
    top_gear[j].append(i[three_count])
    i[three_count] = "X"


designer_SPTT,SW_connection,SW_init = desiner_code_generator(sptt_code,VCR_set,top_gear,top_sw)


return designer_SPTT,SW_connection,capacitors,top_sw,SW_init  

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]梅纯.开关电容变换器的研究[D].华中科技大学,2007.DOI:10.7666/d.d089490.

[2]梅纯.开关电容变换器的研究[D].华中科技大学,2009.DOI:CNKI:CDMD:2.2009.036841.

[3]邹志鹏.应用于射频LNA的开关电容DC-DC转换器的研究[D].南京航空航天大学,2014.

???? 4 Python代码实现

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开关电容转换器的合成器研究(Python代码实现) 的相关文章

  • 使用 JPype - 如何访问 JDBC 元数据函数

    我在用着杰 德贝API https launchpad net jaydebeapi它使用 JPype 加载 FileMaker 的 JDBC 驱动程序并提取数据 但我也希望能够获取所有表的列表在数据库中 In the JDBC 文档 ht
  • c++11 正则表达式比 python 慢

    嗨我想了解为什么以下代码使用正则表达式进行分割字符串分割 include
  • 让 Django 提供可下载文件

    我希望网站上的用户能够下载路径被遮挡的文件 因此无法直接下载它们 例如 我希望 URL 是这样的 http example com download f somefile txt 在服务器上 我知道所有可下载的文件都位于该文件夹中 home
  • Python 错误:将 statsmodels 与一行数据一起使用时,对象的 len() 未调整大小

    我可以使用 statsmodel 的 WLS 加权最小二乘回归 http statsmodels sourceforge net devel generated statsmodels regression linear model WLS
  • 如何使用格式保存 Tkinter 文本小部件的内容

    我在 python 中使用 Tkinter 在文本窗口中显示输出 我发现使用 get 功能我可以从此窗口检索文本内容 但我有用不同背景颜色标记的文本部分 是否可以将内容与这些颜色一起复制到文件 例如 html 或 doc 中 没有对你想要的
  • 使用 Python 打开新窗口时,selenium window_handles 不正确

    我想使用 selenium 和 Python 在一个浏览器中打开多个选项卡 并通过多个选项卡同时抓取实时投注赔率 网站主页生成游戏列表 但是 除非您找到游戏元素并使用 click 该网站是 ajax 密集型 否则无法获取游戏链接 这会在同一
  • 在 Python 中倾斜数组

    我有一个 2D 数组 我将使用它保存为灰度图像scipy misc toimage 在此之前 我想将图像倾斜给定角度 像这样进行插值scipy ndimage interpolation rotate 上图只是为了说明倾斜过程 我知道我必须
  • 在Python中整齐地绘制PMF

    有没有一个库可以帮助我在 python 中整齐地绘制样本的概率质量函数 如下所示 通过matplotlib pyplot的stem模块 matplotlib pyplot stem args kwargs from matplotlib p
  • 如何使用Peewee查询多个相似的数据库?

    我遇到了使用 Peewee 查询多个数据库的问题 我有 2 个现有的 mysql 数据库 让我们将它们命名为 A 和 B 结构相似 因为它是两个 Bugzilla 数据库 我使用 Pwiz 生成模型 modelsA py 和 modelsB
  • 使用 python boto3 管理 Route53 中具有多个 IP 的 A 记录

    我的route53中有一条A记录 后面有多个IP 例子 A record dummy xyz com 点IPs 1 1 1 1 2 2 2 2 和 3 3 3 3路由策略 Simple 我使用下面的代码来更新单个 IP 的记录 Change
  • pandas groupby 并转换为 json 列表

    我有一个如下所示的 pandas 数据框 idx f1 f2 f3 1 a a b 2 b a c 3 a b c 87 e e e 我需要将其他列转换为基于索引列的字典列表 所以 最终结果应该是 idx features 1 f1 a f
  • 无法使用 wxPython 打开在 folium 中生成的本地 HTML 文件

    我目前正在尝试将 GPS 坐标绘制为地图上的标记 并在 wxPython 中显示结果 我使用 folium 绘制坐标标记并生成 HTML 文件 import folium fmap folium Map 43 5321 172 6362 z
  • Python-使用元组作为列表索引[重复]

    这个问题在这里已经有答案了 我有一个元组列表 tuples list 1 0 2 3 3 2 2 0 我想访问二维数组的元素a例如 使用其中一些元组 for i in range 3 print a tuples list i 应该输出的值
  • 获取列的 [0, x] 元素的最小值

    我需要计算一列 其中值是对其他列进行矢量化运算的结果 df new col df col1 min 0 df col2 然而 事实证明我不能像上面的语法一样使用 min 那么 获得 pandas 列的零和给定值之间的最小值的正确方法是什么
  • 如何仅在按下某个键时触发鼠标单击?在Python中

    我想制作一个程序 或者当我单击某个键时 鼠标会自动单击 只要我单击该键 如果我不单击该键 它就会停止 我不希望只在触摸按键一次时才发生点击 而是只要按住按键就发生点击 也可以像雷蛇突触鼠标一样按下鼠标左键触发点击 任何想法 EDIT 1 这
  • 检查图像中是否有太薄的区域

    我正在尝试验证雕刻机的黑白图像 更多的是剪贴画图像 不是照片 我需要考虑的主要事情之一是区域的大小 或线条的宽度 因为机器无法处理太细的线条 所以我需要找到比给定阈值更细的区域 以此图为例 竖琴的琴弦可能太细而无法雕刻 我正在阅读有关 Ma
  • 内置模块位于哪里?

    我尝试查找列出的所有目录sys path但我找不到任何builtins py文件 那么它在哪里呢 从字面上看 该模块内置于 python 解释器中 gt gt gt import builtins gt gt gt builtins
  • 如何使用 PySpark 预处理图像?

    我有一个项目 需要为 1 设置大数据架构 AWS S3 SageMaker 的概念验证使用 PySpark 预处理图像 2 执行 PCA and 3 训练一些机器或深度学习模型 我的问题是了解如何使用 PySpark 操作图像数据 但无法在
  • 在不同进程之间共享列表?

    我有以下问题 我编写了一个函数 它将列表作为输入 并为列表中的每个元素创建一个字典 然后我想将这本字典附加到一个新列表中 这样我就得到了一个字典列表 我正在尝试为此生成多个进程 我的问题是 我希望不同的进程访问由其他进程更新的字典列表 例如
  • 如何通过解析导入来组合并获取单个 Python 文件

    我正在尝试获取单个 Python 文件作为输出 我有一个 Python 脚本 其中有多个此类导入 from that import sub 导入来自所有本地模块 而不是来自系统或 Python 库 有什么方法可以解决这些问题并获得一个完整的

随机推荐

  • 【单载波调制方案】正交时序多路复用调制:分析和低复杂度接收机设计(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文献下载
  • 网络安全工程师必用的6个渗透工具,专业工具渗透工作更好做

    网络安全工程师必用的6个渗透工具 专业工具渗透工作更好做 渗透测试是通过模拟恶意黑客的攻击方法 来评估计算机网络系统安全的一种评估方法 同时 网络所有者根据渗透人员提供的渗透测试报告 可以清晰知晓系统中存在的安全隐患和问题 在这些过程中除了
  • 【用于OCT体积的散斑噪声降低】光学相干层析成像自适应复合散斑降噪滤波器研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文章
  • 安全测试工具,自动发现网站所有URL!

    作为一个安全测试人员来说 首先要拿到网站所有url 然后根据拿到的url进行渗透测试进行漏洞挖掘 本文给大家介绍的是如何拿到一个网站所有的url 深度爬取层级控制 现在我也找了很多测试的朋友 做了一个分享技术的交流群 共享了很多我们收集的技
  • 金融级漏洞挖掘思路总结

    金融级漏洞挖掘思路总结 总结一下思路吧 一些有意思的姿势 或许对大家都有一些帮助 入职第一天 进了渗透组 拿到了目标 此目标经过了5次漏洞挖掘 公司一堆大佬 客户要求继续往下挖 老板提出需求 必须要有一个高危 2个中危 低危不要 了解到次项
  • 搭建若依框架完成医疗项目 ——业务流程及页面展示

    目录 一 搭建若依项目 1 1 快速了解 1 1 1 技术选型 1 1 2 内置功能 1 2 环境部署 二 医疗项目业务 2 1 门诊模块 2 2 住院模块 2 3 药房药库 2 4 表设计 三 项目展示 3 1 项目背景 3 2 门诊功能
  • 推荐一款自动向hackerone发送漏洞报告的扫描器

    推荐一款自动向hackerone发送漏洞报告的扫描器 自从阿浪写了那个工具 总感觉没有web页面就是没有灵魂 然后在GitHub闲逛的时候 发现了这一款工具 用了一个多月 效果还行 可以平替 唯一的缺点就是搭建起来有些困难 需要修改文件来达
  • Google Guava 反射工具使用详解

    文章目录 反射 类操作 方法操作 字段操作 获取注解 反射 在 Guava 中 反射 Reflection 模块提供了一些用于简化反射操作的工具类和方法 通过 Guava 的反射模块 您可以方便地进行类 方法 字段的操作 获取注解信息等 下
  • Mybatis 1对1的关联映射结果集

    在MyBatis中 ResultMap 被用于详细地描述如何从数据库的结果集映射到Java对象 这对于处理复杂的SQL查询和关联表格非常有用 因为它提供了一种灵活的方式来处理数据库列和Java对象属性之间的不匹配 以及数据嵌套 Result
  • 3D Web可视化平台助力Aras开发PLM系统:提供数据访问、可视化和发布功能

    HOOPS中文网 慧都科技是HOOPS全套产品中国地区指定授权经销商 提供3D软件开发工具HOOPS售卖 试用 中文试用指导服务 中文技术支持 http techsoft3d evget com Aras是一个面向数字化工业应用的开放性平台
  • Google Guava 散列工具使用详解

    文章目录 散列 哈希函数 哈希码 布隆过滤器 散列 Guava 提供了一组散列 哈希 相关的工具类和方法 包括哈希函数接口 哈希算法实现 哈希码 HashCode 类 布隆过滤器 BloomFilter 等等 Guava 提供了多种哈希函数
  • 仅用61行代码,你也能从零训练大模型

    本文并非基于微调训练模型 而是从头开始训练出一个全新的大语言模型的硬核教程 看完本篇 你将了解训练出一个大模型的环境准备 数据准备 生成分词 模型训练 测试模型等环节分别需要做什么 AI 小白友好 文中代码可以直接实操运行 欢迎阅读体验 目
  • 【shell】 tee 和 >> 区别

    向temp txt追加内容 echo 123456 gt gt temp txt echo 123456 sudo tee a temp txt 覆盖temp txt内容 echo 123456 gt temp txt echo 12345
  • 【故障诊断】基于 KPCA 进行降维、故障检测和故障诊断研究(Matlab代码实现)

    目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 用于轴承故障诊断的性能增强时变形态滤波方法和增强数学形态算子是近年来在轴承故障诊断领域中得到广泛研究和应用的方法 它们能够提高诊断性能 有效地提取轴承故障特征
  • 淘宝开放API列表展示(含测试链接)

    item get 获得淘宝商品详情 测试入口 item get pro 获得淘宝商品详情高级版 item review 获得淘宝商品评论 item fee 获得淘宝商品快递费用 item password 获得淘口令真实url item l
  • 力扣(LeetCode)1038. 从二叉搜索树到更大和树(C++)

    先序遍历 根据题意 给定一个二叉搜索树 root BST 请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和 模拟二叉搜索树替换到 更大和数 的过程 请了解性质 二叉搜索树的先序遍历 是一个正序数组 直观思路 先序遍历 左根
  • 白噪声下真实正弦波的精确频率估计研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及数据
  • 基于GA-BP遗传算法优化BP神经网络多维回归预测研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文档讲解
  • 测试:性能测试

    一 性能测试 性能测试是一种评估软件 系统或服务在特定条件下性能的过程 性能测试有助于确定系统的响应时间 吞吐量 可扩展性 稳定性和资源消耗等关键指标 一 响应时间 响应时间 Response Time 是性能测试中的一个重要指标 用于衡量
  • 开关电容转换器的合成器研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码实现