fpga过零检测算法

过零检测法也就是比较器的作用,可以将一定频率的正弦波转换为方波或脉冲波。这在测频率等地方是必要的,因为fpga只认沿,而不认识正弦波。

算法分为两部分,零点的确定和脉冲波的产生。

为什么需要确定零点。我们知道,一般的ad是比如0~5V转为0~255之类的,或者可以-2~2V输入,内部会有转化的电路。所以一般的零点不会是0,而更可能是125或者126。不过为了更加精确,真正的零点应该是(max+min)/2。采集最大值和最小值的程序很常见,就是来一个暂存器不断更新,一段时间后把值赋给max或min。

例如:

if(aft>maxtmp)
then maxtmp<=aft; endif;

if(aft<mintmp)
then mintmp<=aft; endif;

而脉冲波的产生则是比较前后两个数据点,如果前一个小于零点,后一个大于零点,则产生一个过零脉冲。

这里有个技巧,以前我们检测前后两个值的方法是用拼接运算符。但ad的输出一般是多位的,用拼接运算符不方便,所以我们可以借用非阻塞赋值的特点:

aft<=sin_in;

prev<=aft;

这样一来,aft就是后一个值,prev是前一个值。事实上,这种方法应当是通法。接下来就简单了:

if(prev<=zero) and (aft>=zero) then

pulse<=‘1‘;

else pulse<=‘0‘;

endif;

时间: 2024-11-25 06:37:31

fpga过零检测算法的相关文章

目标反射回波检测算法及其FPGA实现 之一:算法概述

目标反射回波检测算法及其FPGA实现之一:算法概述 前段时间,接触了一个声呐目标反射回波检测的项目.声呐接收机要实现的核心功能是在含有大量噪声的反射回波中,识别出发射机发出的激励信号的回波.我会分几篇文章分享这个基于FPGA的回波识别算法的开发过程和原码,欢迎大家不吝赐教.以下原创内容欢迎网友转载,但请注明出处: https://www.cnblogs.com/helesheng.本文首先简要介绍基于FPGA的互相关反射回波检测算法的主要设计思路. 声呐测距的原理非常简单,如下图所示,抹香鲸在水

亚像素数值极值检测算法总结

动机 在计算机视觉领域,经常需要检测极值位置,比如SIFT关键点检测.模板匹配获得最大响应位置.统计直方图峰值位置.边缘检测等等,有时只需要像素精度就可以,有时则需要亚像素精度.本文尝试总结几种常用的一维离散数据极值检测方法,几个算法主要来自论文<A Comparison of Algorithms for Subpixel Peak Detection>,加上自己的理解和推导. 问题定义 给定如下离散值,求其极值位置.可知125为观察极值. \[[60, 80, 100, 120, 125,

《时序异常检测算法概览》

时序异常检测算法概览 2018-09-03 17:08:49 分类:人工智能与大数据 来自:论智(微信号:jqr_AI),作者:Pavel Tiunov,编译:weakish来源:statsbot,原文链接 编者按:Statsbot CTO Pavel Tiunov简要介绍了最流行的时序异常检测算法,并讨论了它们的优点和缺点 在Statsbot,我们持续检查异常检测方法这一领域的研究,并据此更新我们的模型. 本文概览了最流行的时序异常检测算法,并讨论了它们的优点和缺点. 本文是为想要了解异常检测

φ累积失败检测算法(转)

在分布式系统中经常使用心跳(Heartbeat)来检测Server的健康状况,但从理论上来说,心跳无法真正检测对方是否crash,主要困难在于无法真正区别对方是宕机还是“慢”.传统的检测方法是设定一个超时时间T,只要在T之内没有接收到对方的心跳包便认为对方宕机,方法简单粗暴,但使用广泛. 1. 传统错误检测存在的缺陷 如上所述,在传统方式下,目标主机会每间隔t秒发起心跳,而接收方采用超时时间T(t<T)来判断目标是否宕机,接收方首先要非常清楚目标的心跳规律(周期为t的间隔)才能正确设定一个超时时

车道线检测文献解读系列(一) 基于机器视觉的高速车道标志线检测算法的研究_李晗

作者背景 基于机器视觉的高速车道标志线检测算法的研究_李晗 东北大学车辆工程硕士学位论文 2006年 [GB/T 7714]李晗. 基于机器视觉的高速车道标志线检测算法的研究[D]. 东北大学, 2006. DOI:10.7666/d.y852642.` 论文结构一览 预处理 灰度化 [亮点]模式判别 选择日间模式还是夜间模式: 在每个检测周期开始时,首先判断采用日间模式还是夜间模式工作.摄像机视野中的上半部分为天空背景,天空亮度可以显著区分日间和夜间环境.由于天空的颜色为蓝离,日间天空的蓝色分

3par的零检测功能

简单的说,3par的ASIC只要发现进来的数据如果有16KiB(32*512)的数据块全部由二进制"0"构成,就会用更新一个指针来代替写入这些数据.这个功能有ASIC实现,所以速度极快,但是不可以更改(比如改成8KiB或者4KiB数据块). 可以在TV(Thin Volum)的设置项目里面激活或者关闭零检测功能,缺省是打开的(The HPE 3PAR StoreServ built-inzero-detection capability can be controlled per TV

可控硅过零检测

可用于单片机控制可控硅电路中,可减小产品的体积和重量.-- 为什么要分开用R1.R2.R3呢?都是串一起的,用一个电阻不行吗? 楼主做过零检测做什么用?  1.为了增加安全性2.控制可控硅输出功率 如果需要十分精准可以用电阻分压后用电压比较器 ,再过光耦楼主是为了调相从而调功吧,如果不知道楼主在负载方面是如何的  后面的是通过单片机控制的可控硅,控制白炽灯的亮度 /////////////////////过零检测电路 电阻参数通过验证,可用 //////////////////我的硬件电路图:

序贯相似性检测算法(SSDA)

传统的模板匹配算法的基本搜索策略是遍历性的,为了找到最优匹配点,传统方法均必须在搜索区域内的每一个像素点上进行区域相关匹配计算,图像相关匹配的数据量和计算量很大,匹配速度较慢,序贯相似性检测算法(SSDA)是针对传统模板匹配算法提出的一种高效的图像匹配算法.具体算法是先初步搜索,再精搜索,搜索的范围一步一步减小. SSDA通过人为设定一个固定阈值,及早地终止在不匹配位置上的计算,以此减小计算量,达到提高运算速度的目的.其步骤如下: (1)选取一个误差准则,作为终止不匹配点计算的标准,通常可选取绝

深度学习 目标检测算法 SSD 论文简介

深度学习 目标检测算法 SSD 论文简介 一.论文简介: ECCV-2016 Paper:https://arxiv.org/pdf/1512.02325v5.pdf  Slides:http://www.cs.unc.edu/~wliu/papers/ssd_eccv2016_slide.pdf 二.代码训练测试: https://github.com/weiliu89/caffe/tree/ssd  一.论文算法大致流程: 1.类似"anchor"机制: 如上所示:在 featur