CN110061719A - 一种基于zynq-7010的自适应滤波器 - Google Patents
一种基于zynq-7010的自适应滤波器 Download PDFInfo
- Publication number
- CN110061719A CN110061719A CN201910292339.6A CN201910292339A CN110061719A CN 110061719 A CN110061719 A CN 110061719A CN 201910292339 A CN201910292339 A CN 201910292339A CN 110061719 A CN110061719 A CN 110061719A
- Authority
- CN
- China
- Prior art keywords
- signal
- filter
- channel
- interference signal
- ports
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H21/00—Adaptive networks
- H03H21/0012—Digital adaptive filters
- H03H21/0043—Adaptive algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H21/00—Adaptive networks
- H03H21/0012—Digital adaptive filters
- H03H21/0067—Means or methods for compensation of undesirable effects
Abstract
本发明属于数字信号处理领域,具体涉及一种基于ZYNQ‑7010的自适应滤波器,包括:有用信号AD通道、干扰信号AD通道、FPGA开发板和DA输出模块;所述有用信号AD通道分别与有用信号发生设备和FPGA开发板连接;所述干扰信号AD通道分别与干扰信号发生设备和FPGA开发板连接;所述DA输出模块分别与FPGA开发板和信号接收设备连接。自适应滤波器的程序采用FIR滤波器程序,将有用信号作为已知量,将干扰信号作为未知量,把期望信号,即已知信号当作参考量。本发明根据干扰的不同特性来自适应调整滤波器系数,以起到在不改变滤波器结构的同时对不同干扰进行滤除的作用,对常见干扰信号均能进行有效的滤除。
Description
技术领域
本发明属于数字信号处理领域,具体涉及一种基于ZYNQ-7010的自适应滤波器。
技术背景
估计器或滤波器这一术语通常用来称呼一个系统,设计这样的系统是为了从含有干扰的数据中提取人们感兴趣的、接近规定质量的信息。由于这样一个目标,估计理论应用于诸如通信、雷达、声纳、导航、地震学、生物医学工程、金融工程等众多不同领域。例如,考虑一个数字通信系统,其基本形式由发射机、信道和接受机组成。发射机的作用是把数字源产生的由O、1符号序列组成的消息信号变换成为适合于信道上传送的波形。典型地,信道主要受到码间串扰和干扰两种损伤,这两种损伤的晟终结果是,信道输出端收到的信号是含有干扰的或失真的发送信号。接收机的作用是,操作接收信号并把原消息信号的一个可靠估值传递给系统输出端的某个用户。
随着数字化、智能化、网络化称为当代信息技术发展的大趋势,数字信号处理技术正飞速发展,相比于模拟信号处理,数字元器件对温度变化、老化以及元件容差不敏感。在过去,模拟芯片设计可以生产出很小体积的芯片,可是发展到今天,随着现代亚微米设计所带来的干扰,使得数字设计在集成度方面可以比模拟设计做得更好,紧凑、低功耗并且低成本的数字设计产品就应运而生了。
数字滤波技术是数字信号处理的重要分支,无论是信号的获取、传输都离不开滤波技术,它对信号的有效性和安全性是至关重要的。与此同时,FPGA是现在数字信号处理系统的主流器件,在数字通信、网络、视频和图像处理等相关领域都有着极大的应用。FPGA芯片不仅包含查找表、寄存器、多路复用器和分布式块结构,还嵌入了专用的DSP模块,结合VHDL、Verilog等硬件描述语言,可以突破许多模拟器件所达不到的限制,非常适合做数字滤波器的设计。
自适应信号处理是信息科学中信号与信息处理的一个重要分支学科,它的研究正从一维到多维,从线性到非线性,从一般自适应系统到神经智能化自适应系统,所要研究的内容极为丰富。随着数字超大规模集成(Very Large ScaleIntegration,VLSI)电路技术的发展,自适应信号处理技术在许多领域(如回波消除、色散信道的均衡、系统辨识、信号增强、自适应波束成形、干扰消除及控制领域等)获得了广泛应用。高速有效的自适应滤波算法和可编程数字信号处理器的结合推动着自适应信号处理领域向纵深方向迅速发展。
例如,它可以在数字通信接收机中用于信道识别或信道均衡、可以用于滤除弱信号中的特定干扰,比如心电信号中的50Hz工频干扰,还可以广泛的应用于各种声学系统,比如扩音设备的回声消除,或是在录音时滤除嘈杂的背景干扰。工作在不同频段的自适应滤波器都能在一定领域发挥重要作用,因此,学习和设计一个好的自适应滤波器就显得尤为重要。
ZYNQ-7000系列基于Xilinx全可编程的可扩展处理平台结构(ExtensibleProcessingPlatformEPP),该结构在单芯片内集成了基于ARM公司的双核ArmCortex-A9多核处理器的处理系统(ProcessingSystemPS)和基于Xilinx可编程逻辑资源的可编程逻辑(ProgramableLogicPL)系统;
Xilinx公司与2012年发布了新一代的Vivado设计套件,与以前Xilinx一直使用的ISE设计套件相比,设计环境和设计方法发生了重要的变化。更加突出以IP核为中心的设计思想。更加重视在系统级上的设计实现能力。此外,新一代的Vivado设计套件更加集成化,一体化。Vivado提供了环境用于配置、实现、验证和集成IP,将其作为一个独立的模块,在综合和实现特性时由时序驱动,使用SDC/XDC格式的约束,并且在设计的过程每个阶段都可以使用不同的报告和分析特性。
发明内容
针对上述存在的技术问题,本发明提供一种基于ZYNQ-7010的自适应滤波器,包括:有用信号AD通道、干扰信号AD通道、FPGA开发板和DA输出模块;
所述有用信号AD通道分别与有用信号发生设备和FPGA开发板连接;
所述干扰信号AD通道分别与干扰信号发生设备和FPGA开发板连接;
所述FPGA开发板分别通过两侧的扩展IO插槽与有用信号AD通道和干扰信号AD通道连接,并与DA输出模块连接;
所述DA输出模块的输出端口与信号接收设备连接;
所述有用信号AD通道采用AN108型号的AD/DA采集模块,带有AD9280芯片,用于采集有用信号发生设备发生的有用信号;
所述干扰信号AD通道采用AN926型号的AD/DA采集模块,带有AD9226芯片,为双通道12bit,采样频率为用于采集干扰信号发生设备发生的干扰信号,由于其采集信号为有符号数,在对其进行移位;
所述FPGA开发板采用基于ZYNQ-7000FPGA的AX7010开发板,用于接收有用信号AD通道采集的有用信号和干扰信号AD通道采集的干扰信号,生成混合信号,同时接收干扰信号AD通道的干扰信号作为参考信号,生成输出信号;
所述DA输出模块采用AN108的DA通道,其数模转换电路采用AD9708芯片,数据宽度为8位,最大采样率为125MSPS,用于接收FPGA开发板的输出信号,进行数模转换,将转换后的输出信号发送至信号接收设备。
所述自适应滤波器的FPGA开发板上装载有的滤波器程序;所述滤波器程序采用FIR滤波器程序;
所述滤波器程序中,将有用信号作为已知量,将干扰信号作为未知量,把期望信号,即已知信号当作参考量;
所述滤波器程序由滤波器程序、比较器和自适应权值控制器组成;
所述滤波器程序工作在输入向量x[n]上,用于生成期望响应的估计值y[n];
所述比较器加在滤波器程序的输出端,将期望响应d[n]减去其估计值y[n],结果为误差信号e[n];
所述自适应权值控制器通过包含在误差信号e[n]中的信息来控制加到滤波器程序上各抽头权值增量的调整;
AD9226芯片的采样方式为12位有符号数采集,需进行转换再赋值给滤波器程序进行运算,设置时钟信号;对AD9226芯片采集的12位信号进行最高位取反加一的操作转换为8位的数据;
所述滤波器程序中的乘法器使用IP核构建乘法器方式,延时单元采用移位方式,在乘法器代码中设置的变量位数根据实际情况,由于硬件设备DA输出的位数固定为8位无符号数,乘法器代码中是有符号数的变量,采取把代码中位数的设置扩展成10位来处理8位无符号数避免符号位的影响;
在程序中例化乘法器并使用移位和加减赋值语句来实现滤波器程序;
在程序的编写过程中,利用Vivado的ip核功能来利用软件生成乘法器;乘法器的位数采用的是20位乘法器。
所述滤波器程序中添加流水线以改善频率特性:采用添加流水线对系数进行缓存的方式来改善滤波器的频率特性,使滤波器可以稳定地工作在25MHz频率下。
本发明的有益效果:
本发明提出一种基于ZYNQ-7010的自适应滤波器,能够在已知有用信号的条件下对掺杂干扰信号的混合信号进行自适应滤波功能,根据干扰的不同特性来自适应调整滤波器系数,以起到在不改变滤波器结构的同时对不同干扰进行滤除的作用,对常见干扰信号均能进行有效的滤除。
本发明设计合理,易于实现,具有很好的实用价值。
附图说明
图1为本发明具体实施方式中基于ZYNQ-7010的自适应滤波器的结构示意图;
图2为本发明具体实施方式中所述滤波器程序的逻辑框图。
图中:1、有用信号AD通道;2、干扰信号AD通道;3、FPGA开发板;4、DA输出模块。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明做出进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提出一种基于ZYNQ-7010的自适应滤波器,如图1所示,包括以下部件:
有用信号AD通道1、干扰信号AD通道2、FPGA开发板3和DA输出模块4;
各部件连接关系为:
所述有用信号AD通道1分别与有用信号发生设备和FPGA开发板3连接;
所述干扰信号AD通道2分别与干扰信号发生设备和FPGA开发板3连接;
所述FPGA开发板3分别通过两侧的扩展IO插槽与有用信号AD通道1和干扰信号AD通道2连接,并与DA输出模块4连接;
所述DA输出模块4的输出端口与信号接收设备连接;
各部件具体功能为:
所述有用信号AD通道1采用AN108型号的AD/DA采集模块,带有AD9280芯片,用于采集有用信号发生设备发生的有用信号;
所述干扰信号AD通道2采用AN926型号的AD/DA采集模块,带有AD9226芯片,为双通道12bit,采样频率为用于采集干扰信号发生设备发生的干扰信号,由于其采集信号为有符号数,在对其进行移位;
所述FPGA开发板3采用基于ZYNQ-7000FPGA的AX7010开发板,用于接收有用信号AD通道1采集的有用信号和干扰信号AD通道2采集的干扰信号,生成混合信号,同时接收干扰信号AD通道2的干扰信号作为参考信号,生成输出信号;
所述DA输出模块4采用AN108的DA通道,其数模转换电路采用AD9708芯片,数据宽度为8位,最大采样率为125MSPS,用于接收FPGA开发板3的输出信号,进行数模转换,将转换后的输出信号发送至信号接收设备;
本实施例中,所述信号接收设备为示波器;
关于所述FPGA开发板3、有用信号AD通道1和干扰信号AD通道2的连接,通过在Vivado软件中编写相应的XDC硬件约束文件,来确保引脚的正确连接;
所述XDC硬件约束文件代码如下:
set_property PACKAGE_PIN P18[get_ports{dadata[0]}]
set_property PACKAGE_PIN W14[get_ports{dadata[1]}]
set_property PACKAGE_PIN Y14[get_ports{dadata[2]}]
set_property PACKAGE_PIN V15[get_ports{dadata[3]}]
set_property PACKAGE_PIN W15[get_ports{dadata[4]}]
set_property PACKAGE_PIN Y16[get_ports{dadata[5]}]
set_property PACKAGE_PIN Y17[get_ports{dadata[6]}]
set_property PACKAGE_PIN P14[get_ports{dadata[7]}]
set_property PACKAGE_PIN V18[get_ports{addata[0]}]
set_property PACKAGE_PIN V17[get_ports{addata[1]}]
set_property PACKAGE_PIN T15[get_ports{addata[2]}]
set_property PACKAGE_PIN T14[get_ports{addata[3]}]
set_property PACKAGE_PIN V13[get_ports{addata[4]}]
set_property PACKAGE_PIN U13[get_ports{addata[5]}]
set_property PACKAGE_PIN W13[get_ports{addata[6]}]
set_property PACKAGE_PIN V12[get_ports{addata[7]}]
set_property PACKAGE_PIN U12[get_portsad_clk]
set_property PACKAGE_PIN R14[get_portsda_clk]
set_property PACKAGE_PIN U18[get_portsclk]
set_property PACKAGE_PIN F16[get_ports ad1_clk]
set_property PACKAGE_PIN K19[get_ports ad2_clk]
set_property PACKAGE_PIN K17[get_ports{ad1_in[0]}]
set_property PACKAGE_PIN M20[get_ports{ad1_in[1]}]
set_property PACKAGE_PIN M19[get_ports{ad1_in[2]}]
set_property PACKAGE_PIN L20[get_ports{ad1_in[3]}]
set_property PACKAGE_PIN L19[get_ports{ad1_in[4]}]
set_property PACKAGE_PIN H18[get_ports{ad1_in[5]}]
set_property PACKAGE_PIN J18[get_ports{ad1_in[6]}]
set_property PACKAGE_PIN G20[get_ports{ad1_in[7]}]
set_property PACKAGE_PIN G19[get_ports{ad1_in[8]}]
set_property PACKAGE_PIN F20[get_ports{ad1_in[9]}]
set_property PACKAGE_PIN F19[get_ports{ad1_in[10]}]
set_property PACKAGE_PIN F17[get_ports{ad1_in[11]}]
set_property PACKAGE_PIN G17[get_ports{ad2_in[0]}]
set_property PACKAGE_PIN E19[get_ports{ad2_in[1]}]
set_property PACKAGE_PIN E18[get_ports{ad2_in[2]}]
set_property PACKAGE_PIN D20[get_ports{ad2_in[3]}]
set_property PACKAGE_PIN D19[get_ports{ad2_in[4]}]
set_property PACKAGE_PIN M18[get_ports{ad2_in[5]}]
set_property PACKAGE_PIN M17[get_ports{ad2_in[6]}]
set_property PACKAGE_PIN L17[get_ports{ad2_in[7]}]
set_property PACKAGE_PIN L16[get_ports{ad2_in[8]}]
set_property PACKAGE_PIN H20[get_ports{ad2_in[9]}]
set_property PACKAGE_PIN J20[get_ports{ad2_in[10]}]
set_property PACKAGE_PIN J19[get_ports{ad2_in[11]}]
set_property IOSTANDARD LVCMOS33[get_ports{addata[3]}]
set_property IOSTANDARD LVCMOS33[get_ports{addata[2]}]
set_property IOSTANDARD LVCMOS33[get_ports{addata[1]}]
set_property IOSTANDARD LVCMOS33[get_ports{addata[0]}]
set_property IOSTANDARD LVCMOS33[get_ports{addata[4]}]
set_property IOSTANDARD LVCMOS33[get_ports{addata[5]}]
set_property IOSTANDARD LVCMOS33[get_ports{addata[6]}]
set_property IOSTANDARD LVCMOS33[get_ports{addata[7]}]
set_property IOSTANDARD LVCMOS33[get_ports{dadata[3]}]
set_property IOSTANDARD LVCMOS33[get_ports{dadata[2]}]
set_property IOSTANDARD LVCMOS33[get_ports{dadata[1]}]
set_property IOSTANDARD LVCMOS33[get_ports{dadata[0]}]
set_property IOSTANDARD LVCMOS33[get_ports{dadata[4]}]
set_property IOSTANDARD LVCMOS33[get_ports{dadata[5]}]
set_property IOSTANDARD LVCMOS33[get_ports{dadata[6]}]
set_property IOSTANDARD LVCMOS33[get_ports{dadata[7]}]
set_property IOSTANDARD LVCMOS33[get_portsad_clk]
set_property IOSTANDARD LVCMOS33[get_portsda_clk]
set_property IOSTANDARD LVCMOS33[get_portsclk]
set_property IOSTANDARD LVCMOS33[get_ports ad1_clk]
set_property IOSTANDARD LVCMOS33[get_ports ad2_clk]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[0]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[1]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[2]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[3]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[4]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[5]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[6]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[7]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[8]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[9]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[10]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad1_in[11]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[0]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[1]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[2]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[3]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[4]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[5]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[6]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[7]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[8]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[9]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[10]}]
set_property IOSTANDARD LVCMOS33[get_ports{ad2_in[11]}]
本发明提出的基于ZYNQ-7010的自适应滤波器,所述自适应滤波器的FPGA开发板上装载有的滤波器程序;
一、滤波器程序的选择:
比较FIR滤波器程序和IIR滤波器程序;
对于FIR滤波器程序,直接型结构是有利的,其所有的系数可以同时更新;
对于IIR滤波器程序,网格结构是更有利的,因为网格结构的滤波器程序具有较低的定点计算舍入误差灵敏度和简化的系数稳定性控制能力;
针对两种滤波器程序,分别进行了仿真测试;
在Vivado开发环境下,通过编写testbench行为仿真测试文件的方式来进行仿真,仿真中激励源的产生采取先用Matlab生产所需波形的数据点,再通过Vivado生成ROMip核,在Verilog文件中新建地址变量来逐个读取数据点产生仿真中的激励波形,包括正弦波、三角波和方波;
所述新建地址变量,即根据4096个点的标准来设定间隔创建出正弦函数,由于函数的数值为小数形式,需要调用ceil函数把其转化为整数,之后调用fopen函数保存到后缀为.coe的文件里方便提供给vivado处理;所述激励波形有4096个数据点;
对比仿真效果:IIR滤波器输出始终为不确定态,验证了IIR型滤波器有不确定性,不适合用作自适应滤波器的滤波器模块;所述FIR滤波器程序仿真结果正常,因此本发明采用FIR滤波器程序作为本发明的滤波器程序;
二、实现滤波器程序的方案:
所述滤波器程序应用以下两种方案之一:
方案1:将干扰信号作为已知量,将有用信号作为未知量,把干扰信号当作参考信号;
方案2:将有用信号作为已知量,将干扰信号作为未知量,把期望信号,即已知信号当作参考量;
本实施例中采用方案2,其逻辑框如图2所示;
所述方案由滤波器程序、比较器和自适应权值控制器组成;
所述滤波器程序工作在输入向量x[n]上,用于生成期望响应的估计值y[n];
所述比较器加在滤波器程序的输出端,将期望响应d[n]减去其估计值y[n],结果为误差信号e[n];
所述自适应权值控制器通过包含在误差信号e[n]中的信息来控制加到滤波器程序上各抽头权值增量的调整;
所述滤波器程序中的乘法器使用IP核构建乘法器方式,延时单元采用移位方式,在乘法器代码中设置的变量位数根据实际情况,由于DA输出模块4的位数固定为8位无符号数,乘法器代码中是有符号数的变量,采取把代码中位数的设置扩展成10位来处理8位无符号数避免符号位的影响;
在程序中例化乘法器并使用移位和加减赋值语句来实现滤波器程序;
在程序的编写过程中,本发明利用Vivado的ip核功能来利用软件生成乘法器;利用Vivado中ip核生成的乘法器较为便捷及稳定,本发明采用的是ip核生成的乘法器,在软件界面中点开Ipcatalog选项后,选择MathFunctions后选择Multiplier,打开界面后按照实际程序的需要设计乘法器,本发明中乘法器的位数采用的是20位乘法器,位数比AD的采样位数要多的原因是可以有保留的位数用来调整数据。
三、AN108模块程序和AN926模块程序:
为了尽可能地提升系统的工作频率,所述AN108模块程序采用采样频率达65MHz的AD9226芯片;由于AD9226芯片的采样方式为12位有符号数采集,而本发明的其他硬件的采样方式为8位有符号数采集,所以需进行转换再赋值给自适应滤波器进行运算,设置时钟信号;
对AD9226芯片采集的12位信号进行最高位取反加一的操作转换为8位的数据。
四、添加流水线以改善频率特性:
在未作任何改善时,滤波器的工作频率若大于10MHz,波形会发生严重抖动和失真;本发明采用添加流水线对系数进行缓存的方式来改善滤波器的频率特性,使滤波器可以稳定地工作在25MHz频率下;所述流水线为:
always@(posedgeclk)//存储系数
begin:
d[0]<=d_in;//需求数据移位寄存器
d[1]<=d[0];
d[2]<=d[1];
d[3]<=d[2];
x[0]<=x_in;//已知数据移位寄存器
x[2]<=x[1];
x[3]<=x[2];
x[4]<=x[3]
f[0]<=f[0]+xemu[0][W2-1:W1];
f[1]<=f[1]+xemu[1][W2-1:W1];
对本发明提出的基于ZYNQ-7010的自适应滤波器进行效果测试,有用信号采用100KHz正弦波,干扰信号采用200KHz正弦波,测试结果如表1所示:
表1
根据测试结果可知,本发明对常见干扰信号均能进行有效的滤除。
Claims (3)
1.一种基于ZYNQ-7010的自适应滤波器,其特征在于,包括:有用信号AD通道、干扰信号AD通道、FPGA开发板和DA输出模块;
所述有用信号AD通道分别与有用信号发生设备和FPGA开发板连接;
所述干扰信号AD通道分别与干扰信号发生设备和FPGA开发板连接;
所述FPGA开发板分别通过两侧的扩展IO插槽与有用信号AD通道和干扰信号AD通道连接,并与DA输出模块连接;
所述DA输出模块的输出端口与信号接收设备连接;
所述有用信号AD通道采用AN108型号的AD/DA采集模块,带有AD9280芯片,用于采集有用信号发生设备发生的有用信号;
所述干扰信号AD通道采用AN926型号的AD/DA采集模块,带有AD9226芯片,为双通道12bit,采样频率为用于采集干扰信号发生设备发生的干扰信号,由于其采集信号为有符号数,在对其进行移位;
所述FPGA开发板采用基于ZYNQ-7000FPGA的AX7010开发板,用于接收有用信号AD通道采集的有用信号和干扰信号AD通道采集的干扰信号,生成混合信号,同时接收干扰信号AD通道的干扰信号作为参考信号,生成输出信号;
所述DA输出模块采用AN108的DA通道,其数模转换电路采用AD9708芯片,数据宽度为8位,最大采样率为125MSPS,用于接收FPGA开发板的输出信号,进行数模转换,将转换后的输出信号发送至信号接收设备。
2.根据权利要求1所述的基于ZYNQ-7010的自适应滤波器,其特征在于,所述自适应滤波器的FPGA开发板上装载有的滤波器程序;所述滤波器程序采用FIR滤波器程序;
所述滤波器程序中,将有用信号作为已知量,将干扰信号作为未知量,把期望信号,即已知信号当作参考量;
所述滤波器程序由滤波器程序、比较器和自适应权值控制器组成;
所述滤波器程序工作在输入向量x[n]上,用于生成期望响应的估计值y[n];
所述比较器加在滤波器程序的输出端,将期望响应d[n]减去其估计值y[n],结果为误差信号e[n];
所述自适应权值控制器通过包含在误差信号e[n]中的信息来控制加到滤波器程序上各抽头权值增量的调整;
AD9226芯片的采样方式为12位有符号数采集,需进行转换再赋值给滤波器程序进行运算,设置时钟信号;对AD9226芯片采集的12位信号进行最高位取反加一的操作转换为8位的数据;
所述滤波器程序中的乘法器使用IP核构建乘法器方式,延时单元采用移位方式,在乘法器代码中设置的变量位数根据实际情况,由于硬件设备DA输出的位数固定为8位无符号数,乘法器代码中是有符号数的变量,采取把代码中位数的设置扩展成10位来处理8位无符号数避免符号位的影响;
在程序中例化乘法器并使用移位和加减赋值语句来实现滤波器程序的方案;
在程序的编写过程中,利用Vivado的ip核功能来利用软件生成乘法器;乘法器的位数采用的是20位乘法器。
3.根据权利要求2所述的基于ZYNQ-7010的自适应滤波器,其特征在于,所述滤波器程序中添加流水线以改善频率特性:采用添加流水线对系数进行缓存的方式来改善滤波器的频率特性,使滤波器可以稳定地工作在25MHz频率下。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910292339.6A CN110061719A (zh) | 2019-04-12 | 2019-04-12 | 一种基于zynq-7010的自适应滤波器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910292339.6A CN110061719A (zh) | 2019-04-12 | 2019-04-12 | 一种基于zynq-7010的自适应滤波器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110061719A true CN110061719A (zh) | 2019-07-26 |
Family
ID=67318946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910292339.6A Pending CN110061719A (zh) | 2019-04-12 | 2019-04-12 | 一种基于zynq-7010的自适应滤波器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110061719A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113219434A (zh) * | 2021-04-27 | 2021-08-06 | 南京理工大学 | 一种基于Zynq芯片的自适应宽带数字调零系统和方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108646151A (zh) * | 2018-05-10 | 2018-10-12 | 东南大学 | 基于自适应降噪的电缆放电声波检测装置 |
CN109347458A (zh) * | 2018-12-04 | 2019-02-15 | 钟祥博谦信息科技有限公司 | 一种自适应滤波方法 |
-
2019
- 2019-04-12 CN CN201910292339.6A patent/CN110061719A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108646151A (zh) * | 2018-05-10 | 2018-10-12 | 东南大学 | 基于自适应降噪的电缆放电声波检测装置 |
CN109347458A (zh) * | 2018-12-04 | 2019-02-15 | 钟祥博谦信息科技有限公司 | 一种自适应滤波方法 |
Non-Patent Citations (1)
Title |
---|
徐怡阳: "基于ZYNQ-7010的自适应滤波器", 《探索与观察》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113219434A (zh) * | 2021-04-27 | 2021-08-06 | 南京理工大学 | 一种基于Zynq芯片的自适应宽带数字调零系统和方法 |
CN113219434B (zh) * | 2021-04-27 | 2023-05-05 | 南京理工大学 | 一种基于Zynq芯片的自适应宽带数字调零系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100432695C (zh) | 雷达接收机综合测试系统 | |
CN110412557B (zh) | 一种基于ofdm信号的测量速度和距离的方法及装置 | |
CN105978602A (zh) | 一种同时同频全双工非线性干扰抑制的装置与方法 | |
CN102121991A (zh) | 基于北斗一代卫星信号接收的干扰抑制方法及装置 | |
CN107819710A (zh) | Iq失配补偿方法和装置、补偿设备及通信设备 | |
CN104931968A (zh) | 基于FPGA的InSAR通道幅相误差估计方法 | |
CN106330276A (zh) | 基于sor算法的大规模mimo线性检测方法及装置 | |
CN115219997A (zh) | 基于认知波形与滤波器联合设计的抗多间歇采样干扰方法 | |
EP0015681A1 (en) | Binary transversal filter | |
CN110061719A (zh) | 一种基于zynq-7010的自适应滤波器 | |
CN104601512B (zh) | 一种检测相位调制信号载波频偏的方法及系统 | |
CN101912277B (zh) | 一种基于流水线设计的实时数字正交解调的方法与装置 | |
CN111224672A (zh) | 一种基于多通道延时的多谐波信号欠采样方法 | |
CN110208755A (zh) | 一种基于fpga的动态雷达回波数字下变频系统及方法 | |
Guerrieri et al. | Automotive power-line communication channels: mathematical characterization and hardware emulator | |
US11444643B2 (en) | Signal frequency and bandwidth estimation using a learned filter pair response | |
CN108512619B (zh) | 一种短波多通道多带宽信道的模拟方法 | |
CN112468114B (zh) | 一种基于非理想sinc核的FRI采样系统及方法 | |
CN112034443B (zh) | 一种雷达探测盲区计算方法及装置、存储介质和电子设备 | |
CN111917676B (zh) | 一种线性调频干扰对消方法 | |
CN107966716A (zh) | 基于自适应旁瓣相消器的四阵元抗干扰方法 | |
CN102497340A (zh) | 基于迭加窗抑制算法的时频门处理方法 | |
CN103926567B (zh) | 高速实时脉冲压缩算法 | |
CN105578083B (zh) | 低噪声ccd信号成像电子学系统 | |
RU2137143C1 (ru) | Способ (варианты) и устройство (варианты) оценивания несущей частоты |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190726 |