![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA学习
文章平均质量分 67
fpga学习
钱多多小姐
一个努力学逻辑的硬件工程师
展开
-
Xilinx FPGA数字信号处理系统设计指南学习笔记——六 量化误差、量化误差信号及信噪比
由此可见前文对ADC的量化误差e(n)与系统实际输出是有关的,及系统输出是受控的、可调节的,及ADC等效系统是一个闭环系统的推测是正确的。1.量化误差的定义:Quadratuer Error,指由于ADC对模拟信号量化而产生的误差,该误差最大可以达到量化等级的一半。在这里笔者认为是用其记录各个时间点系统产生的量化误差的信号,将量化误差信号与实际信号进行叠加即可完成对系统的误差补偿。量化误差信号:实际并不存在的,人为引入的信号,表示了采样误差信号电压与时间的关系,引入的目的是便于对系统进行分析。原创 2024-01-29 10:35:58 · 897 阅读 · 0 评论 -
Xilinx FPGA数字信号处理系统设计指南学习笔记——五 模数转换器及量化效应二
添加量化误差后我们可以看见ADC等效成了一个开环系统,量化噪声看似与输出无关,笔者各人认为ADC大概率应该是一个闭环系统,即系统对输出信号有检测调控的能力,察觉到输出不符合预期后会调整量化误差e(n)的值来调整输出。如图,对于一个位数很少的ADC,量化一个幅度很小的正弦波,在考虑噪声时,如其幅值为q/10,则输入到中间升高ADC后输出为000,输入到中间水平ADC后输出为000和111。即使用中间水平型ADC时,在零电平量化时,ADC一个模拟输入对应了两个数字输出,这将造成ADC误差。VFS:满量程电压。原创 2023-12-31 22:01:44 · 489 阅读 · 0 评论 -
Xilinx FPGA数字信号处理系统设计指南学习笔记——四 模数转换器及量化效应一
2.信号的线性与非线性:线性,变量之间的关系是直线,成比例的,即当一个变量发生变化时,另一个变量也会按照固定比例变化。非线性,变量之间的关系不直接、不成比例,即当一个变量发生变化,另一个变量不是按固定比例进行变化。c.双斜率型ADC,即内部使用一个连接到参考电压的电容,由一个数字计数器计算电容充电时间,完成模数转换。因为语音信号动态范围大,“oh”与“b”型声音幅值很大,“sh”型幅值很小,如使用均匀量化,“sh”将落入LSB门限之下,被量化到零,造成信息丢失。类似的,DAC也有相应情况。原创 2023-12-20 12:57:04 · 579 阅读 · 0 评论 -
verilog学习记录(10)——二线制IIC一
读出数据帧:启动信号+1010(I2C总线器件特征编码)+3位芯片地址/页地址+写状态位(后续进行一字节数据写操作)+ack位+E2存储单元地址+ack位+启动信号+1010(I2C总线器件特征编码)+3位芯片地址/页地址+读状态位(后续进行一位数据读操作)+ack位+读出数据+非ack+停止信号。写入帧:启动信号+1010(I2C总线器件特征编码)+3位芯片地址/页地址+写状态位(后续进行一字节数据写操作)+ack位+E2存储单元地址+ack位+写入数据+ack位+停止信号。原创 2023-12-18 23:48:21 · 533 阅读 · 0 评论 -
Xilinx FPGA数字信号处理系统设计指南学习笔记——三 模转数信号调理方法
1、基础定义:时域,信号在时间轴上的情况,注重信号的周期性、波形变化和幅度变化等。频域,信号频率方面的特性,表示了信号的频谱分布、频率分成和能量分布等。2、采样频率越高,波形还原性越强。原创 2023-12-03 00:24:26 · 489 阅读 · 0 评论 -
Xilinx FPGA数字信号处理系统设计指南学习笔记——二 数字信号处理系统组成和实现方法
1、信噪比(Signal-Noise Ratio,SNR),计算方法是取线性信号功率与噪声功率之比的对数,算数式表示为SND=20log(V信号/V噪声)。2、噪声常用单位:dBA、dBm、dB SPL或dB HL。dBm单位表示相对于1mW的分贝数。dBA,分贝单位dB加权后可以用dBA进行表示,“A”为加权级度,在将低频率与高频率声压级值相加之前会根据公式降低声压级值,。声压级值加在一起后得数值单位为dBA,使用该单位可以更加准确反应人耳对频率的反应。原创 2023-12-03 00:23:38 · 521 阅读 · 0 评论 -
Xilinx FPGA数字信号处理系统设计指南学习笔记——一 信号的定义与分类
1、信号的定义:一个可测量、能够以某种形式携带信息,随时间变化的量。2、信号的转换:为使一个信号转化为数字量或模拟量,需要系统中包含传感器/驱动器及信号调理电路。3、信号的分类:数字信号和模拟信号。4、模拟信号是连续的变化量、数字信号是离散的变化量。原创 2023-12-03 00:22:54 · 531 阅读 · 0 评论 -
verilog学习记录(3)——D触发器设计
触发器是一种逻辑组合电路,其可存储一位二进制数,有两个稳定状态,SET(置位)和RESET(复位)。当输入信号发生改变并满足一定条件,输出信号随之发生改变。D触发器原理图如下:2.2.2 D型触发器真值表。原创 2023-10-26 10:32:49 · 5059 阅读 · 0 评论 -
verilog学习记录(6)——同步状态机的原理和结构
同步有限状态机:同步时序逻辑的基础。时序逻辑借助于状态寄存器记录电路当前自身状态,在不同状态下即使输入完全相同,输出结果也未必相同。所有触发器时钟端接在相同时钟信号上,所有输出状态改变都发生在时钟的跳变沿上,具体是上升沿还是下降沿由触发器类型决定。2 时序逻辑:输出不止于输入呈函数映射关系,还与电路目前所处的状态有关,既逻辑电路有记忆。1 组合逻辑:输出只与输入有关,呈函数映射关系(有延时),与电路的原始状态有关。产生下一状态的组合逻辑F与产生输出的组合逻辑G都是当前状态与输入信号有关的函数。原创 2023-10-26 10:25:51 · 80 阅读 · 0 评论 -
verilog学习记录(8)——序列检测器实现原理
首先,设置IDLE空闲状态,一但有数据输入立即跳出该状态,循环检测,检测到1进入A状态,之后检测到0进入B,之后以次检测到‘0’、‘1’、‘0’,分别进入C、D、E状态,进入E状态,Z输出1。如上图所示,Z为动态检测X的结果,一旦检测到完整数据流“10010”,Z即输出1,反之Z输出0。D状态后检测到1进入状态I(10011),然后返回状态A(1);B状态后检测到1进入状态G(101),然后返回状态A(1);A状态后检测到1进入状态F(11),然后返回状态A(1);C状态后检测到1进入状态D(1001);原创 2023-10-26 10:28:40 · 317 阅读 · 0 评论 -
verilog学习记录(4)——简单纯组合逻辑验证
由原理图我们不难看出,全加器由两个半加器组成,半加器1的输入是A,B两个加数,经过半加器1后求得进位与本位和,进位与前级进位进入半加器2求得本位和与进位,半加器1与半加器2进位经与门求得向相邻下一位的进位。链接:https://pan.baidu.com/s/1n5LxmknJhX2ITwFMFPz89w。Ci-1相邻低位进位数;Ci相相邻高位进位数。原创 2023-10-26 10:23:04 · 76 阅读 · 0 评论 -
verilog入门篇(1)——模块基本特性
对比二选一多路选择器(1)(2)(3),在计算机运行时可以将(1)通过工具由(2)作为中间形式综合到(3),而(3)几乎与工艺元器件逐一对应,再通过布局布线工艺可将其转化为具体工艺电路布线结构。以下已三种不同方式编写的二选一多路选择器为例,我们设置两个输入信号a,b,一个选择信号sl,一个输出信号out。该处,muxtwo是定义好的模块,(.out(outtw),.a(ain),.b(bin),.sl(select))将测试信号流赋予muxtwo_sour模块。原创 2023-10-26 10:33:51 · 119 阅读 · 0 评论 -
verilog学习记录(5)——总线应用
总线是计算机各功能部件之间传输信息的公告通信干线,是由导线组成的传输线,用来连接CPU与各个部件。原创 2023-10-26 10:24:42 · 546 阅读 · 0 评论 -
verilog学习记录(2)——数据类型
我们根据存储器名[a]可以锁定书籍编码即其在书架上的具体摆放位置,从而锁定到我们寻找的是哪一本书(即哪个寄存器),reg[7:0] 则定义书籍大小,从而我们可以获取想要的值。在VerilogHDL中用parameter来定义常量,即用parameter来定义一个标识符代表一个常量,称为符号常量,即标识符形式的常量,采用标识符代表一个常量可提高程序的可读性和可维护性。c,常用于表示“always”内,代表触发器(触发器,由事件进行触发,即触发端接收到事件发生信号,输出端状态发生反转)。//定义两个常数参数。原创 2023-10-26 10:33:17 · 177 阅读 · 0 评论 -
verilog学习记录(7)——同步有限状态机编写
如上述状态转移图,在此次程序设计中,一共设定四种状态,分别是:Idle,空闲状态;工程文件获取:链接:https://pan.baidu.com/s/12MT7qnVCCbVxI4vErIJBiw。在处于空闲状态检测到A为1时,向K1赋0,并转入下一状态,否则保持原状态不变。在处于停止状态检测到A为1时,向K2赋1,并转入下一状态,否则保持原状态不变。在处于清除状态检测到A为0时,向K1赋1,K2赋0,否则保持原状态不变。在处于开始状态检测到A为0时,进入下一状态,否则保持原状态不变。原创 2023-10-26 10:27:14 · 130 阅读 · 0 评论 -
verilog学习记录(9)——序列检测器
在这里我们一共设置了六种主状态,分别对应IDLE空闲,检测到1进入A状态,之后检测到0进入B,之后以次检测到‘0’、‘1’、‘0’,分别进入C、D、E状态,进入E状态,即我们需要的检测出10010序列的状态,然后Z输出1。工程文件获取:https://pan.baidu.com/s/1HDzhWigyOYGoQL7elGNxxw。IDLE:if(x==1) //六种主要状态。此外还设置六种辅状态,对应检测到非需要序列时跳转回相应状态重新检测,形成闭环。原创 2023-10-26 10:30:52 · 83 阅读 · 0 评论