历史上的今天
今天是:2024年12月26日(星期四)
2019年12月26日 | 基于软件无线电数字下变频的FFT技术在频谱分析仪中与单片DS
2019-12-26 来源:elecfans
引 言
在频谱分析仪中,传统的FFT实现方法首先是对低中频信号进行ADC低采样率采样,然后将采样数据保存在RAM中;当数据足够后,进行FFT运算,将获得的频谱数据显示在屏幕上。这种FFT方法可以说是简单易行,但在处理宽带高中频信号方面,由于受Nyquist采样定理的约束,需要使用高采样率。此时实现窄的分辨率带宽将需要大量的采样数据,这就使得系统不仅需要提高存储空间,而且增加了运算量,同时有很多冗余输出数据,导致算法的效率非常低下。
随着高速A/D变换和DSP技术的发展,软件无线电设计思想也被应用到频谱分析仪中,基于软件无线电数字下变频的FFT技术能够有效减少上述传统FFT技术存在的问题。在高中频、高采样率系统中,能实现信号频谱的高分辨率、低存储量和低运算量,从而极大地提高了系统的实时性。
1 频率分辨率
在频谱分析仪的FFT谱分析中,信号的频率分辨率RBW定义为:

式中:fs为采样率;N为FFT点数。
如果考虑采用窗函数,则分辨率带宽RBW定义为:

式中:K为窗函数-3 dB带宽因子。
由于fs是ADC的采样频率,是常数,K也是一个定值,因此要减小RBW值,只能增加N。但增加N会增加处理时间,还要增加存储器容量,所以N的增加受到限制。在频谱分析仪中一般N不大于64K。
2 数字下变频FFT技术
基于数字下变频的FFT技术的实现原理框图如图1所示。

假设希望对整个频带中频率为fIF的两边±B/2的一段频率范围内进行FFT,整个处理过程可分为数字下变频和FFT滤波2个模块。
数字下变频模块的处理过程包括以下3个步骤:
(1) 数字变频,将感兴趣部分的频谱下变频到零频附近。先以fs对信号进行采样,得到N点序列x(n),然后与数字本振复信号cos(2πfIFnT)+jsin(2πfIFnT)(T=fIF/fs)进行数字混频,获得I/Q两路信号,将x(n)的频谱x(k)平移了fIF,此时原信号频率fIF的分量被移至零频处。
(2) 高抽取滤波,用一个带宽等于B的高抽取滤波器(如5级CIC抽取滤波器)对变频至零频的信号滤波,则输出信号含有x(n)在fIF±B/2范围内的频率成分。
(3) 抽取,实现对滤波后信号的抽取。若fs/B=D,得D为抽取因子,此时输出数据的采样频率缩小了D倍;又因为使用了高抽取抗混叠滤波器,此时的信号频谱是不会发生混叠的。
FFT滤波模块的处理过程则包括以下2个步骤:
(1) 加窗FFT,对经过数字下变频的I/Q两路信号先乘上窗函数,然后进行复数FFT。此时FFT的点数为M=N/D,其频谱就是fIF±B/2内的频谱,但却有传统N点FFT的分辨率效果。
(2) 取模,就是获取复信号的幅度信息,由于FFT输出值的每个点对应一个频率点,所以输出的就是信号的频谱。
高抽取滤波的运算量和存储量一般都比较小,比如CIC抽取滤波器的滤波系数都是1,不需要乘法运算,所需的存储空间等于抽取比D;而后续的FFT只需对M=N/D点数据进行FFT变换,数据存储量和运算量都远低于传统的N点FFT,数据存储量和运算量的大幅度降低必将导致大幅度减少处理时间。上述内容均说明,基于数字下变频的FFT技术比传统的FFT技术在提高系统的实时性方面具有更大的优越性。
3 数字下变频FFT在频谱分析仪中的实现
在某新型频谱分析仪中,基于数字下变频的FFT技术得到成功实现,该技术是在基于TI公司DSP芯片TMS320C6701的数字信号处理系统中通过软件处理得以实现的。
图2是该数字信号处理系统的硬件结构框图。在该系统中,模拟中频信号由同轴电缆输入,经中频预滤波和ADC采样后,数据通过FIFO送给TMS320C6701。TMS320C6701主要是做基于数字下变频的FFT,其实现依据前面描述的实现原理来设计的。全局控制器FPGA主要是完成整个系统的扫描控制。当FPGA在收到采样指令后启动ADC采集,采集的数据直接缓存在FIFO中。当FIFO数半满时,将触发TMS320C6701外部中断和内部DMA中断,DMA处理程序将FIFO数据送入DSP的外部SDRAM数据存储器。当数据足够时,TMS320C6701对采样数据进行数字下变频和FFT处理,把结果转化成主机能接收的数据格式送人双口RAM,主-机则实时从双口RAM读取频谱数据,转换成数据显示在屏幕上。此外,主机则把控制指令送到双口RAM,通过HPI中断通知DSP接0收。

