FFT_ad采样速率
调用quartus的ip核测量频率和幅值,可以把程序分成四大部分。第一部分是AD采样模块,本次实验用的是ad828,最高采样率为70M,
根据奈贵斯特采样定律 Fs > 2Fc,即采样率要大于信号最高频率的两倍,如果要求信号的频率,需要知道频率所对应的地址和频率分
变率F。而F = Fs/N,所以只要知道了采样速率FS和地址坐标,就可以求出频率来。ad采样率为50M,程序设定的有四个频率分辨率,
分别为1Hz,10Hz,100HZ还有1KHz,拿1Hz来举例,FS = F * N,所以只要对采样时钟进行适当的分频就可以算出FS来。
另外还需要注意的一点就是fft输入的数据是有符号的,需要对原始数据处理一下,变成有符号的二进制,只要在前面补零就可以。
/*----------------------------------------------------------------------- Date : 2017-XX-XX
Description : Design for 频率分辨率. -----------------------------------------------------------------------*/ module sample_clk
(
//global clock
input clk, //system clock 200M
input rst_n, //sync reset //key interface
// input key0_value,
input [:] key_data,
//sample_clk interface output reg sample_clk ); //--------------------------------
//Funtion : /* always @(posedge clk or negedge rst_n)
begin
if(!rst_n)
key_data <= 2'd0;
else if(key0_value)
key_data <= key_data + 1'b1;
end */ //--------------------------------
//Funtion : 分频
reg [:] n; always @(posedge clk or negedge rst_n)
begin
if(!rst_n)
n <= 'd0;
else
case(key_data)
'b00 : n <= 16'd48828; //频率分辨率 1Hz
'b01 : n <= 16'd4882; //10Hz
'b10 : n <= 16'd488; //100Hz
'b11 : n <= 16'd48; //1KHz
default : ;
endcase
end //--------------------------------
//Funtion : sample_clk
reg [:] cnt_clk; always @(posedge clk or negedge rst_n)
begin
if(!rst_n)
cnt_clk <= 'd0;
else if(cnt_clk >= n - 'b1)
cnt_clk <= 'd0;
else
cnt_clk <= cnt_clk + 'b1;
end always @(posedge clk or negedge rst_n)
begin
if(!rst_n)
sample_clk <= 'b0;
else if(cnt_clk >= n - 'b1)
sample_clk <= ~sample_clk;
else
sample_clk <= sample_clk;
end endmodule
FFT_ad采样速率的更多相关文章
- FFT时域与频域的关系,以及采样速率与采样点的影响
首先对于FFT来说,输入的信号是一个按一定采样频率获得的信号序列,而输出是每个采样点对应的频率的幅度(能量). 下面详细分析: 在FFT的输出数据中,第一个值是直流分量的振幅(这样对应周期有无穷的可能 ...
- 为什么LTE系统的最小时间单位是Ts?
之前一直在做LTE物理层相关的工作,一直有个疑惑, 在36.211开头的一章定义Ts的大小是1/(15000*2048)s,为什么定义这么一个奇怪的unit time. 最近才反应过来,这跟FFT/I ...
- C#将科大讯飞语音合成文件转换为MULAW音频格式
任务描述:通过科大讯飞语音合成组件在线完成文本转语音的合成,然后再转换为电话系统IVR要求的音频格式: wave mu-law 16位 8kHZ 64kbps. 完成步骤: 首先,我们要先通过科大讯飞 ...
- 转:能和LoadRunner匹敌的VS2010/2012Web负载测试
原文出处:http://www.cnblogs.com/aarond/archive/2013/04/18/performance.html VS自带的Web负载测试真的很大程度上能和专业的loadr ...
- Lojic X
媒体 赫兹 电话 500HZ 网络数据 8000HZ CD 44100HZ 电脑 48000HZ DVD 96000HZ 最大值(蓝光) 192000HZ 横向———————— 清晰度 ...
- 深入浅出 - Android系统移植与平台开发(十一) - Sensor HAL框架分析之一
作者:唐老师,华清远见嵌入式学院讲师. 1. Sensor的概念 Sensor即传感器,在当前智能手机上大量存在:G-Sensor.LightsSensor. ProximitySensor.Temp ...
- SQL Server DBA日常运维语句
1.检查数据库完整性 dbcc checkdb(Portal) 检查数据库完整性checkdb Portal的 DBCC 结果. Service Broker 消息 9675,状态 1: 已分析的消息 ...
- 调试CS5343总结报告
一周前接到新任务,调试CS5343,百度一下,CS5343是一款音频采集的AD芯片,CS5343驱动代码是现成的,我的工作是提高芯片的采样速率,看了一边芯片的Datesheet,辛好东西不是很多. 概 ...
- 机器人与机器人仿真技术(zz)
http://www.viblue.com/archives/5587.htm 一.机器人简介: 机器人(Robot)是自动执行工作的机器装置.它既可以接受人类指挥,又可以运行预先编排的程序,也可以根 ...
随机推荐
- Python处理Excel文件
因为工作需求,需要审核一部分query内容是否有效,query储存在Excel中,文本内容为页面的Title,而页面的URL以HyperLink的格式关联到每个Cell. 于是本能的想到用Python ...
- 多个项目MyEclipse中启动出现OutOfMemoryError: PermGen space如何解决
在MyEclipse中启动程序运行,报错java.lang.OutOfMemoryError: PermGen space应该怎么办?这是eclipse 内存不够的原因. PermGen space的 ...
- mongodb入门级的视频教程-简易客户管理系统制作
本套教程作为mongodb入门级的视频教程,首先讲解了mongodb的下载.安装,环境变量的设置.启动mongodb和将mongodb安装成为windows服务.然后进一步讲解了mongodb里面集合 ...
- OpenCV探索之路(十七):Mat和IplImage访问每个像素的方法总结
在opencv的编程中,遍历访问图像元素是经常遇到的操作,掌握其方法非常重要,无论是Mat类的像素访问,还是IplImage结构体的访问的方法,都必须扎实掌握,毕竟,图像处理本质上就是对像素的各种操作 ...
- jquery hide和show使用
$("#qitarenyuanDiv").hide("fast");$("#qitarenyuanDiv").show("fast ...
- web开发中前后端传值
在JavaScript中,页面与页面间的传值需要注意. 比如,我们通过url向下个页面进行传一个数字时,到下个页面进行解析出来后可能是一个字符串.这样会导致一个现象.调试时,发现我要传的值的确传过来了 ...
- Hibernate缓存和懒加载的坑你知道多少?这5个简单问题回答不上来就不敢说会用hibernate
问题1:session.flush()调用之后,懒加载还生效吗? 如果不生效,那是抛异常还是没有任何反应,或者直接返回null? 答案:生效.可以理解为在同一个session当中,懒加载只会执行一次. ...
- [命令行] curl查询公网出口IP
转载:http://blog.csdn.net/orangleliu/article/details/51994513 不管是在家里还是办公室,或者是公司的主机,很多时候都是在内网中,也就是说很多都是 ...
- python报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 22-26: ordinal not in range(128)”问题解决
方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为: # encoding=utf8 import sys reload(sys) sys ...
- 优化mysql数据库的几个步骤
析问题: 1. 开启慢查询日志. 这个步骤就是为了记录慢查询的sql,为下个步骤做准备,此步骤相关的知识点有如下: 1. show variables like '%slow_query_log%'; ...