Quartus II

灰度图像的均值滤波算法的 HDL 实现

落花浮王杯 提交于 2021-02-12 04:38:36
1.1 均值滤波算法介绍 首先要做的是最简单的均值滤波算法。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围 8 个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。 P11 P12 P13 P21 P23 P31 P32 P33 中值滤波算法可以形象的用上述表格来描述, 即对于每个 3*3 的阵列而言,中间像素的值,等于边缘 8 个像素的平均值。 算法的理论很简单,对于 C 处理器而言,一幅 640*480 图像的均值滤波, 可以很方便的通过数组获得 3*3 的阵列,但对于我们的 Verilog HDL 而言,着实不易。 1.2 3*3 像素阵列的 HDL 实现 3*3 阵列的获取,大概有以下三种方式: ( 1 ) 通过 2 个或 3 个 RAM 的存储,来实现 3*3 像素阵列; ( 2 ) 通过 2 个或 3 个 FIFO 的存储,来实现 3*3 像素阵列; ( 3 ) 通过 2 行或 3 行 Shift_RAM 的移位存储,来实现 3*3 像素阵列。 不过经验告诉大家,最方便的实现方式,非 Shift_RAM 莫属了,都感觉 Shift_RAM 甚至是为实现 3*3 阵列而生的! 在 Quartus II 中,可以利用下图方式产生,很方便: 首先介绍一下

目标反射回波检测算法及其FPGA实现 之三:平方、积分电路及算法的顶层FPGA实现

点点圈 提交于 2021-01-23 05:00:22
目标反射回波检测算法及其FPGA实现 之三: 平方、积分电路及算法的顶层FPGA实现 前段时间,接触了一个声呐目标反射回波检测的项目。声呐接收机要实现的核心功能是在含有大量噪声的反射回波中,识别出发射机发出的激励信号的回波。我会分几篇文章分享这个基于FPGA的回波识别算法的开发过程和原码,欢迎大家不吝赐教。以下原创内容欢迎网友转载,但请注明出处: https://www.cnblogs.com/helesheng 。 在本系列博文的第一篇中,根据仿真结果,我认为采用“反射回波和激励信号互相关”的结果来计算目标距离的方法具有较高性能和计算效率。在本系列的第二篇博文中,我在Cyclone系列的低成本FPGA中采用半并行的“双存储器式的卷积节”结构实现了数据的互相关/卷积/FIR滤波器计算。作为本系列的第三篇博文,我将实现互相关信号的平方和积分计算,并将所有算法在顶层文件中结合为一个整体。 从而通过寻找 的极值点所在位置来确定目标反射回波出现的时间点。 (1)式中的 是互相关算法部分,其FPGA实现已在前文中介绍过。根据前文定义的符号,将离散化后的互相关信号记为R[k]。进一步离散化后可将(1)改写为如下FPGA能够实现的形式: 一、平方电路的实现 使用Quartus-II中的MegaWizard配置平方计算电路,其结构如下图所示。 图1 平方电路配置 二、积分电路设计 根据(2)式

【NiosII学习】第四篇、USART串口收发

