打印

下变频FFT的FPGA实现

[复制链接]
2647|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
针对传统频谱分析仪中实现快速傅里叶变换(FFT)时遇到的运算量、存储量和处理速度之问的矛盾,本文提出了一种
基于数字下变频的FFT技术。该技术先对数字中频信号实现数字下变频,然后再进行FFT处理,其结果使得运算量和存储
量都大幅度降低。在某新型频谱分析仪中,该技术被成功地应用在基于TMS320C670l型DsP的数字信号处理系统中,经过
处理时间的比较和分析,结果表明该技术能够极大地提高系统的实时性。

数字下变频FFT及其在频谱分析仪中的实现.pdf

280.34 KB

评分
参与人数 1威望 +10 收起 理由
GoldSunMonkey + 10 谢谢啦。

相关帖子

沙发
hiramlee|  楼主 | 2012-4-20 22:14 | 只看该作者
本人毕设在做这个东西,用Xilinx 的spartan 3e start kit,还请各位指点,做起来困难不小,谢谢,

使用特权

评论回复
板凳
hiramlee|  楼主 | 2012-4-20 22:16 | 只看该作者
在频谱分析仪中,传统的F丌实现方法首先是对低
中频信号进行ADc低采样率采样,然后将采样数据保存
在RAM中;当数据足够后,进行F盯运算,将获得的频
谱数据显示在屏幕上。这种FFT方法可以说是简单易
行,但在处理宽带高中频信号方面,由于受Nyquist采样
定理的约束,需要使用高采样率。此时实现窄的分辨率带
宽将需要大量的采样数据,这就使得系统不仅需要提高存
储空间,而且增加了运算量,同时有很多冗余输出数据,导
致算法的效率非常低下。
随着高速A/D变换和DSP技术的发展,软件无线电
设计思想也被应用到频谱分析仪中,基于软件无线电数字
下变频的FFl、技术能够有效减少上述传统FFT技术存
在的问题。在高中频、高采样率系统中,能实现信号频谱
的高分辨率、低存储量和低运算量,从而极大地提高了系
统的实时性。1频率分辨率
在频谱分析仪的FFT谱分析中,信号的频率分辨率
RBW定义为:
1 ,
RBw一赢一箭 (1)
式中:f为采样率;N为FFT点数。
如果考虑采用窗函数,则分辨率带宽RBw定义为:
R.B肛K爵 (2)
式中:K为窗函数一3 dB带宽因子。
由于f是ADc的采样频率,是常数,K也是一个定
值,因此要减小RBW值,只能增加N。但增加N会增加
处理时间,还要增加存储器容量,所以N的增加受到限
制。在频谱分析仪中一般N不大于64K。
2数字下变频H口技术
基于数字下变频的FFT技术的实现原理框图如图1

使用特权

评论回复
地板
anhuihbo| | 2012-4-21 21:15 | 只看该作者
谢谢分享。。。。

使用特权

评论回复
5
hiramlee|  楼主 | 2012-4-26 10:43 | 只看该作者
我的代码:
N1=20;N2=30;
fs=1000;
t1=0:1/fs:(N1-1)/fs;t2=0:1/fs:(N2-1)/fs;
data1=cos(100*pi.*t1);data2=cos(100*pi.*t2);
s1=fft(data1,N1);s2=fft(data2,N2);
f1=0:fs/N1:fs-fs/N1;f2=0:fs/N2:fs-fs/N2;
subplot(2,1,1);stem(f1,s1);subplot(2,1,2);stem(f2,s2);

  
应该得到的结果为:

fft_leakage.jpg (29.41 KB )

我的结果

我的结果

原图.jpg (75.85 KB )

理想效果

理想效果

使用特权

评论回复
6
hiramlee|  楼主 | 2012-4-26 10:45 | 只看该作者
RBW与采样长度,采样率真和窗函数之间的关系

RBW=fs/N,且fs>2信号频率,所以在fs一定的情况下增加采样点数会增大分辨率,但同时使计算量大大增加
用1M的采样率 采样1024个点做FFT,如何实现<1Hz的分辨率呢 望指点一二 非常感谢
fpga-vga-opencv 20:23:22
1M的采样率最大可以表示500KHz的信号
500K/1024约等于500Hz  你这个系统最多就只能到500Hz的分辨率
fpga-vga-opencv 20:24:15
要想到1Hz 要么降低采样频率 要么加长点数
Hiram 20:24:38
降低采样频率 不就混叠了
Hiram 20:25:11
再加长点数 计算就成了问题了 不可能实现
Hiram 20:25:33
有没有降低频率而且不发生混叠的方法? 求教
fpga-vga-opencv 20:26:16
这个我就不知道了
Hiram 20:26:30

Hiram 20:26:33
谢了

使用特权

评论回复
7
hiramlee|  楼主 | 2012-4-26 10:51 | 只看该作者
共分四个模块:采样 抽取 下变频 FFT 。我的平台是xilinx spartan 3e, ,输入是1M峰峰值是5V的模拟信号,要求RBW<=1hZ

使用特权

评论回复
8
hiramlee|  楼主 | 2012-4-26 10:56 | 只看该作者
本帖最后由 hiramlee 于 2012-4-26 10:57 编辑

几篇经典文

数字下变频FFT及其在频谱分析仪中的实现.pdf

280.34 KB

实时频谱分析基础知识.pdf

4.47 MB

基于FPGA的数字下变频的实现.pdf

253.3 KB

使用特权

评论回复
9
hiramlee|  楼主 | 2012-4-26 11:42 | 只看该作者
请教FFT core 中的scale schedule ,这个s [quote][/quote][img][/img]

scale schedule.jpg (90.11 KB )

scale schedule.jpg

使用特权

评论回复
10
hiramlee|  楼主 | 2012-4-27 19:12 | 只看该作者
您好,我想请教一下FFT中的输入数据的表示格式:我选择的定点,无scale,输入实部和虚部都是16比特,输出数据是20比特,结构是基2 lite ,burst i/o,看到数据手册说数据要归一化,不太明白如何表示数据,还请指点……非常感谢

使用特权

评论回复
11
hiramlee|  楼主 | 2012-4-27 21:02 | 只看该作者
各位请教一下,在testbench中如何描述:在时钟上升沿时某一事件触发(信号rfd变为1,且index连续输出0-7),如何在连续8个时钟上升沿时输入数据,且数据数据比index延迟三个时钟周期(即index=3时,输入第一个数),谢谢。所有事件都时在上升沿时

timing.jpg (27.23 KB )

timing.jpg

使用特权

评论回复
12
GoldSunMonkey| | 2012-4-27 21:49 | 只看该作者
谢谢分享~

使用特权

评论回复
13
sunbingbing| | 2013-4-23 20:50 | 只看该作者
[em:2:

使用特权

评论回复
14
闲来2012| | 2013-4-28 22:02 | 只看该作者
:(路过

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:With men this is possible;With God all things are possible!

2

主题

83

帖子

3

粉丝