数字
%将原始信号做 FFT 变换 Pyy=y.*conj(y)。 %做功率谱分析 f=(0:(N/21))。 for i=1:N/21。 f(i)=f(i)*fs/N。 end。 figure(l)。 Plot(f, pyy(1:N/2))。 y=fft(yyl, N)。 Pyy=y.*conj(y)。 f=(0:(N/21))。 for i=1:N/21。 f(i)=f(i)*fs/N。 end
基准信号图 2第二章 频率计测量频率的层次化设计方案 4 位十进制计数器模块4 位十进制计数器模块包含 4 个级联十进制计数器,用来对施加到时钟脉冲输入端的待测信号产生的脉冲进行计数,十进制计数器具有集束使能、清零控制和进位扩展输出的功能。 使能信号和清零信号由闸门控制模块的控制信号发生器所产生来对 4 个级联十进制计数器周期性的计数进行控制。 (1)十进制计数器元件的设计十进制计数器的程序如下
被测信号计数值为 Nx,基准频率计数值为 Ns,则有 :FX= (FS /Ns) Nx 等精度数字频率计涉及到的计算包括加、减、乘、除,耗用的资源比较大,用一般中小规模 FPGA 芯片难以实现。 因此,我们选择 FPGA 和 VHDL 语言相结合来实现。 脉冲形成电路 闸门电路 计数译码器 门控电路 时基信号发生器 预置门控电路 D Q 标准频率信号 被测信号 清零信号 CLKEN CLK
连接起来,构成各种复杂功能的系统。 FPGA的发展非常迅速,形成了各种不同的结构。 按逻辑功能块的大小分类, FPGA可分为细粒度 FPGA和粗粒度 FPGA。 细粒度 FPGA的 逻辑功能块较小,资源可以充分利用,但连线和开关多,速度慢;粗粒度 FPGA的逻辑功能块规模大,功能强,但资源不能充分利用。 从逻辑功能块的结构上分类,可分为查表结构、多路开关结构和多级与非门结构。 根据
码器的输出进行片选,译码器的两个地址引脚由单片机控制。 使用三块双口 RAM 的好处是可以顺利地接受单片机发送过来的数据,不必再增加额外的接口电路。 DDS 电路输出相位地址寻址波形数据存储器,波形数据存储器的输出和基准波模块的输出通过数字比较器 产生 PWM 波形。 DDS 基本原理 直接数字合成 (DDS, Direct Digital
京:科学出版社 .2020。 3. 赵俊超等 .集成电路设计 VHDL 教程 .【 M】 .北京 .北京希望电子出版社 .2020。 4. 周俊峰 陈 涛 . 基于 FPGA 的 直 接 数 字 频 率 合 成 器 的 设 计 和 实现 . 年 附录 : 顶层程序 文件名: library IEEE。 use。 use。 use。 entity top is Port (sysclk,reset
3 的是最直观、最简洁的程序开发环境。 MATLAB 的主要特点如下几点: 1. 语言简洁紧凑,使用方便灵活,库函数及其丰富 2. 此高级语言可用于技术计算,既具有结构化的控制语句,又有面向对象编程的特性 3. MATLAB 的图形功 能强大,数据的可视化非常简单,具有较强的编辑图形界面的能力 4. 具有功能强大的工具箱,交互式工具可以按迭代的方式探查、设计及求解问题 5.
ubplot(2,2,3)。 plot(w/pi,mag,39。 r39。 )。 axis([0 0 ])。 title(39。 幅频响应 39。 )。 subplot(2,2,4)。 plot(w/pi,db,39。 r39。 )。 axis([0 100 10])。 title(39。 幅频响应 (dB)39。 )。 xlabel(39。 以 \pi为单位的频率 39。 )。
多个工程中要用到的 数学 运算函数 ,可以方便的实现用户所需的各种计算功能 . 函数 中所使用的 算法 都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理 . 在通常情况下,可以用它来代替底层编程语言,如 C 和 C++ . 在计算要求相同的情况下,使用 MATLAB 的编程工作量会大大减少 . MATLAB 的这些 函数 集包括从最简单最基本的函数 到诸如 矩阵 ,特征 向量
误,尤其是当我设计 day 模块时,对应不同年份,不同的月份,需要分多种情况,所以在这设计过程中用到了很多 if 语句,当编译时总会提示出有错误,后来经过不断编译不断修改提示错误后最终完成了 day 模块的设计。 刚开始时,我是先从比较熟练的 Quartus II 入手,当所有的设计模块都编译成功后再进一步运用 modelsim进行波形仿真,在开始编写 testbench 时,感到有些难度