完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在做项目的时候遇到一个问题,求大佬们解答一下 要求对频率范围为5Hz到5000Hz的三路振动信号进行采集,打算用一块AD复用三个通道来进行采集,采样频率打算用60KHz,那么每通道的实际采样频率是不是就是20KHz呢?这样是不是就能满足每通道采样频率为信号频率的4倍呢? 对采集到的信号进行fft处理,以得到指定频率点的幅度值,指定的频率点都集中在200Hz以内,且都精确到了小数点后一位,也就是说频率分辨率得是0.1才能将这些信号区分出来,这样的话fft点数得是20K*2/0.1 ,达到了40万以上(不知道我这样算对不对),那么fpga是不是没办法做了呢,我看7系fpga的fft ip核最大点数也就到65536。 如果我将采集到的数据通过一个数字滤波器,将200Hz以上频率的信号全部滤除,再做fft,这样可处理可行吗? |
|
相关推荐
1个回答
|
|
首先,我们来分析一下你的问题。你的需求是对三路振动信号进行采集,频率范围为5Hz到5000Hz,使用AD复用三个通道进行采集,采样频率为60KHz。接下来,我们逐步解答你的问题。
1. 每通道的实际采样频率:由于你使用了AD复用三个通道,所以每通道的实际采样频率是60KHz / 3 = 20KHz。这个采样频率满足奈奎斯特定理,即采样频率至少是信号频率的两倍。 2. FFT点数计算:你提到的频率分辨率是0.1Hz,那么FFT点数应该是20K * 2 / 0.1 = 400,000。这个计算是正确的。 3. FPGA处理能力:你提到7系FPGA的FFT IP核最大点数为65536,这个点数确实无法满足你的FFT点数需求。但是,你可以考虑使用其他系列的FPGA,或者使用自定义的FFT算法来实现更高的点数。 4. 数字滤波器的使用:你的想法是先通过数字滤波器将200Hz以上频率的信号滤除,然后再进行FFT处理。这是一个可行的方法。使用低通滤波器(例如FIR滤波器或IIR滤波器)可以有效地去除高频噪声,从而降低FFT的计算复杂度。在这种情况下,你可以使用较小的FFT点数来满足你的需求。 5. 滤波后的FFT点数:在滤波后,你只需要关注200Hz以内的频率点。假设你希望在200Hz以内的频率分辨率为0.1Hz,那么FFT点数应该是200 / 0.1 = 2000。这个点数对于7系FPGA来说是完全可以处理的。 总结:你的问题可以通过使用数字滤波器降低FFT的计算复杂度来解决。在滤波后,你可以使用较小的FFT点数来满足你的需求,同时使用7系FPGA进行处理。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-20 06:51 , Processed in 0.371003 second(s), Total 42, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号