首页
游戏
影视
直播
广播
听书
音乐
图片
更多
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的云盘
我的搜索
我的记录
我的图片
我的图书
我的笔记
我的音乐
我的影视
我的邮件
我的游戏
Search
1
virtuoso和empyrean alps模拟仿真和混仿教程
360 阅读
2
在IC617中进行xa+vcs数模混仿
301 阅读
3
文档内容搜索哪家强? 15款文件搜索软件横向评测
264 阅读
4
科普:Memory Compiler生成的Register file和SRAM有何区别?
258 阅读
5
通俗易懂的AI知识体系图及其产业链全景图
198 阅读
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
登录
Search
标签搜索
AI
python
Docker
vcs
PyQT
STM32
cadence
linux
systemverilog
EDA
Alist
vscode
uos
package
MCU
C
QT
CXL
sed
sv
bennyhe
累计撰写
387
篇文章
累计收到
33
条评论
首页
栏目
默认分类
芯片市场
数字电路
芯片后端
模拟电路
芯片验证
原型与样片验证
算法与架构
DFX与量产封装
PC&Server OS设置
移动OS设置
软件方案
新浪备份
有道备份
页面
游戏
影视
直播
广播
听书
音乐
图片
看书
微视
主播
统计
友链
留言
关于
论坛
邮件
推荐
我的云盘
我的搜索
我的记录
我的图片
我的图书
我的笔记
我的音乐
我的影视
我的邮件
我的游戏
搜索到
387
篇与
的结果
2025-09-02
几款免费好用的电路设计软件,你一定要试试!
果果小师弟嵌入式微处理器2022年09月16日12:01北京工程软件和在线资源往往比较昂贵,不过,对于专业人员、学生和爱好者来说是非常有益的。用户开展项目或者仅进行工程验证时,这些资源往往是必要的,但是相关成本却令许多人望而却步。今天给大家分享几款高质量的免费软件,相信你肯定喜欢!一、电路仿真PartSim网址:https://www.partsim.com/PartSim是一款基于浏览器的电路仿真器,用户可以通过该软件进行电路实验。该仿真器布局简单,从而确保易用性,同时提供完整的SPICE仿真引擎、基于Web的原理图捕获工具和图形示波器,可以监视电路的模拟/数字信号电平。该工具还包含Digi-Key BOM(物料清单),允许用户为设计组件分配零件号,然后找到分销商。▲PartSim▲PartSimEasyEDA网址:https://easyeda.com/EasyEDA旨在“通过为电子设计提供全面的数据和协作工具,帮助设计人员更快地将创意转化为制造原型”。EasyEDA提供免费的在线电路仿真、PCB设计和电子电路设计功能。人们可以访问大量的原理图元件库、PCB封装和包装、spice仿真、模型和子电路,从而节省设计时间。还可以邀请他人进行项目协作,并轻松地在团队中分享设计。标准版免费使用,并提供无限公共项目和2个私人项目。Autodesk Circuits网址:https://www.autodesk.com.cn/solutions/circuit-design-softwareAutodesk Circuits是用于电子设计和实验的一组工具。初学者可以通过Electronics Lab或Circuit Scribe开始简单的实验,而经验丰富的用户则可以直接跳至PCB设计。该软件提供大量的免费入门教程和项目教程,可以通过Electronics Lab学习。二、PCB设计DesignSpark PCB官网:https://www.rs-online.com/designspark/pcb-softwareDesignSpark PCB将自己称为世界上最易于使用的电子设计软件,专门用于快速原型设计,并且可以将你的电路想法更快地转化为可测试的电路板”。这个软件对原理图尺寸没有限制,所以用户在创建PCB设计时也没有限制。用户也可以导入和导出他们需要的任何格式的文件,并且能够以所需格式创建BOM(物料清单)。虽然该工具完全免费,但是要注意重要的一点,即用户必须在其网站上注册才能解锁程序,并且在开始工作之前必须确认所显示的广告。▲DesignSpark PCB▲DesignSpark PCB▲DesignSpark PCB▲DesignSparkPCBKiCadEDA网址:https://www.kicad.org/KiCad是一款跨平台的开源电子设计自动化套件。该套件由三个不同的工具组成:Eeschema(原理图捕捉)、PcbNEW(PCB布局)和3D Viewer(通过3D方式查看电路板设计)。其中3D Viewer是一个独特的工具,可以旋转和平移你的电路板,从而查看2D图中无法看到的细节。▲KiCad▲KiCad▲KiCad三、CAD建模FreeCAD网址:freecadweb.org/FreeCAD是一款多平台开源参数化3D建模工具,旨在帮助用户将设计项目变为现实。这是一款通用多功能工具,适合不同级别的用户。想要涉及3D打印的初学者、教育工作者或经验丰富的CAD用户都可以使用FreeCAD。程序员还可以利用Python“扩展FreeCAD的功能、用脚本实现自动化、构建自己的模块,甚至将FreeCAD嵌入到自己的应用程序中。”▲FreeCAD▲FreeCAD▲FreeCADQCAD网址:qcad.org/en/QCAD是一款免费的开源2D CAD应用程序。QCAD 是一个免费的开源应用程序,用于二维 (2D) 计算机辅助绘图 (CAD)。使用 QCAD,您可以创建技术图纸,例如建筑平面图、室内设计、机械零件或示意图和图表。QCAD 适用于 Windows、macOS 和 Linux。该程序的功能列举如下:图层、块(分组)、35种CAD字体、40多种施工工具、20多种修改工具等等。许多用户都非常喜欢QCAD易于使用的界面和多功能性,给出了很高的评价。▲QCADImplicitCAD官网:implicitcad.org/ImplicitCAD网站表示:“ImplicitCAD项目致力于利用数学和计算机科学的力量来解决3D打印革命中的愚蠢设计问题”。ImplicitCAD是一款开源程序化CAD工具。这意味着ImplicitCAD使用了一种可以编译成3D对象的编程语言。程序化CAD的优点包括:对象的可重用性和抽象性;重复性任务的自动化;参数化设计以及软件开发(比如版本控制)的常用工具。▲ImplicitCAD▲ImplicitCADOpenSCAD官网:openscad.orgOpenSCAD是一款可以创建实体三维CAD模型的免费软件,可用于 Linux/UNIX、MS Windows和 MacOS X。它允许设计人员创建精确的3D模型和参数化设计,并且可以通过更改参数进行轻松调整。这些文档都是ASCII纯文本脚本,因此OpenSCAD更像是面向程序员的实体建模工具,通常被认为是设计开源硬件的入门级CAD工具,比如科研和教育科学工具。▲OpenSCAD四、电路仿真APP▲Droid PCB▲Circuit Wizard▲Bright Spark来自微信
2025年09月02日
53 阅读
0 评论
0 点赞
2025-09-01
工艺集成与封装测试技术详解
半导体在线2022年07月28日16:07江西来自微信
2025年09月01日
9 阅读
0 评论
0 点赞
2025-09-01
C语言关键字的应用技巧
嵌入式微处理器2022年05月26日12:00北京摘要:嵌入式C开发关键字的应用技巧1、volatilevolatile修饰表示变量是易变的,编译器中的优化器在用到这个变量时必须每次都小心地从内存中重新读取这个变量的值,而不是使用保存在寄存器里的备份,有效的防止编译器自动优化,从而与软件设计相符合。中断服务与主程序共享变量://volatile uint8_t flag=1; uint8_t flag=1; void test(void) { while(flag) { //do something } } //interrupt service routine void isr_test(void) { flag=0; }如果没使用volatile定义flag,可能在优化后test陷入死循环,因为test里使用的flag并没修改它,开启优化后,编译器可能会固定从某个内存取值。例如:for(int i=0; i<100000; i++); //对比 for(volatile int i=0; i<100000; i++);前者可能被优化掉,虽然编码本意是需要执行操作延时,但编译器认为代码无意义。总的来说,volatile是告知编译器,不管代码如何,必须保留,而且使用时需要重新从内存读取更新,不能使用先前读取的缓存,一般在驱动代码中使用较多。2、constconst是恒定不变的意思,其修饰的各种数据类似只读效果。1)、 修饰变量采用const修饰变量,即变量声明为只读,保护变量值以防被修改。例如const int i = 1;上面这个例子表明,变量i具有只读特性,不能够被更改;若想对i重新赋值,如i = 10;属于错误操作。特别说明,定义变量的同时进行初始化,写成int const i=1,是正确的。2)、 修饰数组C语言中const还可以修饰数组,举例如下:const int array[5] = {1,2,3,4,5}; array[0] = array[0]+1; //错误,array是只读的,禁止修改数组元素与变量类似,具有只读属性,不能被更改;一旦更改,编译时就会报错。使用大数组存储固定的信息,例如查表(表驱动法的键值表),可以使用const节省ram。编译器并不给普通const只读变量分配空间,而是将它们保存到符号表中,无需读写内存操作,程序执行效率也会提高。3)、 修饰指针C语言中const修饰指针要特别注意,共有两种形式,一种是用来限定指向空间的值不能修改;另一种是限定指针不可更改。举例如下:int i = 1; int j = 2; const int *p1 = &i; int* const p2 = &j;上面定义了两个指针p1和p2,区别是const后面是指针本身还是指向的内容。在定义1中const限定的是 p1,即其指向空间的值不可改变,若改变其指向空间的值如 p1=10,则程序会报错;但p1的值是可以改变的,对p1重新赋值如p1=&k是没有任何问题的。在定义2中const限定的是指针p2,若改变p2的值如p2=&k,程序将会报错;但 p2,即其所指向空间的值可以改变,如 p2=20是没有问题的,程序正常执行。4)、 修饰函数参数const关键字修饰函数参数,对参数起限定作用,防止其在函数内部被修改。所限定的函数参数可以是普通变量,也可以是指针变量。例如:void fun(const int i) { …… i++; //对i的值进行了修改,程序报错 }常用的函数如strlensize_t strlen(const char *string);const在库函数中使用非常普遍,是一种自我保护的安全编码思维。3、struct与union对于struct 结构体和union共联体在嵌入式领域是使用得非常频繁的,一些可编程芯片提供的寄存器库都是采用结构体和共联体结合的方式来提供给软件人员进行开发,同时在平时的编码过程中这两个数据类型的灵活应用也能够实现代码更好的封装与简化。如下面的简单示例,就可以非常灵活的访问Val中的bit位。 typedef union { BYTE Val; struct __packed { BYTE b0:1; BYTE b1:1; BYTE b2:1; BYTE b3:1; BYTE b4:1; BYTE b5:1; BYTE b6:1; BYTE b7:1; } bits; }BYTE_VAL, BYTE_BITS;其中:1表示按位操作。不只是位-字节可以,单字节与多字节也可以简化拼接。#include "stdio.h" typedef struct { union { struct { unsigned char low; unsigned char high; }; unsigned short result; }; }test_t; int main(int argc, char *argv[]) { test_t hello; hello.high=0x12; hello.low=0x34; printf("result=%04X\r\n",hello.result);//输出 result=1234 return 0; }运行输出 result=1234 (win7系统下QT开发环境),原本需要 (high<<8)|low 运算,可以简化为共用体类型自动完成,但必须注意平台的字节顺序,属于大端还是小端模式。在应用层面,如果明确某个数据可能存在两种可能,而且两种结果不会同时存在,也可以使用结构体与共用体组合的方式,确保模块对外接口统一。例如移动通信模块,使用数据结构保存其基站信息,因为制式不同,模块可能工作在2G-GSM,也可能在4G-Cat1,为保证上层读取基站信息接口唯一,使用共用体就非常合适,否则需定义两套接口。如果觉得文章可以,可关注微信公众号【嵌入式系统】获取更多信息。4、预定义标识符一般编译器都支持预定义标识符,这些标识符结合printf等打印信息帮助程序员调试程序是非常有用的,一般编译器会自动根据用户指定完成替换和处理。部分标识:__FILE__ //表示编译的源文件名 __LINE__ //表示当前文件的行号 __FUNCTION__ //表示函数名 __DATE__ //表示编译日期 __TIME__ //表示编译时间使用范例:printf("file:%s,line:%d,date:%s,time:%s",__FILE__,__LINE__,__DATE__,__TIME__);这些比较常见,主要用于日志分析、版本记录,便于调试。5、#与###:是一种运算符,用于带参宏的文本替换,将跟在后面的参数转成一个字符串常量。 ##:是一种运算符,是将两个运算对象连接在一起,也只能出现在带参宏定义的文本替换中。#include "stdio.h" #define TO_STR(s) #s #define COMB(str1,str2) str1##str2 int main(int argc, char *argv[]) { int UART0= 115200; printf("UART0=%d\n", COMB(UART, 0));//字符串合并为变量UART0 printf("%s\n", TO_STR(3.14));//将数字变成字符串 return 0; }6、void 与 void*void表示的是无类型,不能声明变量或常量,但是可以把指针定义为void类型,如void ptr。void 指针可以指向任意类型的数据,在C语言指针操作中,任意类型的数据地址都可转为void* 指针。因为指针本质上都是unsigned int。常用的内存块操作库函数:void * memcpy( void *dest, const void *src, size_t len ); void * memset( void *buffer, int c, size_t num);数据指针为void* 类型,对传入任意类型数据的指针都可以操作。另外其中memcpy第二个参数,const现在也如前文所述,拷贝时对传入的原数据内容禁止修改。特殊说明,指针是不能使用sizeof求内容大小的,在ARM系统固定为int 4字节。对于函数无输入参数的,也尽量加上void,如void fun(void);7、weak一般简化定义#define _WEAK __attribute__((weak)) 函数名称前面加上__WEAK属性修饰符称为“弱函数”,类似C++的虚函数。链接时优先链接为非weak定义的函数,如果找不到则再链接带weak函数。_WEAK void fun(void) { //do this } //不在同一个.c,两同名函数不能在同一个文件 void fun(void) { //do that } 这种自动选择的机制,在代码移植和多模块配合工作的场景下应用较多。例如前期移植代码,需要调用某个接口fun,但当前该接口不存在或者未移植完整使用,可以使用weak关键字定义为空函数先保证编译正常。后续移植完成实现了fun,即软件中有2个fun函数没有任何错误,编译器自动会识别使用后者。当然也粗暴的#if 0屏蔽对fun的调用,但要确保后续记得放开。8、总结存在即合理,C语言里面的关键字,每个都有其特殊的意义,只是一般使用较少,譬如作文,使用常用的汉字可以;但引经据典,使用特殊的修饰辞藻更能显出水平。后续对section 进行详细说明,它和动态加载(OTA)、接口自启动相关。来自微信
2025年09月01日
29 阅读
0 评论
0 点赞
2025-09-01
分享几款主流的EDA仿真软件(模拟电路)
摘要:电路仿真,顾名思义就是设计好的电路图通过仿真软件进行实时模拟,模拟出实际功能,然后通过其分析改进,从而实现电路的优化设计;是EDA(电子设计自动化)的一部分。市面上有各种类型的仿真器,本文对其中几款十分具有代表性的电路仿真软件进行了简要介绍,希望能对大家有所帮助。1、proteusProteus是英国著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到:PCB设计,真正实现了从概念到产品的完整设计,是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等;2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和Matlab等多种编译器。Proteus是一个巨大的教学资源,在模拟电子、数字电路、单片机与嵌入式教学等实践中被广泛应用。软件下载地址:https://www.labcenter.com/downloads/网盘下载地址:https://pan.baidu.com/s/1HwMD3eXIyNx_OAuu4QJGwQ提取码:inmu2、LTspiceLTspice是一款高性能SPICE仿真软件、原理图采集和波形查看器,集成增强功能和模型,简化了模拟电路的仿真。是半导体制造商Analog Devices出品的基于Spice的软件,功能同样强大,使用非常广泛。LTspice是一款高性能SPICE仿真软件、原理图采集和波形查看器,集成增强功能和模型,简化了模拟电路的仿真。在网上搜索“LTspice simulator”就能找到软件的主页,主页提供了软件的不同版本,可以按照自己的操作系统选择适合的版本下载并安装,软件大小不到60M,安装非常简单。下图给出的是软件打开后的演示界面。软件下载地址:https://www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html3、Tina-TI德州仪器公司(TI)与DesignSoft公司联合为客户提供了一个强大的电路仿真工具TINA-TI。TINA-TI适用于对模拟电路和开关式电源(SMPS)电路的仿真,是进行电路开发与测试的理想选择。TINA基于SPICE引擎,是一款功能强大而易于使用的电路仿真工具;而TINA-TI 则是完整功能版本的TINA,并加载了TI公司的宏模型以及无源和有源器件模型。TI之所以选择TINA仿真软件而不是其它的基于SPICE技术的仿真器,是因为它同时具有强大的分析能力和简单直观的图形界面,并且易于使用。TINA-TI 提供了多种分析功能,包括SPICE的所有传统直流、交流、瞬态、频域、噪声分析等功能。虚拟仪器非常直观且功能丰富,允许用户选择输入波形、探针电路节点电压和波形。TINA的原理图捕捉非常直观,使用户真正能够“快速入门”。另外TINA具有广泛的后处理功能,允许用户设置输出结果的格式。软件下载地址:https://www.ti.com.cn/tool/cn/TINA-TI网盘下载地址:https://pan.baidu.com/s/1-QAWMDpRVVodTpksfRk3jw 提取码:6u8t4、MultismMultisim(旧名Electronics Workbench)是一款著名的电子设计自动化软件,与NI Ultiboard同属美国国家仪器公司的电路设计软件套件。是入选伯克利加大SPICE项目中为数不多的几款软件之一。Multisim在学术界以及产业界被广泛地应用于电路教学、电路图设计以及SPICE模拟。工程师们可以使用Multisim交互式地搭建电路原理图,并对电路进行仿真。Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合设计流程。其前身是加拿大EWB仿真软件,被美国NI公司收购之后,其性能得到了极大的提升。最大的改变就是:Multisim 9与LABⅥEW 8的完美结合。网盘下载地址:https://pan.baidu.com/s/1iRz-ZcGbt54GFM8Q69iiOg提取码:2x4c5、Scratch最后再给大家介绍一款我经常使用的轻量级在线电路仿真工具,其特点是轻量化,上手更容易。贴几个动态GIF,让大家看看效果:1、施密特触发器1)、施密特触发器2)、Flash型ADC3)、差分放大器4)、高通滤波器5)、诺顿定理6)、运放741内部工作机理软件地址:http://scratch.trtos.com/circuitjs.html来自微信
2025年09月01日
45 阅读
0 评论
0 点赞
2025-08-29
模拟IC设计:sigma delta ADC原理分析
KGback IP.与SoC设计2022年05月09日12:10江苏 一. ADC原理对于 Nyquist 和 Shannon 定理的检验将证明:ADC 采样频率的选择与最大输入信号频率对输入信号带宽的比率有很强的相关性。Nyquist准则(欠采样准则)如果要从相等时间间隔取得的采样点中,毫无失真地重建模拟信号波形,则采样频率必须大于或等于模拟信号中最高频率成份的两倍。因而对于一个最大信号频率为 fMAX的模拟信号 fa,其最小采样频率 fs,则有 fs ≥ 2 * fMAXNyquist频率:采样频率的一半,即 fs/2。从理论上来讲奈奎斯特频率正好大于输入信号的最大频率。Shannon定理一个带宽为fb的模拟信号,采样速率必须为 fs > 2fb,才能避免信息的损失。信号带宽可以从 DC 到 fb(基带采样),或从 f1 到f2,其中 fb = f2-f1(欠采样)。信号混叠如果不满足采样定理条件,采样后的信号的频率就会重叠。即被采样信号中高于采样频率一半(fs/2)的那部分频率成分将被重建成低于fs/2信号。这种频谱的重叠导致的失真称为混叠。(可借助车轮效应理解)(1)出现原因:若采样频率小于2倍的信号频率,即 fs < 2 * fa,那么,采样后的信号将存在混叠。理论上,如果信号中没有高于奈奎斯特频率的频率成分,那么则不存在混叠。(2)解决办法:a.提高采样频率 fs,一般实际应用中保证 fs 为 fMAX 的2.56~4倍。b.加一个低通滤波器:抗混叠滤波器理想状态下,该滤波器可使低于奈奎斯特频率的频率通过,移除高于奈奎斯特频率的频率成分性能指标(1)静态指标a.积分非线性(INL):输入一输出特性曲线与连接两端点的直线之间的最大偏差b.微分非线性(DNL):在输入轴上两个连续码转换点之间的差值与理想 1LSB 值的最大偏差c.失调:直线AB通过端点的垂直截距d.增益误差:直线AB的斜率与理想值1之间的偏差(2)动态指标a.信号与噪声失真比(SNDR):是当输入为正弦时,输出端信号功率与总噪声及谐波功率的比。b.动态范围:满量程正弦输入功率与肼限=0 dB时的正弦输入功率的比值c.总谐波失真:所有谐波能量(除去基波)之和除以基频的能量二. Σ-Δ 原理0.常用单级分类(1)根据modulator是否使用开关电容电路分a.连续时间模式(无开关电容):优点:功耗更小,无开关电容对时钟噪声不敏感,调制速度更快,常用于转换较高频率信号。缺点:要通过RC值来确定的积分系数,而不是像离散时间模式是用电容比值来确定的;对反馈回来的脉冲波形比较敏感,它会影响输入信号。b.离散时间模式则(有开关电容)与前者相反。(2)根据modulator阶数分所谓阶数指的是sigma—Delta调制器中积分器的个数。一般阶数越高幅频特性越好,低频段的衰减也越厉害,高频段的通过性越好所能达到的有效位数越大,但是延迟也会很大,也会减小输入信号的摆幅,另外,由于噪声在高频的幅值过大,会使整个系统的稳定性降低。(3)根据量化器的位数分可以分为一位调制器和多位调制器。使用多位量化器可以增加SNR,使系统容易稳定,产生较少的谐波分量,使降采样滤波器变得相对简单;但是多位量化器增加了ADC的复杂性,并且要求用于反馈的多位DAC有足够的精度来保证最后量化的精度。1.基本原理(图片来源于ANALOG DEVICES) (1)过采样指以高于信号带宽2倍或其最高频率对其采样的过程。K即为过采样率(OSR)。目的:a. 由于采用 Kfs 采样频率,均方根值为 q/√12 的量化噪声分布在 DC 到 Kfs/2 的带宽范围内,降低了某一频率下的噪声幅值,从而提高了信噪比,根据信噪比(SNR)和实际分辨率(ENOB)公式:ENOB=(SNR-1.76)/6.02 (SNR=6.02*N+1.76)可见提高了实际分辨率b.同时减轻了模拟抗混叠滤波器的要求(2)量化噪声整形(采样频率和量化值之间的关系,红线是实际电压值)离散化的阶梯型与红色的模拟信号相减的值即为量化噪声。实际上,阶梯型线条包围的面积和模拟信号包围的面积是相等的,即二者能量总量是相等的。量化噪声是消除不了的。根据频域线性模型y和x的关系,f越大,Q引起的噪声就越大,即类似高通滤波器(x部分则是低通滤波器)(3)数字抽取滤波通过数字滤波器将比较器输出的高频一位或多位量化值转换为频率较低的多位量化值。可理解为降采样滤波器可将n个输入信号加起来,然后除以n,这样获得输入的平均值。优点:当采样频率下降n倍时,fs/n及其谐波分量处的噪声被混叠到信号带内,其引入的噪声会比较小。(4)数据流的计算该部分举例分析:若调制器DAC的参考电压Vref为1V,现输入模拟电压值0.5V,则调制器输出为011101110111的序列,如图所示:3/4代表调制器分辨率为2,6/8代表分辨率为3则实际电压Vin=(3/4-2/4)(1-(-1))=0.5V, 即Vin=(weight(1)-1/2)Vref*2(5)频域线性模型输出值y和输入值x,以及量化噪声Q,信号频率f之间的关系2.ADC组成(图片来源于ANALOG DEVICES)(1)模拟部分:a.模拟抗混叠滤波器,b.ADC部分:一个比较器、一个基准电压源、一个开关以及一个或多个的积分器与模拟求和电路(2)数字部分:一个DSP(通常但不总是低通滤波器使用)三.设计流程1.数字抽取滤波器设计在设计数字滤波器时,滤波器的采样频率就是前端AD的采样频率。不同阶数的CIC滤波器的延迟问题:当数字滤波器处理来自Σ-Δ调制器的数据流的移动平均值时,存在一个相关的建立时间。该延迟对所有FIR滤波器是固定的,但对不同阶数的CIS滤波器,该延迟是不同的。通常用两项来描述该延迟:群延迟和建立时间。群延迟描述从输入端存在模拟信号到在数字输出端看到它的延迟时间。例如对于单音正弦波,群延迟就是从模拟输入端存在该正弦波电压峰值到该峰值出现在数字输出端的时间差。建立时间是指数字滤波器的全部均值时间。如果模拟输入端有一个阶跃,那么需要经过滤波器的完全建立时间, ADC的数据输出才与阶跃之前的输入无关。还可能存在其他延迟,如滤波器的计算时间等。本次设计的数字抽取滤波器为3阶的CIC滤波器,与一般的FIR滤波器相比,后者则需要大量的乘法器,而前者只需要加法器和延时,简化了运算,适合用于抽取前级和内插后级等告诉场合,但是也有明显不足:幅频特性无法像 FIR 那样灵活设计,因而有时在抽取的后级会用 FIR 来整形。因此该设计主要由级联积分梳状(CIC)抽取滤波器、CIC补偿滤波器和半带(HB)滤波器组成。cIc抽取滤波器作为数字抽取滤波器的第一级来达到降速作用;CIC补偿滤波器用来补偿通带的衰减;HB滤波器则用作抽取滤波器的阻带衰减及进一步降低采样频率。用FDAtool设计CIC decimator时,通带增益不是0dB,需要级联一个常数增益滤波器,CIC滤波器增益为D^Q,D是抽取因子,Q是级数,常数增益滤波器增益设置为1/(D^Q),就行,在脚本中输入 G=dfilt.scalar,G.Gain=1/(D^Q);然后从工作区引入滤波器,设置完参数和CIC级联。本文来源:https://blog.csdn.net/qq_39815222/article/details/103248394来自微信
2025年08月29日
14 阅读
0 评论
0 点赞
1
...
15
16
17
...
78