- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 DDC截位
假设滤波器系数为20bit,由上文知混频输出为15bit,则滤波器原始数据为35bit,因此需要从35bit中选取15bit。但是考虑到混频输出IQ两路信号,由实信号变为复信号,因此幅度降低了1倍,所以,我们在截位时,应该再将信号幅度增加1倍,即改为截取[28:14]。在混频的乘法计算中(I或Q路),信号扩大了2^15倍(本振16位,其中15位数据位),因此计算结果需要丢掉低15位以保证幅值不变,即截取[29:15]。ADC采集原始信号--->混频--->滤波--->抽取。假设ADC采集原始数据为。
2024-09-20 12:29:39
390
原创 dBFS计算方法
例:ADC为14bit,采集到的信号范围为-2000~2000,则 20log10(2000/(2^13)) = -12.24dBFS。dBFS用于描述信号相对于满量程的dB值。当信号为满量程,则该值为0;当信号小于满量程,或者超量程,则该值为负。
2024-09-19 16:14:18
272
原创 ADC有效位数(ENOB)测试方法
1. 用ILA采集原始数据(信号源提供单音信号给ADC,调整信号功率至ADC满量程)2. 导出ILA数据为.csv格式(有符号十进制数),用matlab进行数据预处理。3. 将数据导入专业软件分析得到各种指标结果。
2024-09-19 16:05:06
734
原创 FPGA之FIR滤波器
注意:为了方便区分,COE文件的命名一般采用fs_fpass_fstop_d的格式,例:fs2400m_fpass500m_fstop700m_d2.coe,d2指2倍抽取。根据第2节设置,输入数据位宽为16bit,滤波器系数为20bit,输出为37bit(输出扩位是防止计算结果溢出),为了减小数据传输带宽,一般对输出结果进行截位处理。前文提到滤波器对信号幅度有2^20倍的增益,为了保证滤波器的0增益效果,也需要对滤波器输出进行截位处理。此时输出的系数有20bit的增益,即滤波后,信号幅度增大2^20倍。
2024-05-30 11:34:18
1200
原创 FPGA实现DDS
DDS即直接数字合成频率,由相位累加器、波形数字表、相位调制器组成。(FPGA每个系统时钟周期向波形数字表中查询一个值,共。(FPGA每个系统时钟周期向波形数字表中查询一个值,共。此时该公式理解为FPGA生成频率为。是正弦信号的相位精度(生成一个周期点数为。的正弦信号的一个周期所需要花费的时间为。的正弦信号的一个周期所需要花费的时间为。此时该公式理解为FPGA生成频率为。的正弦信号,得到最小的相位间隔为。为FPGA系统时钟的周期,个值,每隔1个值取一次)。是FPGA系统时钟,
2023-07-12 11:30:49
1664
原创 FPGA配置之SelectMAP总线
1、配置文件选择不同的配置文件格式有不同的应用场景,这里选择bin文件作为配置文件。2、FPGA启动流程3、SelectMAP时序4、端口定义
2022-05-20 17:18:16
11422
16
原创 连续信号与离散信号---采样定理
1. 采样定理的作用采样定理的重要性在于它在连续时间信号与离散时间信号之间所起的桥梁作用。根据采样定理可知,在一定条件下,一个连续信号完全可以用该信号在等时间间隔点上的值或样本来表示,并且可以用这些样本值把该信号全部恢复出来。 在很多方面,离散时间信号的处理更灵活方便,因此往往比处理连续时间信号更为可取。借助采样定理:可以利用采样先把一个连续时间信号变换为离散时间信号,再用一个离散时间信号系统将该离散信号进行处理,之后再把它变换回到连续时间中。...
2022-03-27 18:29:58
6664
原创 傅里叶变换
连续时间信号的基波频率w0不同,对应着不同的信号。w0越大,信号振荡频率越快。离散时间信号的基波频率w0与w0+2πn对应着同一信号。w0从0开始增加,到π时信号振荡频率达到最快,从π到2π,信号振荡频率下降至0。因此,在离散时间域,一般只在一个基波周期内(“0~2π”或“-π/2~π/2”)做信号分析。举例:(1) 与(2) 与Matlab...
2022-03-19 14:09:43
1925
原创 Zynq PS Clock System
PS 时钟子系统生成的所有时钟都来自三个可编程 PLL 之一:CPU、DDR 和 I/O。正常模式下,PLL被启用,并由PS_CLK时钟管脚驱动。在Bypss模式中,
2022-02-16 11:20:15
4173
2
原创 Zynq中断
PS 基于 Arm 架构,利用两个 Cortex-A9 处理器 (CPU) 和 GIC pl390 中断控制器。中断分类:私有外设中断(PPI)、软件生成中断(SGI)、共享外设中断(SPI)。1、私有外设中断(PPI)每个CPU都有一组私有外设中断,包括全局定时器、私有看门狗定时器、私有定时器和来自PL的FIQ/IRQ。私有定时器的时钟频率为 CPU 时钟频率的一半。2、软件生成中断(SGI)每个 CPU 都可以使用软件生成中断中断自身、另一...
2022-02-15 15:47:26
2407
原创 Zynq AXI介绍
1、简介 在Zynq MIO和EMIO中,介绍了用EMIO能实现PS 端与 PL 端的交互;但是PS 与 PL 最主要 的连接方式则是AXI接口。2、PL端AXI相关的软核在IP搜索栏中输入‘AXI’,可以看到Vivado中已经集成了很多AXI相关的软核,这些软核可直接连接PS端的AXI总线,用户可根据需求直接调用。下面举例说明。3、AXI GPIO IPAXI GPIO IP 核为 AXI 接口提供了一个通用的输入/输...
2022-02-15 11:26:49
1533
原创 Zynq MIO与EMIO
1、MIO/EMIO简介ZYNQ 分为 PS 和 PL 两部分,那么器件的引脚(Pin)资源同样也分成了两部分。ZYNQ PS 中的外设可以通过 MIO(Multiuse I/O,多用输入/输出)模块连接到 PS 端的引脚上,也可以通过 EMIO 连接到 PL 端的引脚。Zynq-7000 系列芯片一般有 54 个 MIO、64个EMIO。2、MIO管脚约束如上图,MIO包含在PS的FIXED_IO中,在生成输出文件的时候,Vivado工具会自动创...
2022-02-15 10:18:47
2881
原创 Zynq AXI地址空间分配
1、地址映射图1 Zynq地址映射当PS作为从机时,地址分配在0010_0000~3FFFFFFF;当PS作为主机使用M_AXI_GP0时,地址分配在4000_0000~7FFFFFFF;当PS作为主机使用M_AXI_GP1时,地址分配在8000_0000~BFFFFFFF。2、例:PS作为主机调用M_AXI_GP0的地址分配3、例:PS作为主机调用AXI_GPIO的地址分配...
2022-02-14 16:56:37
7081
原创 SDK使用添加头文件math.h仍报错问题
问题描述:在Zynq调试中,使用SDK进行软核开发时,调用了math.h头文件中的函数sin、cos等,即使在程序中添加了头文件,仍然报错。原因SDK默认情况下没有链接该库,需手动连接。解决方案:右键工程选择“c/c++ Build Setting”->在“ARM v7 gcc linker”下面的libraries中添加库文件,在右侧点击add,输入‘m’后保存退出。...
2022-02-14 16:29:30
2041
原创 GT Transceivers Wizard IP使用实例
1、开发步骤第一步:新建IP核并进行参数设置;第二步:将IP示例工程中的相应“.v文件”加入项目工程;第三步:修改示例代码。①对发送数据模块和接收数据模块按照需求进行修改;②编写同步模块、稳定性检测模块;③根据rx_los信号对RX复位状态机复位,保证每次插拔光纤后自动复位RX端。第四步:编写约束文件。①将IP示例工程中UCF约束语句拷贝到目标约束文件;②对光模块相应端口进行引脚约束并赋值。第五步:仿真、综合...
2022-02-14 15:50:42
3643
原创 GT Transceivers Wizard IP参数设置说明
1、IP核参数设置说明1.1 GTX IP第二页设置图 1 GTX IP Page 2 of 7如图1:1)协议设置 ①在协议选择下拉菜单中选择相应数据协议,其中“Start from scratch”是无协议,相当于自定义数据帧格式。 ②根据项目要求,设置数据速率“Line Rate”为10G;根据板上资源,选择参考时钟频率“Reference Clock”为200MHz。 ③当不需要使用TX端时,可勾选“TX off”将其关闭...
2022-02-14 14:47:51
8080
6
原创 锁相环π模糊
1、锁相环工作原理:最基本的锁相环由鉴相器(PD)、压控振荡器(VCO)、环路滤波器(LPF)组成。锁相环根据输入信号频率Wi与输出信号频率Wo得到相位差,控制VCO使Wo向Wi的方向靠近,直至相等。2、π模糊对于正弦波来说,sin(t)与sin(t+Π)在坐标轴上的波形表现形式上一致。因此,在相同输入频率Wi的多次锁相情况下,PD在计算Wi与Wo的相位差时,存在Π的误差。例如:设默认情况下锁相环的输出频率为Wo,输入频率为Wi;在第一次锁相时...
2022-02-14 10:44:32
773
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人