图3是其DSP基于中断响应的软件实现流程图,该DSP软件主要由2个中断处理程序共同完成。其中,2个中断分别为HPI中断和FIFO半满中断。

主机的HPI中断通过访问DSP的HPI接口产生,该中断用来通知DSP得到当前频谱分析仪的分辨率,并根据式(2)由分辨率、窗函数-3 dB带宽因子K和采样率计算出FFT长度M,并由预先设定的抽取比D计算出采样数据长度N=M×D。
FPGA控制产生的ADC采样FIFO半满中断,则先让DSP完成数据采集、软件数字下变频;当所采集的数据足够时,再进行FFT处理(此时FPGA控制ADC停止采样)。由于DSP片内数据空间较小,ADC采样数据先保存在内部RAM,经CIC抽取滤波后,其输出数据和FFT处理数据都存放在外部SDRAM空间,而SBSRAM是参数存放和传递的空间,里面包括数字本振(该数据是在开机时由主机加载)、窗函数和FFT蝶形因子等参数。
4 处理时间比较与分析
本文选择在相同ADC采样数据下将传统FFT和数字下变频FFT 2种方法的处理时间进行对比测试,在测试中选择的采样数据量为64K,基于数字下变频的FFT方法选择的抽取比为64,所有FFT数据访问都是在片外SDRAM,测试结果如表1所示。

由表1可以知,基于数字下变频的FFT方法总共耗时为1.92+0.95=2.87 ms,远小于传统法的320.7 ms。传统法处理时间过长,主要是因为FFT算法本身的大数据量运算耗时较多,而且DSP访问外部SDRAM较之片内耗时更多。64K数据都在外部SDRAM,而FFT算法需要多次对数据进行读写操作,这必然导致整个处理中的数据访问时问增加,从而引起整个处理时间增加。相比而言,基于数字下变频的FFT方法只需进行1K点的FFT;而且CIC抽取滤波处理是在片内进行的,均是简单的加法运算,整个处理时间自然就少多了。
5 结 论
本文分析了基于数字下变频的FFT技术的具体方法,在实现宽带频谱分析和窄的分辨率方面,该方法比传统的FFT更能有效降低整个处理过程的运算量、存储量和处理时间。实际应用证明:在某新型频谱分析仪中,通过在单片DSP里的软件实现,并由处理时间对比测试可知,该方法较之传统FFT方法能大幅度提高系统的实时性。
上一篇:妙解:功率分析仪直连CAN网络
下一篇:气相色谱仪的使用方法及应用范围
史海拾趣
|
介绍了一种适合于伺服应用的低成本绝对位置反馈单元。该位置反馈单元由一种新型增量式光电编码器和信号处理电路组成。与常规增量式光电编码器不同, 文中介绍的编码器的码盘采用了特殊的刻划方法, 使之与信号处理电路配合具有了绝对式编码器的性能, ...… 查看全部问答> |
|
0.1V时带载4A,空载和满载电压波动都不大于1mV ,只有0.001V以内的误差. 理论最小步进0.0073V 实际0.1V步进,确实不错东西,成本有点贵!… 查看全部问答> |
|
是不是校准了就可以不测量VREFINT 来自EEWORLD合作群:arm linux fpga 嵌入0(49900581)群主:wangkj… 查看全部问答> |
|
1.外延片指的是在衬底上生长出的半导体薄膜,薄膜主要由P型,量子阱,N型三个部分构成。现在主流的外延材料是氮化镓(GaN),衬底材料主要有蓝宝石,硅,碳化硅三种,量子阱一般为5个,通常用的生产工艺为金属有机物气相外延(MOCVD)。这是LED产业的核心 ...… 查看全部问答> |
|
假如创建一个pty: ptyDevCreate(\"/pty/my.\", 512, 512);那么得到的主从设备依次为:\"/pty/my.M\"以及\"/pty/my.S\"。按照VxWorks的帮助是这么说的:主进程使用\"/pty/my.M\"进行写,从进程使用\"/pty/my.S\"进行读,按照,这样理解这个pty是单 ...… 查看全部问答> |
|
一个朋友最近送给我的一套【全美经典】系列教材,看了一点,感觉还可以,所以传上来给大家分享一下,全部免费下载,需要的朋友可以看一下。 [ 本帖最后由 fengxin 于 2010-10-23 11:49 编辑 ]… 查看全部问答> |
|
每次断电 FPGA内部的程序就会丢失 所以接了个外部的FLASH 电路接好了 就是不知道怎么将程序下载到FLASH 中 用的是altera 的芯片 和 quartus ii 谁能给说说具体的步骤… 查看全部问答> |
|
今天遇到asm(\"pop.w R3\")报错 pop.w R2没报错 想问一下, 1.我们的程序里能用到那些寄存器? 2.那些寄存器是我们可以操作的? 3.移植OS需要操作R0到R15吗? 4。为什么msp430需要常数发生器? 5.常数发生器作用过程是怎样 ...… 查看全部问答> |




