CN102841880A - 一种基于数字信号处理器快速频谱细化的方法 - Google Patents
一种基于数字信号处理器快速频谱细化的方法 Download PDFInfo
- Publication number
- CN102841880A CN102841880A CN2012103261061A CN201210326106A CN102841880A CN 102841880 A CN102841880 A CN 102841880A CN 2012103261061 A CN2012103261061 A CN 2012103261061A CN 201210326106 A CN201210326106 A CN 201210326106A CN 102841880 A CN102841880 A CN 102841880A
- Authority
- CN
- China
- Prior art keywords
- data
- storer
- digital signal
- value
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
一种基于数字信号处理器快速频谱细化的方法。该方法使用数字信号处理器,将大量数据的细化频谱分析分解成多次小量数据分析,得到频谱分析设备关心频率范围内的2的N次方的整倍数的点数的频谱分析,减少分析的数据量和运算量,缩短处理时间,提高频谱分析设备工作效率。本发明的方法包括:生成窗系数和蝶形算子数据;生成与频谱范围有关的数据;模拟信号转换成数字信号,存储到外部扩展数据存储器;对数据抽取分组,在数字信号处理器内部数据存储器中进行离散快速傅里叶变换;生成频谱细化波形数据。本方法在10240点频谱分析时比离散傅里叶变换运算量减少了99.7%,比离散快速傅里叶变换(16384点,必须为2的N次方)运算量减少了35.3%。
Description
技术领域
本发明属于数字信号频域分析技术领域,在数字信号频域分析领域中频谱分析设备通常会需要使用数字信号处理器进行细化的频谱分析,本发明涉及快速、高效的频谱分析方法。
背景技术
在数字信号频域分析领域中频谱分析设备通常会需要使用数字信号处理器进行细化的频谱分析,已有的频谱分析设备使用离散傅里叶变换分析或离散快速傅里叶变换分析。离散傅里叶变换分析的方式,虽然能够计算出任意点数任意频谱范围的频谱,但如果一次分析大量的数据,数字信号处理器工作会非常繁琐,运算使用的时间非常长。数字信号处理器进行离散快速傅里叶变换分析虽然运算快速,但只能得出2的N次方点数的频谱数据,并且计算出的频谱是全景频谱,通常会超过频谱分析设备所关心的频率范围,很多频谱数据并不需要被计算出来。
发明内容
本发明目的是解决频谱分析设备中数字信号处理器进行大数据量的频谱分析的工作时间过长,运算复杂的问题,提供频域分析领域中一种基于数字信号处理器快速频谱细化的方法。
能够实现本发明的硬件结构包括:
1)高速模拟与数字信号转换芯片:用于采样需要分析的模拟信号,将模拟信号转换为数字信号处理器能够使用的数字信号,能够工作在频谱分析设备关心的频率范围的终止频率的两倍以上的采样率上。该芯片可以采用National Semiconductor公司12位170MSPS的高速模拟与数字信号转换芯片ADC12C170。
2)、数字信号处理器:用于接收高速模拟与数字信号转换芯片输出的数字信号,并对数字信号进行离散快速傅里叶变换分析和离散傅里叶变换分析,数字信号处理器需要有内部数据存储器,能够处理浮点数据,能够实现对外部扩展数据存储器进行的存储和读取操作,可以采用Analog Devices公司的SHARC系列32位浮点数字信号处理器芯片ADSP-21369。
3)、外部扩展数据存储器:用于存储数字信号处理器细化频谱分析过程中使用的窗系数、蝶形算子、采样波形、频谱细化波形等的一些大数据量的数据,可以采用hynix公司的16位同步动态随机存储器芯片H57V2562GTR-75C。
本发明的硬件结构示意图如附图1所示,本发明的程序开发的编译环境可以为AnalogDevices公司的VisualDSP++5.0软件。
本发明方法的全部流程如附图2所示,其中步骤1到步骤4的详细过程如附图3所示,步骤5的详细过程如附图4所示,本发明技术方案的实现步骤如下:
步骤1、生成窗系数和蝶形算子数据
根据频谱分析设备作频谱分析的频率分辨率带宽值Frbw和高速模拟与数字信号转换芯片的数据采样率Fsam确定所需的采样数据量Lsam,使用窗函数的补偿系数为Pwin,所需的采样数据量如公式1所述:
Lsam=[(Fsam÷Frbw)×Pwin+0.5] (1)
公式(1)中“[]”为数据取整的符号,如[2.6]=2,使用编译器提供的窗函数生成数量为Lsam的窗系数,定义位于外部扩展数据存储器中的Lsam个浮点类型的数据区作为窗系数的存储器,命名为第一存储器(1)。确定使用频谱分析的点数L,本方法能够处理L=2a×N点的频谱分析,a和N均为正整数,确定N和a值,a一般可以取9至12,并确保数字信号处理器的内部存储器能够分配2a个浮点数类型的数据区,根据L≥Lsam推导出N的值,确保2a×N的值不小于所需的采样数据量Lsam,且2a远大于N。
离散快速傅里叶变换的点数M为2的a次方,即M=2a,L=M×N=2a×N,(M>>N),根据M和N确定以下两组的复数数据。
第一组数据为L个复数数据,为N×M蝶形算子(计算方法见公式(2)),在步骤5.2使用,设n和m为正整数,将在步骤4、步骤5中继续使用,其中第(n-1)×M+m个数据为(1<n<N,1<m<M),j为虚数单位,j2=-1:
将公式(2)转换成能够让数字信号处理器实现的N×M蝶形算子计算公式(3)
定义位于外部扩展数据存储器中L×2个浮点类型的数据区作为N×M蝶形算子数据存储器,命名为第二存储器(2),从第二存储器(2)的第一个位置开始奇数位置存储复数数据的实部,偶数位置存储复数数据的虚部。
第二存储器(2)的第1个位置存储(n=1,m=1),第二存储器(2)的第2个位置存储(n=1,m=1),第二存储器(2)的第3个位置存储(n=1,m=2),第二存储器(2)的第4个位置存储(n=1,m=2),……,第二存储器(2)的第(n-1)×2×M+(m-1)×2+1个位置存储第二存储器(2)的第(n-1)×2×M+(m-1)×2+2个位置存储……,第二存储器(2)的第2×L-1个位置存储(n=N,m=M),第二存储器(2)的第2×L个位置存储(n=N,m=M)。
第二组数据为N×N个复数数据,为N×N蝶形算子(计算方法见公式(4)),为步骤5.3的N点离散傅里叶变换使用,设定其中第(n1-1)×N+n2个的数据为(1<n1<N,1<n2<N),j为虚数单位,j2=-1:
将公式(4)转换成能够让数字信号处理器实现的N×N蝶形算子计算公式(5)
定义位于数字信号处理器的内部数据存储器中N×N×2个浮点类型的数据区作为N×N蝶形算子数据存储器,命名为第三存储器(3),从第三存储器(3)的第一个位置开始奇数位置存储复数数据的实部,偶数位置存储复数数据的虚部。
第三存储器(3)的第1个位置存储(n1=1,n2=1),第三存储器(3)的第2个位置存储(n1=1,n2=1),第三存储器(3)的第3个位置存储(n1=1,n2=2),第三存储器(3)的第4个位置存储(n1=1,n2=2),……,第三存储器(3)的第(n1-1)×2×N+(n2-1)×2+1个位置存储第三存储器(3)的第(n1-1)×2×N+(n2-1)×2+2个位置存储……,第三存储器(3)的第2×N×N-1个位置存储(n1=N,n2=N),第三存储器(3)的第2×N×N个位置存储(n1=N,n2=N)。
本步骤在确定了频谱分辨率带宽Frbw和数据采样率Fsam后只需操作一次,通过编译器提供的功能将数据分别存储在以上三个存储器上,供每次采样后的频谱分析使用。
步骤2、生成与频谱分析设备关心的频谱范围有关的第四、第五存储器的数据
设定频谱分析设备关心的频谱范围的起始频率为Fstart,终止频率为Fstop,起始频率Fstart在L点频谱上的位置为Istart(计算见公式(6)),终止频率Fstop在L点频谱上的位置为Istop(计算方法如公式(7)):
Istart=[(L÷Fsam)×Fstart-0.5] (6)
Istop=[(L÷Fsam)×Fstop-0.5] (7)
定义位于外部扩展数据存储器中M个整型类型的数据区的存储器,作为步骤5离散傅里叶变换的数量存储器,命名为第四存储器(4),和位于外部扩展数据存储器中L个整型类型的数据区的存储器,作为步骤5离散傅里叶变换的参数存储器,命名为第五存储器(5),将第四存储器(4)和第五存储器(5)初始化为0值。
设定整数I从Istart到Istop逐个数取值(Istart≤I≤Istop),每次完成以下操作:
求取I整除M后得到的商数Iquo和余数Imod,第四存储器(4)的第Imod+1个位置读取出来并加1后得到数值Nnum,再将Nnum存储入到第四存储器(4)的第Imod+1个位置,将Iquo存储到第五存储器(5)的第Imod×N+Nnum个位置。
该步骤运算出的两个存储器的数值,即能够在步骤5运算步骤中实现只运算出从Fstart到Fstop的频谱数据。
如果频谱分析设备所关心的频谱范围不变,即起始频率Fstart的数值和终止频率Fstop的数值都没有变化,步骤2只在开始操作一次,不需要每次采样都操作,只有起始频率Fstart和终止频率Fstop有变化时,需要重新操作步骤2。
步骤3、将模拟信号转换成数字信号,数字信号加窗后存储到外部扩展数据存储器
定义位于外部扩展数据存储器中L个浮点类型的数据区作为加窗后的采样数据存储器,命名为第六存储器(6),使用高速模拟与数字信号转换芯片将需要分析的模拟信号转换成数字信号,连续采样数量为Lsam的数字信号数据,将这些采样数据逐个乘以从第一存储器(1)的第一个位置开始读取的每个数据,从第一个位置开始逐个存储到第六存储器(6),共存储Lsam个位置,第六存储器(6)的第Lsam+1个位置到第L个位置共计L-Lsam个位置存储为数值0。
步骤4、对数据抽取分组,在数字信号处理器的内部数据存储器中进行离散快速傅里叶变换
定义位于数字信号处理器的内部数据存储器中的M个浮点数类型的数据区,用于存储M点离散快速傅里叶变换的输入数据,命名为第七存储器(7),定义位于外部扩展数据存储器中L×2个浮点类型的数据区为本步骤的结果存储器,命名为第八存储器(8),存储本步骤的N次M点离散快速傅里叶变换的复数结果。
将存储在第六存储器(6)中的L点浮点数据抽取成N组M点数据,依次作M点的离散快速傅里叶变换。
正整数n的值为1,判断n的值:如果n小于或等于N,从第六存储器(6)的数据中读取M点的数据,读取第六存储器(6)中的第n,N+n,2×N+n,……,L-N+n个位置的数据,存储于第七存储器(7),对这M点数据做M点的离散快速傅里叶变换,得出M点的复数结果,存储到第八存储器(8)的第(n-1)×M×2+1到n×M×2位置的共计M×2个位置,其中数据的实部存储在奇数位置,虚部存储在偶数位置,n的值加1,重新判断n的值,重复以上操作;如果n大于N,则结束本步骤。
步骤5、生成频谱分析设备关心的频谱范围内的频谱细化波形数据
定义位于数字信号处理器的内部数据存储器中N×2个浮点类型的数据区的存储器,作为步骤5.3的运算输入存储器,命名为第九存储器(9),定义位于外部扩展数据存储器中L个浮点类型的数据区为频谱数据存储器,命名为第十存储器(10),正整数m的值为1,判断m的数值:如果m小于或等于M,则完成以下步骤5.1到步骤5.3操作;否则结束本步骤,如附图3所示:
步骤5.1.如果第四存储器(4)中的第m个位置读取的数据为0,跳出本轮循环,m加1进入下一轮循环,否则完成以下其余的操作,
步骤5.2.正整数n的值为1,判断n的值:
当n小于或等于N时,如果m或n有一个数值为1,则从第八存储器(8)中的第(n-1)×2×M+(m-1)×2+1个位置开始的两个位置读取出两个浮点数直接存储到第九存储器(9)的第(n-1)×2+1个位置开始的两个位置,否则将第八存储器(8)中的第(n-1)×2×M+(m-1)×2+1个位置开始的两个位置读取出两个浮点数第一个数作为复数的实部和第二个数作为虚部与从第二存储器(2)同样位置读取到的复数相乘,将复数结果存储到第九存储器(9)的第(n-1)×2+1个位置开始的两个位置,n的数值加1,重新判断n的值,重复以上操作,
当n大于N时,则进行步骤5.3的操作。
步骤5.3.正整数n的值为1,判断n的值:如果n小于或等于第四存储器(4)中的第m个位置读取的数值,则读取出第五存储器(5)的第(m-1)×N+n个位置的数据Iquo。从第九存储器(9)中依次读取出N个复数,第k次从第k×2个位置读取出数为Xk(1≤k≤N),从第三存储器(3)读取出N个复数,第k次从第(k×N+Iquo)×2个位置读取出复数(1≤k≤N),利用以下计算公式(8)求出离散傅里叶变换结果Dn,
将Dn的模的平方|Dn|2(实部数值和虚部数值的平方和)存储入第十存储器(10)的第Iquo×M+m位置,n的数值加1,重新判断n的值,重复步骤5.3操作;如果n大于第四存储器(4)中的第m个位置读取的数值,m的值加1,重新判断m的值,重复完成步骤5.1到步骤5.3的操作。
复数求取模值的计算公式如(9)式:
|Dn|2=[Re(Dn)]2+[Im(Dn)]2
(9)
运算完成后,第十存储器(10)即得到基于L点离散傅里叶频谱分析的从Fstart到Fstop的线性频谱数据,对各个数据求取常用对数后乘以10,得到对数频谱数据,此数据即为频谱细化波形数据。
本发明的优点和有益效果:
本发明为了解决频谱分析设备中数字信号处理器进行大数据量的频谱分析的工作时间过长,运算复杂的问题,所以提供了一种快速、简化的2的N次方的整倍数点数的频谱分析技术方案,能够省去大量的数据分析使用的时间。将L分解成L=M×N的形式,L点的离散傅里叶变换分解成作N个M点的离散快速傅里叶变换和M个N点的离散傅里叶变换,离散傅里叶变换的复数乘法计算量为L2,本方法的复数乘法计算量为NMlog2M+L+MN2,能够按照频谱分析设备所关心的频率范围,只计算出部分频谱波形,大幅减少了数字信号处理器的运算量,复数乘法计算量最多为NMlog2M+L+(MN2)/2,提高数字信号处理器的工作效率。假设作L=10240点的离散傅里叶变换,分解为M=2048,N=5,本方法比直接的离散傅里叶变换运算量减少了99.7%,比离散快速傅里叶变换(16384点,必须为2的N次方)运算量减少了35.3%。本发明将需要在外部扩展数据存储器中进行的一次大数据量的运算分解成能够在数字信号处理器内部数据存储器中进行的多次小数据量运算,能够大幅度缩短数字信号处理器的运算时间。
本发明的创新点是采用一种方法,使用数字信号处理器,将需要在外部扩展数据存储器中进行的一次大数据量的离散傅里叶变换细化频谱分析运算分解成能够在数字信号处理器内部数据存储器中进行的多次小数据量的离散快速傅里叶变换和离散傅里叶变换的运算。其特点在于:使用这种方法能够减少数字信号处理器的细化频谱分析运算量,能够只分析得到频谱分析设备关心频率范围内的频谱,减少细化频谱分析的数据量,实现2的N次方的整倍数的点数的频谱分析,大大缩短数字信号处理器的运算处理时间,提高频谱分析设备工作效率。
附图说明:
图1本发明的硬件结构示意图;
图2频谱细化流程图;
图3步骤1至步骤4的流程图;
图4步骤5的流程图;
图5布莱特曼窗系数波形;
图6采样到的数字信号;
图7加窗后的数字信号;
图8将加窗后的数字信号扩展到L点;
图9本发明生成的频谱分析设备所关心频谱波形。
具体实施方式
实施例
如图1所示,结合一个实例说明本发明方法的硬件结构:选择的数字信号处理器为Analog Devices公司的SHARC系列32位浮点数字信号处理器芯片ADSP-21369,外部扩展数据存储器为hynix公司的16位同步动态随机存储器芯片H57V2562GTR-75C,存储容量为256Mbit,高速模拟与数字信号转换芯片为National Semiconductor公司12位170MSPS的高速模拟与数字信号转换芯片ADC12C170。
步骤1、设定频谱分析的频率分辨率带宽值Frbw为30KHz(0.03MHz),高速模拟与数字信号转换芯片ADC12C170的数据采样率Fsam为166.4MHz,使用布莱克曼窗函数(补偿系数Pwin为1.62),所需的采样数据量经公式(1)计算为:Lsam=[(166.4÷0.03)×1.62+0.5]=8986个数据,使用布莱克曼窗函数生成数量为8986的布莱克曼窗系数,窗系数的波形如附图5所示,通过编译器提供的功能存储入第一存储器(1)。
整数a一般可以取9至12,这里数值a取值11,M=211为2048,根据L≥8986推导出N的值,确定N取值5,L=211×5=2048×5=10240不小于所需的采样数据量8986,2048远大于5,进行10240的频谱分析。
按照步骤1中所述的方法,求出5×2048蝶形算子的数据。定义位于外部扩展数据存储器中20480个浮点类型的数据区作为存储5×2048蝶形算子的第二存储器(2),从第二存储器(2)的第一个位置开始奇数位置存储复数数据的实部,偶数位置存储复数数据的虚部。
……,
第二存储器(2)的第(n-1)×4096+(m-1)×2+1个位置存储
第二存储器(2)的第(n-1)×4096+(m-1)×2+2个位置存储
……,
第二存储器(2)的第20479个位置存储 (n=N,m=M),
第二存储器(2)的第20480个位置存储 (n=N,m=M)。
按照步骤1中所述的方法,求出5×5蝶形算子的数据。定义位于数字信号处理器的内部数据存储器中50个浮点类型的数据区作为存储5×5蝶形算子的第三存储器(3),从第三存储器(3)的第一个位置开始奇数位置存储复数数据的实部,偶数位置存储复数数据的虚部。
……,
第三存储器(3)的第(n1-1)×2×N+(n2-1)×2+1个位置存储
第三存储器(3)的第(n1-1)×2×N+(n2-1)×2+2个位置存储
……,
第三存储器(3)的第2×N×N-1个位置存储 (n1=N,n2=N),
第三存储器(3)的第2×N×N个位置存储 (n1=N,n2=N);
步骤2、设定起始频率Fstart为5MHz,终止频率Fstop为65MHz,经公式(6)(7)计算Istart和Istop的值,
Istart=[(10240÷166.4)×5+0.5]=308
Istop=[(10240÷166.4)×65+0.5]=4000
按照步骤2中所述的方法,求取第四存储器(4)和第五存储器(5)的数值I=Istart=308整除M=2048后得到的商数Iquo=0和余数Imod=308,第四存储器(4)的第309个数值读取出来(为0)并加1后得到1,再将1存储入到第四存储器(4)的第309个数值,将0存储到第五存储器(5)的第1541个数值。
I=309整除2048后得到的商数0和余数309,第四存储器(4)的第310个数值读取出来(为0)并加1后得到1,再将1存储入到第四存储器(4)的第310个数值,将0存储到第五存储器(5)的第1546个数值。
……
I=2356整除2048后得到的商数1和余数308,第四存储器(4)的第309个数值读取出来(为1)并加1后得到2,再将2存储入到第四存储器(4)的第309个数值,将1存储到第五存储器(5)的第1542个数值;
步骤3、定义10240个浮点类型的数据区作为存储加窗后的采样数据的第六存储器(6),使用高速模拟与数字信号转换芯片连续采样数字信号数量为8986的数据,采样数据波形如附图6所示,将这些采样数据逐个乘以从第一存储器(1)读取到的数据,加窗后的采样的数字信号数据波形如附图7所示,从第一个位置开始逐个存储到第六存储器(6),共存储8986个位置,第六存储器(6)的第8987个位置到第10240个位置共计1254个位置存储为数值0,第六存储器(6)数据波形如附图8所示;
步骤4、正整数n的值为1,n小于5,从第六存储器(6)的数据中读取2048点的数据,读取第六存储器(6)中的第1,6,11,……,10236个位置的数据,存储于位于数字信号处理器内部数据存储器的第七存储器(7),对这2048点数据做2048点的离散快速傅里叶变换,得出2048点的复数结果,存储到第八存储器(8)的第1到4096的位置,其中数据的实部存储在奇数位置,虚部存储在偶数位置,n的值加1。
正整数n等于2,n小于5,读取第六存储器(6)中的第2,7,12,……,10237个位置的数据,存储于第七存储器(7),对这2048点数据做2048点的离散快速傅里叶变换,得出2048点的复数结果,存储到第八存储器(8)的第4097到8192的位置,n的值加1,重新判断n的值,重复以上操作。
……
当正整数n等于5,读取第六存储器(6)中的第5,10,15,……,10240个位置的数据,存储于第七存储器(7),对这2048点数据做2048点的离散快速傅里叶变换,得出2048点的复数结果,存储到第八存储器(8)的第16385到20480的位置,n的值加1,此时n大于5,结束本步骤;
步骤5、定义4096个浮点类型的数据区的第九存储器(9),定义10240个浮点类型的数据区的第十存储器(10),正整数m的值为1,判断m的数值:如果m小于或等于2048,则完成以下步骤5.1到步骤5.3操作;否则结束本步骤:
步骤5.1.如果第四存储器(4)中的第m个位置读取的数据为0,跳出本轮循环,m加1进入下一轮循环,否则完成以下其余的操作。
步骤5.2.正整数n的值为1,判断n的值:
当n小于或等于5时,如果m或n有一个数值为1,则从第八存储器(8)中的第(n-1)×4096+(m-1)×2+1个位置开始的两个位置读取出两个浮点数直接存储到第九存储器(9)的第(n-1)×2+1个位置开始的两个位置,否则将第八存储器(8)中的第(n-1)×4096+(m-1)×2+1个位置开始的两个位置读取出两个浮点数第一个数作为复数的实部和第二个数作为虚部与从第二存储器(2)同样位置读取到的复数相乘,将复数结果存储入到第九存储器(9)的第(n-1)×2+1个位置开始的两个位置,n的数值加1,重新判断n的值,重复以上操作;
当n大于5时,则进行步骤5.3的操作;
步骤5.3.正整数n的值为1,判断n的值:如果n小于或等于第四存储器(4)中的第m个位置读取的数值,则读取出第五存储器(5)的第(m-1)×5+n个位置的数据Iquo。从第九存储器(9)中依次读取出5个复数,第k次从第k×2个位置读取出数为Xk(1≤k≤N),从第三存储器(3)读取出5个复数,其中第k次从第(k×5+Iquo)×2个位置读取出复数(1≤k≤N),利用公式(8)求出离散傅里叶变换结果Dn。
将Dn的模的平方|Dn|2(实部数值和虚部数值的平方和)存储入第十存储器(10)的第Iquo×2048+m位置,n的数值加1,重新判断n的值,重复以上操作;如果n大于第四存储器(4)中的第m个位置读取的数值,m的值加1,重新判断m的值,重复完成步骤5.1到步骤5.3的操作。
运算完成后,第十存储器(10)即得到基于10240点离散傅里叶频谱分析的从5MHz到65MHz的线性频谱数据,对各个数据求取常用对数后乘以10,即得到对数频谱数据,频谱波形如附图9所示。
Claims (1)
1.一种基于数字信号处理器快速频谱细化的方法,能够实现本发明的硬件结构包括:
1)高速模拟与数字信号转换芯片:用于采样需要分析的模拟信号,将模拟信号转换为数字信号处理器能够使用的数字信号,能够工作在频谱分析设备关心的频率范围的终止频率的两倍以上的采样率上;
2)、数字信号处理器:用于接收高速模拟与数字信号转换芯片输出的数字信号,并对数字信号进行离散快速傅里叶变换分析和离散傅里叶变换分析,数字信号处理器需要有内部数据存储器,能够处理浮点数据,能够实现对外部扩展数据存储器进行的存储和读取操作;
3)、外部扩展数据存储器:用于存储数字信号处理器细化频谱分析过程中使用的窗系数、蝶形算子、采样波形、频谱细化波形的一些大数据量的数据;
其特征在于,该方法的步骤如下:
步骤1、生成窗系数和蝶形算子数据
根据频谱分析设备作频谱分析的频率分辨率带宽值Frbw和高速模拟与数字信号转换芯片的数据采样率Fsam确定所需的采样数据量Lsam,使用窗函数的补偿系数为Pwin,所需的采样数据量如公式(1)所述;
Lsam=[(Fsam÷Frbw)×Pwin+0.5] (1)
公式(1)中“[]”为数据取整的符号,使用编译器提供的窗函数生成数量为Lsam的窗系数,定义位于外部扩展数据存储器中Lsam个浮点类型的数据区作为窗系数的存储器,命名为第一存储器(1);确定使用频谱分析的点数L,本方法能够处理L=2a×N点的频谱分析,a和N均为正整数,确定N和a值,a一般取9至12,并确保数字信号处理器的内部存储器能够分配2a个浮点数类型的数据区,根据L≥Lsam推导出N的值,确保2a×N的值不小于所需的采样数据量Lsam,且2a远大于N;
离散快速傅里叶变换的点数M为2的a次方,即M=2a,L=M×N=2a×N,M>>N,根据M和N确定以下两组的复数数据;
第一组数据为L个复数数据,为N×M蝶形算子,计算方法见公式(2),在步骤5.2中使用,设n和m为正整数,将在步骤4、步骤5中继续使用,其中第(n-1)×M+m个数据为1<n<N,1<m<M,j为虚数单位,j2=-1;
将公式(2)转换成能够让数字信号处理器实现的N×M蝶形算子计算公式(3);
定义位于外部扩展数据存储器中L×2个浮点类型的数据区作为N×M蝶形算子数据存储器,命名为第二存储器(2),从第二存储器(2)的第一个位置开始奇数位置存储复数数据的实部,偶数位置存储复数数据的虚部;
第二存储器(2)的第1个位置存储即n=1,m=1,第二存储器(2)的第2个位置存储即n=1,m=1;第二存储器(2)的第3个位置存储n=1,m=2,第二存储器(2)的第4个位置存储n=1,m=2;……,第二存储器(2)的第(n-1)×2×M+(m-1)×2+1个位置存储第二存储器(2)的第(n-1)×2×M+(m-1)×2+2个位置存储……,第二存储器(2)的第2×L-1个位置存储n=N,m=M,第二存储器(2)的第2×L个位置存储n=N,m=M;
第二组数据为N×N个复数数据,为N×N蝶形算子,计算方法见公式(4),为步骤5.3的N点离散傅里叶变换使用,设定其中第(n1-1)×N+n2个的数据为1<n1<N,1<n2<N,j为虚数单位,j2=-1;
将公式(4)转换成能够让数字信号处理器实现的N×N蝶形算子计算公式(5);
定义位于数字信号处理器的内部数据存储器中N×N×2个浮点类型的数据区作为N×N蝶形算子数据存储器,命名为第三存储器(3),从第三存储器(3)的第一个位置开始奇数位置存储复数数据的实部,偶数位置存储复数数据的虚部;
第三存储器(3)的第1个位置存储n1=1,n2=1,第三存储器(3)的第2个位置存储n1=1,n2=1;第三存储器(3)的第3个位置存储n1=1,n2=2,第三存储器(3)的第4个位置存储n1=1,n2=2;……,第三存储器(3)的第(n1-1)×2×N+(n2-1)×2+1个位置存储第三存储器(3)的第(n1-1)×2×N+(n2-1)×2+2个位置存储……,第三存储器(3)的第2×N×N-1个位置存储n1=N,n2==N,第三存储器(3)的第2×N×N个位置存储n1=N,n2=N;
本步骤在确定了频谱分辨率带宽Frbw和数据采样率Fsam后只需操作一次,通过编译器提供的功能将数据分别存储在以上三个存储器上,供每次采样后的频谱分析使用;
步骤2、生成与频谱分析设备关心的频谱范围有关的第四、第五存储器的数据
设定频谱分析设备关心的频谱范围的起始频率为Fstart,终止频率为Fstop,起始频率Fstart在L点频谱上的位置为Istart,计算方法见公式(6),终止频率Fstop在L点频谱上的位置为Istop,计算方法如公式(7);
Istart=[(L÷Fsam)×Fstart+0.5] (6)
Istop=[(L÷Fsam)×Fstop+0.5] (7)
定义位于外部扩展数据存储器中M个整型类型的数据区的存储器,作为步骤5离散傅里叶变换的数量存储器,命名为第四存储器(4),和位于外部扩展数据存储器中L个整型类型的数据区的存储器,作为步骤5离散傅里叶变换的参数存储器,命名为第五存储器(5),将第四存储器(4)和第五存储器(5)初始化为0值;
设定整数I从Istart到Istop逐个数取值,Istart≤I≤Istop,每次完成以下操作;
求取I整除M后得到的商数Iquo和余数Imod,第四存储器(4)的第Imod+1个位置读取出来并加1后得到数值Nnum,再将Nnum存储入到第四存储器(4)的第Imod+1个位置,将Iquo存储到第五存储器(5)的第Imod×N+Nnum个位置;
如果频谱分析设备所关心的频谱范围不变,即起始频率Fstart的数值和终止频率Fstop的数值都没有变化,步骤2只在开始操作一次,不需要每次采样都操作,只有起始频率Fstart和终止频率Fstop有变化时,需要重新操作步骤2;
步骤3、将模拟信号转换成数字信号,数字信号加窗后存储到外部扩展数据存储器
定义位于外部扩展数据存储器中L个浮点类型的数据区作为加窗后的采样数据存储器,命名为第六存储器(6),使用高速模拟与数字信号转换芯片将需要分析的模拟信号转换成数字信号,连续采样数量为Lsam的数字信号数据,将这些采样数据逐个乘以从第一存储器(1)的第一个位置开始读取的每个数据,从第一个位置开始逐个存储到第六存储器(6),共存储Lsam个位置,第六存储器(6)的第Lsam+1个位置到第L个位置共计L-Lsam个位置存储为数值0;
步骤4、对数据抽取分组,在数字信号处理器的内部数据存储器中进行离散快速傅里叶变换
定义位于数字信号处理器的内部数据存储器中的M个浮点数类型的数据区,用于存储M点离散快速傅里叶变换的输入数据,命名为第七存储器(7),定义位于外部扩展数据存储器中L×2个浮点类型的数据区为本步骤的结果存储器,命名为第八存储器(8),存储本步骤的N次M点离散快速傅里叶变换的复数结果;
将存储在第六存储器(6)中的L点浮点数据抽取成N组M点数据,依次作M点的离散快速傅里叶变换;
正整数n的值为1,判断n的值:如果n小于或等于N,从第六存储器(6)的数据中读取M点的数据,读取第六存储器(6)中的第n,N+n,2×N+n,……,L-N+n个位置的数据,存储于第七存储器(7),对这M点数据做M点的离散快速傅里叶变换,得出M点的复数结果,存储到第八存储器(8)的第(n-1)×M×2+1到n×M×2位置的共计M×2个位置,其中数据的实部存储在奇数位置,虚部存储在偶数位置,n的值加1,重新判断n的值,重复以上操作;如果n大于N,则结束本步骤;
步骤5、生成频谱分析设备关心的频谱范围内的频谱细化波形数据
定义位于数字信号处理器的内部数据存储器中N×2个浮点类型的数据区的存储器,作为步骤5.3的运算输入存储器,命名为第九存储器(9),定义位于外部扩展数据存储器中L个浮点类型的数据区为频谱数据存储器,命名为第十存储器(10),正整数m的值为1,判断m的数值:如果m小于或等于M,则完成以下步骤5.1到步骤5.3操作;否则结束本步骤;
步骤5.1.如果第四存储器(4)中的第m个位置读取的数据为0,跳出本轮循环,m加1进入下一轮循环,否则完成以下其余的操作;
步骤5.2.正整数n的值为1,判断n的值;
当n小于或等于N时,如果m或n有一个数值为1,则从第八存储器(8)中的第(n-1)×2×M+(m-1)×2+1个位置开始的两个位置读取出两个浮点数直接存储到第九存储器(9)的第(n-1)×2+1个位置开始的两个位置,否则将第八存储器(8)中的第(n-1)×2×M+(m-1)×2+1个位置开始的两个位置读取出两个浮点数,第一个数作为复数的实部和第二个数作为虚部与从第二存储器(2)同样位置读取到的复数相乘,将复数结果存储到第九存储器(9)的第(n-1)×2+1个位置开始的两个位置,n的数值加1,重新判断n的值,重复以上操作;
当n大于N时,则进行步骤5.3的操作;
步骤5.3.正整数n的值为1,判断n的值:如果n小于或等于第四存储器(4)中的第m个位置读取的数值,则读取出第五存储器(5)的第(m-1)×N+n个位置的数据Iquo;从第九存储器(9)中依次读取出N个复数,第k次从第k×2个位置读取出数为Xk,1≤k≤N,从第三存储器(3)读取出N个复数,第k次从第(k×N+Iquo)×2个位置读取出复数1≤k≤N,利用以下计算公式(8)求出离散傅里叶变换结果Dn;
将Dn的模的平方|Dn|2存储入第十存储器(10)的第Iquo×M+m位置,n的数值加1,重新判断n的值,重复步骤5.3操作;如果n大于第四存储器(4)中的第m个位置读取的数值,m的值加1,重新判断m的值,重复完成步骤5.1到步骤5.3的操作;
运算完成后,第十存储器(10)即得到基于L点离散傅里叶频谱分析的从Fstart到Fstop的线性频谱数据,对各个数据求取常用对数后乘以10,得到对数频谱数据,此数据即为频谱细化波形数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210326106.1A CN102841880B (zh) | 2012-09-06 | 2012-09-06 | 一种基于数字信号处理器快速频谱细化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210326106.1A CN102841880B (zh) | 2012-09-06 | 2012-09-06 | 一种基于数字信号处理器快速频谱细化的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102841880A true CN102841880A (zh) | 2012-12-26 |
CN102841880B CN102841880B (zh) | 2016-03-02 |
Family
ID=47369255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210326106.1A Active CN102841880B (zh) | 2012-09-06 | 2012-09-06 | 一种基于数字信号处理器快速频谱细化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102841880B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105807204A (zh) * | 2016-03-08 | 2016-07-27 | 天津大学 | 基于频谱细化的硬件木马检测方法 |
CN105865616A (zh) * | 2016-03-31 | 2016-08-17 | 湖南科技大学 | 基于fft的调制谱快速细化方法 |
CN108120875A (zh) * | 2017-12-28 | 2018-06-05 | 中国电子科技集团公司第五十四研究所 | 一种基于快速频谱模板匹配的目标信号宽带检测方法 |
CN108982964A (zh) * | 2018-07-28 | 2018-12-11 | 华中科技大学 | 一种基于细化傅里叶变换的信号分析方法及设备 |
CN113012021A (zh) * | 2021-05-24 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种图像加密及解密方法、计算机及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388001A (zh) * | 2008-06-25 | 2009-03-18 | 天津大学 | 基于全相位fft的高精度瞬间相位估计方法 |
US7657387B2 (en) * | 2003-09-25 | 2010-02-02 | Thermo Finnigan Llc | Method of processing and storing mass spectrometry data |
-
2012
- 2012-09-06 CN CN201210326106.1A patent/CN102841880B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657387B2 (en) * | 2003-09-25 | 2010-02-02 | Thermo Finnigan Llc | Method of processing and storing mass spectrometry data |
CN101388001A (zh) * | 2008-06-25 | 2009-03-18 | 天津大学 | 基于全相位fft的高精度瞬间相位估计方法 |
Non-Patent Citations (1)
Title |
---|
何璞: "基于中频数字化技术的频谱分析的研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105807204A (zh) * | 2016-03-08 | 2016-07-27 | 天津大学 | 基于频谱细化的硬件木马检测方法 |
CN105807204B (zh) * | 2016-03-08 | 2018-07-27 | 天津大学 | 基于频谱细化的硬件木马检测方法 |
CN105865616A (zh) * | 2016-03-31 | 2016-08-17 | 湖南科技大学 | 基于fft的调制谱快速细化方法 |
CN108120875A (zh) * | 2017-12-28 | 2018-06-05 | 中国电子科技集团公司第五十四研究所 | 一种基于快速频谱模板匹配的目标信号宽带检测方法 |
CN108120875B (zh) * | 2017-12-28 | 2020-06-12 | 中国电子科技集团公司第五十四研究所 | 一种基于快速频谱模板匹配的目标信号宽带检测方法 |
CN108982964A (zh) * | 2018-07-28 | 2018-12-11 | 华中科技大学 | 一种基于细化傅里叶变换的信号分析方法及设备 |
CN113012021A (zh) * | 2021-05-24 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种图像加密及解密方法、计算机及可读存储介质 |
CN113012021B (zh) * | 2021-05-24 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 一种图像加密及解密方法、计算机及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102841880B (zh) | 2016-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102841880B (zh) | 一种基于数字信号处理器快速频谱细化的方法 | |
CN100504400C (zh) | 一种示波器的高速信号重构方法 | |
US10371732B2 (en) | Method and system for performing real-time spectral analysis of non-stationary signal | |
CN101231632A (zh) | 应用fpga进行浮点fft处理的方法 | |
CN101937424A (zh) | 基于fpga实现高速fft处理的方法 | |
CN100432695C (zh) | 雷达接收机综合测试系统 | |
WO2018027706A1 (zh) | Fft处理器及运算方法 | |
CN105866543A (zh) | 一种消除基波、谐波对间谐波检测干扰的间谐波检测方法 | |
CN108776263A (zh) | 基于高阶汉宁自卷积窗及改进插值算法的谐波检测方法 | |
CN103969508A (zh) | 一种实时高精密的电力谐波分析方法及装置 | |
CN103543331B (zh) | 一种计算电信号谐波和间谐波的方法 | |
CN117150310A (zh) | 一种基于fpga的快速傅里叶变换频谱提取优化方法 | |
Gong et al. | FPGA implementation of a CORDIC-based radix-4 FFT processor for real-time harmonic analyzer | |
CN109829132A (zh) | 一种嵌入式环境下长数据序列快速谱分析方法 | |
CN114185014B (zh) | 一种应用于雷达信号处理的并行卷积方法及装置 | |
CN113778940B (zh) | 基于fpga的高精度可重构相位调整ip核 | |
CN105137176A (zh) | 一种利用快速三角形式傅里叶变换的信号谐波分析方法 | |
CN206460088U (zh) | 一种基于深度存储的示波器 | |
CN105893326B (zh) | 基于fpga实现65536点fft的装置和方法 | |
CN112834820B (zh) | 一种电能表及其计量装置 | |
CN103926567B (zh) | 高速实时脉冲压缩算法 | |
RU188978U1 (ru) | Унифицированная реконфигурируемая схема коммутации быстрого преобразования фурье | |
Parsons | The symmetric group in data permutation, with applications to high-bandwidth pipelined FFT architectures | |
Tiwari et al. | Field programmable gate array-based measurement system for real-time estimation of single-phase electric power quantities | |
Zhang et al. | Synthetic Sparse Matrix Algorithm for Computer Aided Circuit Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 300392, Binhai New Area, Tianjin New Technology Industrial Park (outside the ring), Hai Tai innovation, No. three, No. 8 Patentee after: Tianjin Deli Instrument Equipment Co., Ltd. Address before: 300392, Binhai New Area, Tianjin New Technology Industrial Park (outside the ring), Hai Tai innovation, No. three, No. 8 Patentee before: Deli Electronic Instrument Co., Ltd., Tianjin City |
|
CP01 | Change in the name or title of a patent holder |