一种多通道数字信号处理方法及装置
技术领域
本发明涉及数字信号处理领域,尤其涉及一种多通道数字信号处理方法、装置、计算机设备及存储介质。
背景技术
无线电监测接收机中,在显示宽带信号频谱、电平值时,还需要对宽带信号中的调制信号进行解调,同时显示信号的窄带频谱,这就要求接收机同时存在多路下变频通道,每个通道可配置不同的本振频率。现场可编程逻辑阵列(FPGA)具备可编程,并行处理速度快,片内资源丰富的优点,可用于实现接收机中多路下变频的实现。
多通道接收机中每个通道都存在一个直接数字频率合成器(DDS),可独立配置不同频点,其实现方式可分为两种:查表法和直接计算法。
然而,当要求高分辨率、低杂散时,查表法使用的正余弦码表的量化精度非常高,需要占用非常大的ROM资源,在实现多路下变频通道时,查表法几乎不能实现。而在直接计算法中,每个频率值需进行多次迭代才能输出,频率响应延迟大,占用查找表(LUT)资源严重。
发明内容
基于此,有必要针对上述技术问题,提供一种多通道数字处理方法、装置、计算机设备及存储介质,以合理分配FPGA的片内资源,提高FPGA的处理效率。
一种多通道数字信号处理方法,包括:
在第一级DDS根据查表法对各通道信号进行处理,获取通道处理信号;
对所述通道处理信号进行降采样处理;
将多个降采样处理后的所述通道处理信号打包为串行数据;
在第二级DDS根据直接计算法对所述串行数据进行处理,获得目标解调信号。
一种多通道数字信号处理装置,包括:
一级处理模块,用于在第一级DDS根据查表法对各通道信号进行处理,获取通道处理信号;
降采样模块,用于对所述通道处理信号进行降采样处理;
打包模块,用于将多个降采样处理后的所述通道处理信号打包为串行数据;
二级处理模块,用于在第二级DDS根据直接计算法对所述串行数据进行处理,获得目标解调信号。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述多通道数字信号处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述多通道数字信号处理方法的步骤。
上述多通道数字信号处理方法、装置、计算机设备及存储介质,其方法包括:在第一级DDS根据查表法对各通道信号进行处理,获取通道处理信号;对所述通道处理信号进行降采样处理;将多个降采样处理后的所述通道处理信号打包为串行数据;在第二级DDS根据直接计算法对所述串行数据进行处理,获得目标解调信号。本发明实现对多通道信号监测,解调输出,通道信号数量可达32条,有效的使用了FPGA的片内资源,节省了硬件成本,同时结合了两种DDS方法的优点,避免了各自的缺点,DDS时域频域指标较好。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中多通道数字信号处理方法的一流程示意图;
图2是本发明一实施例中多通道数字信号处理方法的一流程示意图;
图3为本发明一实施例7.654379MHz的源信号频谱图;
图4为本发明一实施例第一级DDS输出信号的频域效果图;
图5为本发明一实施例第一级混频后输出信号的频谱;
图6为本发明一实施例信号降采样至3.2MHz后的信号频谱
图7为本发明一实施例第二级DDS输出本振信号的频域效果图;
图8为本发明一实施例第二级混频后输出信号的频谱;
图9为单通道流水线直接计算式DDS的FPGA资源占用表;
图10为本发明一实施例的FPGA布线后资源占用表;
图11是本发明一实施例中多通道数字信号处理装置的一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于FPGA实现的多通道数字信号处理方法,结合了查表法和直接计算法的优点,使用了较少的ROM和LUT资源,可实现多路高精度、低杂散的数字DDC(Direct Digital Control,直接数字控制)。在一实例中,可选用型号为XC7K325TFFG676的FPGA。在FPGA布线后各项指标不超过50%的情况下,可实现32路并行DDC,每路的DDS精度可达到1Hz,杂散抑制比>120dB。
在一实施例中,如图1所示,提供一种多通道数字信号处理方法,包括:S10、在第一级DDS根据查表法对各通道信号进行处理,获取通道处理信号;具体的,步骤S10包括:
将通道信号的信号频率对指定频率进行除法运算,获得除数部分和余数部分;将所述除数部分的负数确定为第一级移频的频率控制字,将所述余数部分的负数确定为第二级移频的频率控制字;
将所述第一级移频的频率控制字输入第一级相位累加器,获得第一级相位累加值;
根据所述第一级相位累加值进行查询正余弦码表操作,获得第一级相位值,根据所述第一级相位值获取第一级本振载波;
将所述第一级本振载波与所述通道信号进行混频,获得所述通道处理信号。
在一实例中,如图2所示,f0,f1,L,f31分别代表输入32个通道的信号频率(即通道信号的信号频率)。fm0,fm1,L,fm31分别代表32个通道的信号频率对200kHz进行除法运算后,得到的除数部分。fn0,fn1,L,fn31表示余数部分。经过以上运算后,可将-fm0,-fm1,L,-fm31作为32个通道第一级移频的频率控制字,将-fn0,-fn1,L,-fn31作为32个通道第二级移频的频率控制字。-fmo,-fm1,L,-fm31分别经过32个通道的相位累加器后,得到32个通道的第一级相位累加值M0,M1,L,M31。将获得的第一级相位累加值作为查询地址,在正余弦码表进行查询,可获得相应的第一级相位值。由32个通道的第一级相位值,可以得到32个通道的本振载波。32个通道的本振载波与信号进行混频后,可获得通道处理信号。
S20、对所述通道处理信号进行降采样处理;
对通道处理信号进行降采样,可以得到进行第一级移频后的信号signal_0,signal_1,L,sighal_31,每个通道的采样率为3.2MHz。
其中,可以按照指定降采样倍数对所述通道处理信号进行降采样处理。在此处,指定降采样倍数为32。
S30、将多个降采样处理后的所述通道处理信号打包为串行数据;
本实施例中,可将上一步骤中的sighal_0,sighal_1,L,sighal_31打包为串行数据S_data_i、S_data_q,此时,采样率变为3.2MHz×32=102.4MHz。同时,可以加入channel_num表示通道号,S_data_en表示数据使能信号。
S40、在第二级DDS根据直接计算法对所述串行数据进行处理,获得目标解调信号。
具体的,步骤S40包括:
根据所述第二级移频的频率控制字计算第二级相位累加值;
计算所述第二级相位累加值与采样率的比值;
计算所述比值与2倍圆周率的乘积,获得第二级相位值;
根据所述第二级相位值获取第二级本振载波;
将各个所述第二级本振载波与所述串行数据以时分复用的形式进行混频,获得所述目标解调信号。
本实施例中,参见图2,串行数据S_data_i、S_data_q进入第二级移频模块,32个通道以时分复用的方式使用一个正余弦发生器,将channel_num作为RAM地址,缓存32个通道的计算值。freqz[channel_num]表示对应某一通道号channel_num的第二级移频的频率控制字。acc[channel_num]是一个用于暂存32个通道相位累加值的RAM。
第二级相位累加值M可以包括:首先根据channel_num读取该通道上次累加值acc[channel_num],然后根据channel_num读取该通道第二级移频的频率控制字freqz[channel_num],当本次累加值计算完成后,再存储至RAM。
将第二级相位累加值输入M/fs,得到32个通道的第二级相位值phase[channel_num]后,输入iq_ge模块(基于cordic算法实现的正余弦函数发生器),得到32个通道第二级DDS的第二级本振载波。第二级DDS的第二级本振载波与S_data_i、S_data_q以时分复用的形式进行混频后,得到进行两级移频后的目标解调信号O_data_i,O_data_q。O_chamel_num表示通道号,O_data_en表示使能信号。
图3为7.654379MHz的源信号频谱图,采样率为102.4MHz,FFT的分辨率为0.49984Hz。
图4为第一级DDS输出信号的频域效果图,第一级DDS的移频精度为200KHz(Δf=200KHz),使用查表法实现,信号采样率为102.4MHz,fs/Δf=512,512长度的码表就可以使第一级DDS的精度达到200kHz,杂散抑制比>150dB,对代码进行优化后,使用双端口ROM,只需存储129长度的码表,就能实现IQ两路DDS。FFT的分辨率为0.49984Hz,第一级频率控制字fm=-39,实际本振信号频率为fm×200KHz=-7.8MHz。
图5为第一级混频后输出信号的频谱。采样率为102.4MHz,移频后的信号频率为7.654379MHz+fm×200KHz=-145621.4Hz。
图6为图5的信号降采样至3.2MHz后的信号频谱。中心频率为-145621.4Hz。
图7为第二级DDS输出本振信号的频域效果图,理论值为145621Hz,实际值为145620.9Hz,FFT的分辨率为0.49984Hz。
图8为第二级混频后输出信号的频谱。理论值为0Hz,实际值为-0.49984Hz,采样率为3.2MHz,可以看到本发明移频的精度可达到1Hz。
图9为单通道流水线直接计算式DDS的FPGA资源占用表。其中,LUT表示查找表,LUTRAM表示分布式RAM,FF表示触发器,IO表示FPGA对外接口,BUFG表示全局缓冲资源。
图10为本发明实施例的FPGA布线后资源占用表。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种多通道数字信号处理装置,该多通道数字信号处理装置与上述实施例中多通道数字信号处理方法一一对应。如图11所示,该多通道数字信号处理装置包括一级处理模块10、降采样模块20、打包模块30和二级处理模块40。各功能模块详细说明如下:
一级处理模块10,用于在第一级DDS根据查表法对各通道信号进行处理,获取通道处理信号;
降采样模块20,用于对所述通道处理信号进行降采样处理;
打包模块30,用于将多个降采样处理后的所述通道处理信号打包为串行数据;二级处理模块40,用于在第二级DDS根据直接计算法对所述串行数据进行处理,获得目标解调信号。
可选的,第一处理模块10包括:
除法计算单元,用于将通道信号的信号频率对指定频率进行除法运算,获得除数部分和余数部分;
确定控制字单元,用于将所述除数部分的负数确定为第一级移频的频率控制字,将所述余数部分的负数确定为第二级移频的频率控制字;
一级累积单元,用于将所述第一级移频的频率控制字输入第一级相位累加器,获得第一级相位累加值;
一级相位单元,用于根据所述第一级相位累加值进行查询正余弦码表操作,获得第一级相位值;
一级载波单元,用于根据所述第一级相位值获取第一级本振载波;
一级混频单元,用于将所述第一级本振载波与所述通道信号进行混频,获得所述通道处理信号。
可选的,所述指定频率为200kHz。
可选的,降采样模块20包括:
降采样单元,用于按照指定降采样倍数对所述通道处理信号进行降采样处理。
可选的,第二处理模块20包括:
二级累加单元,用于根据所述第二级移频的频率控制字计算第二级相位累加值;比值计算单元,用于计算所述第二级相位累加值与采样率的比值;
二级相位单元,用于计算所述比值与2倍圆周率的乘积,获得第二级相位值;
二级载波单元,用于根据所述第二级相位值获取第二级本振载波;
二级混频单元,用于将各个所述第二级本振载波与所述串行数据以时分复用的形式进行混频,获得所述目标解调信号。
关于多通道数字信号处理装置的具体限定可以参见上文中对于多通道数字信号处理方法的限定,在此不再赘述。上述多通道数字信号处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
在第一级DDS根据查表法对各通道信号进行处理,获取通道处理信号;
对所述通道处理信号进行降采样处理;
将多个降采样处理后的所述通道处理信号打包为串行数据;
在第二级DDS根据直接计算法对所述串行数据进行处理,获得目标解调信号。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在第一级DDS根据查表法对各通道信号进行处理,获取通道处理信号;
对所述通道处理信号进行降采样处理;
将多个降采样处理后的所述通道处理信号打包为串行数据;
在第二级DDS根据直接计算法对所述串行数据进行处理,获得目标解调信号。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。