0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FFT_ad采样速率简析

FPGA之家 来源:FPGA之家 2023-05-23 14:10 次阅读

2c3983f2-f92c-11ed-90ce-dac502259ad0.png

调用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        [1:0]        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            [15:0]            n;

always @(posedge clk or negedge rst_n)
begin
    if(!rst_n)
        n <= 16'd0;
    else 
        case(key_data)
        2'b00 : n <= 16'd48828;  //频率分辨率 1Hz
        2'b01 : n <= 16'd4882;     //10Hz
        2'b10 : n <= 16'd488;    //100Hz
        2'b11 : n <= 16'd48;    //1KHz
        default : ;
        endcase
end

//--------------------------------
//Funtion :   sample_clk
reg            [15:0]        cnt_clk;

always @(posedge clk or negedge rst_n)
begin
    if(!rst_n)
        cnt_clk <= 16'd0;
    else if(cnt_clk >= n - 1'b1)
        cnt_clk <= 16'd0;
    else
        cnt_clk <= cnt_clk + 1'b1;
end
        
always @(posedge clk or negedge rst_n)
begin
    if(!rst_n)
        sample_clk <= 1'b0;
    else if(cnt_clk >= n - 1'b1)
        sample_clk <= ~sample_clk;
    else
        sample_clk <= sample_clk;
end



endmodule
    


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FFT
    FFT
    +关注

    关注

    15

    文章

    425

    浏览量

    58644
  • 时钟
    +关注

    关注

    10

    文章

    1480

    浏览量

    130306
  • AD采样
    +关注

    关注

    0

    文章

    23

    浏览量

    15671

原文标题:FFT_ad采样速率

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    采样速率设置

    请问高手如何设置所用的采集卡的采样速率9229.9222谢谢
    发表于 10-10 21:46

    写入测量文件与串口采样速率的问题

    各位大神好,小妹初学Labview,近来遇到一个关于串口采样速率的问题,当我想把得到的数据存为excel文档时,加入了写入测量文件,但是当我加入这个模块后,我的串口采样速率会变慢而且每
    发表于 04-20 22:14

    FFT设计法实现法_FFT算法_蝶形运算_fpga

    DIT-FFT设计实现法工程说明本设计讨论的是基于至设计法实现按时间抽选的基2-FFT算法(即DIF-FFT)实现过程,支持N由8到1
    发表于 08-02 17:32

    AD采样速率是否可控?

    手头上有个AD(TLC549),以前接触AD不多,对于其采样频率不是很理解。网络上有些人说AD的采样速率是由使用者给AD的时钟来确定的。平时自己听到比较多的是AD的最大采样
    发表于 03-23 17:12

    请问ad9625输出速率是否就等于采样速率

    1.我用的是ad9625,datasheet上没有标明输出速率,那输出速率是否就等于采样速率2.如果想要将采样的输出结果先存到存储器中然后再
    发表于 10-10 11:18

    【设计技巧】rtos的核心原理

    rtos的核心原理rtos全称real-time operating system(实时操作系统),我来简单分析下:我们都知道,c语句中调用一个函数后,该函数的返回地址都是放在堆栈中的(准确
    发表于 07-23 08:00

    怎么实现基于STM32-AD7606的FFT交流采样

    怎么实现基于STM32-AD7606的FFT交流采样
    发表于 12-02 07:50

    Armv8.1-M PAC和BTI扩展

    1、Armv8.1-M PAC和 BTI 扩展Armv8-M通过Trustzone for Armv8-M, Memory Protection Unit (MPU) 和Privileged
    发表于 08-05 14:56

    单片机ADC的采样频率和采样速率是不是同一个概念?采样频率、速率要远远大于被采样的信号频率和速率

    单片机ADC的采样频率和采样速率是不是同一个概念?采样频率、速率要远远大于被采样的信号频率和
    发表于 11-15 19:09

    RK3288 Android6.0系统RT5640播放时的Codec寄存器列表

    1、RT5640播放时的Codec寄存器列表Platform: RockchipOS: Android 6.0Kernel: 3.10.92Codec: RT5640此文给调试RT5640播放
    发表于 11-24 18:12

    ADC输出转换采样生成FFT图详解

      您可以通过周期性地收集大量的 ADC 输出转换采样来生成 FFT图。一般而言,ADC 厂商们将一种单音、满量程模拟
    发表于 12-11 11:03 7879次阅读

    速率采样中的CIC滤波器设计与分析

    CIC滤波器是常用于多速率采样抽取或内插过程中的高效滤波器,具有结构简单,易于工程实现的特点。以提高采样速率为例,首先介绍了内插理论和CtC滤波器原理,重点给出了CIC滤波器
    发表于 09-20 15:12 73次下载
    多<b class='flag-5'>速率</b><b class='flag-5'>采样</b>中的CIC滤波器设计与分析

    FFT的分析和Xilinx FFT核的介绍

    fft输入输出解析。 输入:fft要求输入一个复数,但一般可以只输入实数。 输出:输出一个复数,其模为信号强度。相位为波形相位。 设: 采样频率FS 转换长度N 则: 分辨率为FS/N。 ‘量程
    发表于 02-08 15:15 1226次阅读

    ad7705最大采样速率是多少?

    采样速率是指单位时间内,对输入信号进行采样的速度。对模拟输入信号的采样次数称为采样速率,也称为数
    发表于 11-16 15:43 1.8w次阅读
    ad7705最大<b class='flag-5'>采样</b><b class='flag-5'>速率</b>是多少?

    Raspberry Pi Pico上的ADC采样FFT

    电子发烧友网站提供《Raspberry Pi Pico上的ADC采样FFT.zip》资料免费下载
    发表于 06-16 11:45 10次下载
    Raspberry Pi Pico上的ADC<b class='flag-5'>采样</b>和<b class='flag-5'>FFT</b>