老子叫甜甜 提交于 2020-12-18 10:42:31
目录 第一部分、新建Quartus II工程 1、注意 第二部分、修改别人软核 1、添加UART核的详细步骤 第三部分、编写Quartus中的verilog代码 1、详细步骤 2、verilog代码: 第四部分、编写Ecplise里面的C代码 1、注意 2、简单的实现串口的接收和发送的代码 第五部分、串口调试助手的使用 1、串口调试助手的参数配置 2、USB转TTL和串口调试助手的使用说明 第六部分、总结 1、我的BUG 2、效果演示 3、闲话 4、完整资料 第一部分、新建Quartus II工程 1、注意 如果你和我FPGA型号不一样,那就复制你的SOPC工程文件到文件夹中,和前面一样,因为其他的步骤大致都和我的一样,没有区别。 第一步、复制小梅哥的LCD9341的初始工程,到自己建立的文件夹中 第二部分、修改别人软核 1、添加UART核的详细步骤 第一步、打开qsys文件 第二步、添加一个UART(RS-232 Serial Port)IP核,里面的参数默认就可以 第三步、对添加的核进行连线,分配地址,导出端口,连接中断。 第四步、后面的步骤我在前面中讲到了,忘记了的小伙伴可以回去看一下,( https://blog.csdn.net/Learning1232/article/details/111041890 ) 第三部分、编写Quartus中的verilog代码 1

FPGA产生2FSK信号(1)

邮差的信 提交于 2020-11-21 13:28:29
目录 FPGA产生2FSK信号(1) 一、2FSK介绍 1、相干解调: 2、非相干解调 二、FPGA生成2FSK方法 1、正弦ROM表产生 (1)生成mif文件 (2)生成rom IP核并导入mif文件 (3)生成计数器 (4)计数器和rom整合 2、数字基带控制正弦ROM表 3、Modelsim仿真验证 开发环境: FPGA: cyclone iii 软件:quartus ii13.1+modelsim,matlab2016b 语言:Verilog HDL 一、2FSK介绍 FSK 是信息传输中使用得较早的一种调制方式,它的主要优点是:实现起来较容易,抗噪声与抗衰减的性能较好。国际电信联盟( ITU )建议在传输速率低于 1200b/s 时采用 2FSK 体制,其在中低速数据传输中得到了广泛的应用。所谓 FSK 就是用数字信号去调制载波的频率。 调制方法: 2FSK 可看作是两个不同载波频率的 ASK 已调信号之和。 解调方法:相干法和非相干法。 2FSK示意图 1 、相干解调: 相干解调 2 、非相干解调 过零检测 包络检波 二、FPGA生成2FSK方法 如图所示,2FSK产生的方案,利用基带信号控制DA的ROM表,从而实现FSK调试。 FPGA生成2FSK方案框图 1、正弦ROM表产生 下面详细讲解下如何生成ROM表。 正弦ROM表应该有这样的功能:输入时钟信号,输出幅度值

ModelSim 使用【四】ModelSim手动仿真

余生长醉 提交于 2020-11-10 07:35:32
【注】 本文为系列教程,使用同一个仿真代码,关注公众号“数字积木”,对话框回复“ modelsim_prj ”,即可获得。 这是系列第四篇。 4.1 新建仿真工程 在开始动手仿真之前,首先,我们需要创建一个文件夹用来放置我们的 ModelSim 仿真工程文件,这里我们就在之前创建的 Quartus 工程目录下的 simulation 文件夹中创建一个manual_modelsim 文件夹。manual_modelsim 文件夹创建好以后,我们还需要将已经编写好的Verilog 仿真文件和 Testbench 仿真文件添加至我们的 manual_modelsim 文件夹中,这里我们就将自动仿真时用到的 Verilog_First.v 文件和 Verilog_First.vt 文件复制到 manual_modelsim文件夹。(Verilog_First.v 文件在我们的 Quartus II 工程目录下,Verilog_First.vt 文件在我们的Quartus II 工程目录下 simulation 文件夹下的 modelsim 文件夹中。)完成以上准备工作之后,我们就可以打开 ModelSim-Altera 10.1d (Quartus II 13.1)软件了,这里我们需要注意的是,我们打开的 ModelSim 软件版本是 ModelSim-Altera Starter

hslogic_自适应滤波器的FPGA实现

强颜欢笑 提交于 2020-10-06 00:53:25
自适应滤波器是当今自适应信号处理中最为活跃的研究课题之一。自适应滤波器有广阔的应用前景,特别是在数字通信领域,自适应均衡是一种成熟技术,对包括语音频带、微波、对流层散射无线通信、有线电视调制解调器等数字通信系统影响最大。自适应滤波器的研究工作主要包括自适应算法和硬件实现。 通过对自适应滤波原理、滤波结构、最佳滤波准则、自适应算法分析、比较和总结,选出了适合于FPGA硬件实现的滤波结构和自适应算法,即基于LMS自适应算法的FIR横向滤波器。在MATLAB平台上,编写自适应算法的M文件,进行系统仿真,并对滤波器的阶数、收敛步长、跟踪速度和稳态误差进行了详细的分析和研究,得出了合理的结果,为自适应滤波器的硬件实现打下了良好的理论基础。 在Quartus II平台上,用VHDL语言描述了自适应滤波器的结构,解决了正负数运算、定点数运算、乘累加运算等细节问题。在ALTERA公司的Stratix II系列的EP2S30F484C3(Advanced)芯片上,实现了基于LMS自适应算法的FIR横向滤波器的硬件设计与逻辑综合,并进行了模拟仿真,得出了正确的结果。 在数字通信系统中,由于信道带宽有限、码间串扰、加性噪声等因素的制约,使系统中的数据传输受到严重的影响,导致信号在接收端产生严重的畸变,接收机的误码率增大,典型的例子包括电话信道、微波无限链路、卫星信道和水声信道等[5]。因此

基于FPGA的改进实时图像增强算法的设计与实现

≡放荡痞女 提交于 2020-10-04 11:57:13
当今社会,监控技术应用十分广泛。但是很多监控设备大都处于户外工作环境。而外界环境的多变性增加了监控的难度,典型的情况就是天气因素,比如大雾,阴天等等,这些因素会增加监控的难度,甚至使系统无法正常工作。为了保证监控能够在各种天气条件下正常进行,研究图像增强技术具有重大意义。图像增强是一种基本的图像预处理手段,其目的是为了改善图像的质量,针对给定图像的模糊状况以及它的应用场合,有目的的强调图像的整体或局部特性,提高图像可辨识度,改善人对图像的视觉效果,让观察者得到直观清晰的、适合于分析的依据,使图像更有利于观察和后期的分析处理。一般通过对图像的某些特征进行强调突出,从而显示我们有需要的信息,提高图像的使用价值和应用价值 [1] 。不过值得注意的是,图像增强并不意味着能增加原始图像的信息,甚至会损失一些信息。但图像增强的结果却能加强对特定信息的识别能力,使图像中我们感兴趣的特征得以加强。 大多数成像系统具有一定的亮度范围,但实际情况中,由于各种因素的影响,图像常常表现为对比度不强、图像模糊不清,图像细节无法分辨的情况。所以我们需要通过某些算法来调整对比度,亮度,增大图像的动态范围,扩展图像对比度,改善图像的视觉效果,并最大程度上突出图像的细节信息。图像增强技术一般可分为空域算法和频域算法两类。空域算法是指直接对图像灰度级做运算,频域算法则通过FFT首先将图像变换到频域,然后在频域进行处理

基于FPGA的DDS任意波形发生器设计

走远了吗. 提交于 2020-08-14 08:52:08
一、简介 DDS技术最初是作为频率合成技术提出的,由于其易于控制 ,相位连续,输出频率稳定度高,分辨率高, 频率转换速度快等优点, 现在被广泛应用于任意波形发生器(AWG)。 基于DDS技术的任意波形发生器用高速存储器作为查找表,通过高速D/A转 换器来合成出存储在存储器内的波形。所以它不仅能产生正弦、余弦、方波、三 角波和锯齿波等常见波形,而且还可以利用各种编辑手段,产生传统函数发生器 所不能产生的真正意义上的任意波形。 二、原理 根据傅立叶变换定理可知,任何周期信 号都可以分解为一系列正弦或余弦信号之 和,不失一般性,以正弦信号的产生为例详细说明直接数字频率合成技术的 原理。比如 一个频率为f c 的正弦信号,其时域表达式为: 其相位表达式为: 从两式可以看出,正弦信号是关于相位的一个周期函数, 下图更加直观的描述相位与幅度的关系,16个相位与16个幅度值相对应,即每一个相位 值对应一个幅度值,比如1100对应的相位为3 π/2,对应的幅度值为-1. 相位和幅值的一一对应关系就好比存储器中地址和存储内容的关系,如果把 一个周期内每个相位对应的幅度值 存入存储器当中, 那么对于任意频率的正弦信号,在任意 时刻,只要已知相位Φ(t),也就知道地址,就可通过查表得到s(t)。 下图是DDS的基本结构框图: 相位累加器在每个时钟脉冲输入时,把频率控制字累加一次

基于FPGA的CAN总线控制器的设计(中)

我怕爱的太早我们不能终老 提交于 2020-08-09 15:40:38
今天给大侠带来基于FPGA的CAN总线控制器的设计,由于篇幅较长,分三篇。今天带来第二篇,中篇,CAN 通信控制器的具体实现。话不多说,上货。 导读 CAN 总线(Controller Area Network)是控制器局域网的简称,是 20 世纪 80 年代初德国 BOSCH 公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。目前,CAN 总线已经被列入 ISO 国际标准,称为 ISO11898。CAN 总线已经成为工业数据通信的主流技术之一。 CAN 总线作为数字式串行通信技术,与其他同类技术相比,在可靠性、实时性和灵活性方面具有独特的技术优势,主要特点如下: CAN 总线是一种多主总线,总线上任意节点可在任意时刻主动地向网络上其他节点发送信息而不分主次,因此可在各节点之间实现自由通信。 CAN 总线采用非破坏性总线仲裁技术。但多个节点同时向总线发送信息时,优先级低的节点会主动退出发送,而最高优先级的节点可以不受影响地继续传输数据,从而大大节省总线冲突的仲裁时间。即使在网络负载很重的情况下也不会发生网络瘫痪情况。 CAN 总线的通信介质可以是双绞线、同轴电缆或光导纤维,选择灵活。 CAN 总线的通信速率可达 1Mbit/s(此时通信距离最长为 40 米),通信距离最远可达 10km(速率在 5kbit/s 以下)。 CAN