本发明属于射频识别技术领域,尤其涉及一种基于FPGA的RFID接收信号强度检测及解码方法。
背景技术:
许多RFID标签采用2FSK来实现信息的传输,由于RFID应用环境的复杂性,通常要求阅读器具备较高的抗干扰能力。传统的2FSK解调方法包括鉴频法、相干检测法、包络检波法、过零检测法、差分检测法等。这些方法对传输过程中因为空中干扰导致脉冲幅度变化较大、存在基线漂移、甚至脉冲丢失的情况时,效果较差,而且对两个载频的频率差有较高要求,难以满足RFID应用要求。
综上所述,传统的2FSK解调方法因为空中干扰导致脉冲幅度变化较大、存在基线漂移、甚至脉冲丢失的情况时,效果较差;对两个载频的频率差有较高要求,难以满足RFID应用要求。
技术实现要素:
本发明的目的在于提供一种基于FPGA的RFID接收信号强度检测及解码方法,旨在解决传统的2FSK解调方法因为空中干扰导致脉冲幅度变化较大、存在基线漂移、甚至脉冲丢失的情况时,效果较差;对两个载频的频率差有较高要求,难以满足RFID应用要求的问题。
本发明是这样实现的,一种基于FPGA的RFID接收信号强度检测及解码方法,所述基于FPGA的RFID接收信号强度检测及解码方法采用FPGA对信号固定周期采样,设采样周期为t,将接收信号转换为数字信号;在FPGA中进行数字滤波,在滤波后的信号波形中查找局部极大值:对数字序列进行比较,当连续三个值Pi-1、Pi和Pi-1满足(如图4,两个相邻极值点之间的部分定义为一个脉冲,其周期Tj为包含的数据点数一个脉冲的幅度Aj定义为波峰数据与波谷数据的差,即Aj=MAXj-MINj):
Pi-1<Pi≤Pi+1
则记录Pi为极大值点。两个相邻极大值点之间的部分即为一个脉冲,从而实现了脉冲识别。计算前N个脉冲的幅度的平均值作为接收信号强度。设第j个脉冲的幅度为Aj,则Aj为该脉冲的最大值MAXj减去最小值MINj,即:
Aj=MAXj-MINj
则接收信号强度为:
依据2FSK的码元速率,统计M(一般为16)个脉冲的总时间Tbit,从而分辨出载频f0和f1,完成解码。设载频f0高于载频f1,Δt为用户设置的一个常数,用如下规则进行解码:
1)若则将该M个脉冲解码为“0”;
2)否则解码为“1”。
以此类推,完成整个信号流的解码。
进一步,所述基于FPGA的RFID接收信号强度检测及解码方法包括以下步骤:
步骤一,初始化阶段,脉冲计数器n和信号强度寄存器rss赋初值0;
步骤二,识别第j个脉冲,并计算该脉冲的幅度值Aj,幅度值Aj为该脉冲中所有数值的最大值减去最小值,即为该脉冲的幅度;
步骤三,已经鉴别出一个脉冲,脉冲计数器n加1;将幅度Aj累加到信号强度寄存器rss,即:rss=rss+Aj;
步骤四,判断是否达到N个脉冲,若是则转步骤五,否则转步骤六;
步骤五:输出本次操作周期RFID标签返回的平均信号强度avgrss,即avgrss=rss/N,转步骤六;
步骤六,判断是否计算满M个周期,即一个比特的数据,若是则记录这M个周期的数据数目为Tbit,并转步骤七;否则转步骤二,继续找下一个脉冲;
步骤七,根据2FSK编码规则,并输出一个比特“0”/“1”。设载频f0高于载频f1,Δt为用户设置的一个常数,用如下规则进行解码:
1)若则将该M个脉冲解码为“0”;
2)否则,将该M个脉冲解码为“1”。
步骤八,解码完成则结束,否则转步骤二继续找下一个脉冲,对下一个M个脉冲进行解码;
步骤九,操作周期结束。
本发明的另一目的在于提供一种所述基于FPGA的RFID接收信号强度检测及解码方法的RFID阅读器。
进一步,所述阅读器包括:
FPGA,用于从通信接口接收命令,将发送数据调制;并完成AD转换电路的数字信号的处理,结果通过通信接口返回给用户;
发射电路,与FPGA连接,用于将FPGA调制的数据通过天线发射出去;
接收电路,与天线有线连接,用于接收天线上的感应信号;
放大滤波电路,与接收电路有线连接,用于对接收电路接收的天线上的感应信号滤波放大;
AD转换电路,与放大滤波电路和FPGA有线连接,用于将放大滤波电路滤波放大的天线感应信号转换为数字信号。
进一步,所述FPGA包括下列模块:
嵌入式处理器,用于从通信接口接收命令并解析,若是数据发送,则将被发送数据通过信号调制模块调制,通过发射电路发射出去;
高精度AD控制器,与嵌入式处理器有线连接,用于控制外部的AD转换器对接收信号进行固定周期的采样;
数字滤波器,通过第一级先入先出队列与AD控制器通讯,用于从第一级先入先出队列中取数据并进行数字滤波,结果写入到第二级先入先出队列;
第二级先入先出队列,与数字滤波器通讯,用于存储数字滤波器的滤波结果;
波形识别及解码模块,与第二级先入先出队列通信,用于读取数据,完成信号强度计算和解码工作。
本发明的另一目的在于提供一种利用所述基于FPGA的RFID接收信号强度检测及解码方法的射频识别系统。
本发明的另一目的在于提供一种利用所述基于FPGA的RFID接收信号强度检测及解码方法的2FSK解调系统。
本发明提供的基于FPGA的RFID接收信号强度检测及解码方法,对存在基线漂移及脉冲幅度变化较大的信号具有同样的解码能力。且特别适合于两个载频频率f0和f1比较接近的应用场合。相比于传统的利用现有集成电路进行解码的方案,本发明对FSK的两个频率差的要求较小,具有更好的灵敏性和通用性,传统方案中,传统方案中,一个集成电路只针对一种频率信号,且两个载频频率f0和f1的频率差是基本固定的;而本发明只需要通过选择AD采样频率和调整解码用的常数Δt,即可实现任意频率信号的解码,即使f0和f1的频率差很大或很小。本发明无需复杂的硬件电路和专用的FSK解码芯片;工作频率可配置,特别适合于要求工作于多种频率的阅读器;提供了信号强度估计功能。
附图说明
图1是本发明实施例提供的手持式RFID阅读器结构示意图。
图2是本发明实施例提供的FPGA内部功能模块结构示意图。
图3是本发明实施例提供的基于FPGA的RFID接收信号强度检测及解码方法流程图。
图4是本发明实施例提供的脉冲识别原理示意图。
图中:1、FPGA;1-1、A/D控制器;1-2、第一级先入先出队列;1-3、数字滤波器;1-4、第二级先入先出队列;1-5、波形识别及解码模块;1-6、嵌入式处理器;1-7、信号调制模块;2、发射电路;3、接收电路;4、放大滤波电路;5、AD转换电路;6、通信接口。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细的描述。
本发明实施例提供的阅读器(如图1所示)和应答器,阅读器载波频率为83K,应答器返回信号上行频率f0为83KHz、f1为81KHz。本发明实施例中的阅读器由FPGA1、发射电路2、接收电路3、放大滤波电路4、AD转换电路5和通信接口6构成。
FPGA1从通信接口6接收命令,将发送数据调制,通过发射电路2、天线发射出去。接收电路3接收天线上的感应信号,通过放大滤波电路4进行滤波放大,在FPGA1的控制下,通过AD转换电路5转换为数字信号,并在FPGA1内部完成信号的处理,结果通过通信接口6返回给用户。
如图2所示,FPGA1的功能模块包括高精度A/D控制器1-1、第一级先入先出队列(FIFO1)1-2、数字滤波器1-3、第二级先入先出队列(FIFO2)1-4、波形识别及解码模块1-5、嵌入式处理器1-6、信号调制模块1-7。
FPGA的控制核心是嵌入式处理器,它从通信接口接收命令并解析,若是数据发送,则将被发送数据通过信号调制模块调制,通过发射电路发射出去;之后,通过高精度AD控制器对接收信号进行固定周期的采样,采样数据存入FIFO1;数字滤波器从FIFO1中取数据并进行数字滤波,结果写入到FIFO2;波形识别、RSS计算、2FSK解码模块从FIFO读取数据,完成信号强度计算和解码工作。
如图3所示,本发明实施例提供的基于FPGA的RFID接收信号强度检测及解码方法包括以下步骤:
S301:初始化阶段,脉冲计数器n和信号强度寄存器rss赋初值0;
S302:识别第j个脉冲,并计算该脉冲的幅度值Aj,幅度值Aj为该脉冲中所有数值的最大值减去最小值,即为该脉冲的幅度;
S303:已经鉴别出一个脉冲,脉冲计数器n加1;将幅度Aj累加到信号强度寄存器rss,即:rss=rss+Aj;
S304:判断是否达到N个脉冲,若是则S305,否则转S306;
S305:输出本次操作周期RFID标签返回的平均信号强度avgrss,即avgrss=rss/N,转S306;
S306:判断是否计算满M个周期,即一个比特的数据,若是则记录这M个周期的数据数目为Tbit,并转S307;否则转S302,继续找下一个脉冲;
S307:根据2FSK编码规则,并输出一个比特“0”/“1”。设载频f0高于载频f1,Δt为用户设置的一个常数,用如下规则进行解码:
1)若则将该M个脉冲解码为“0”;
2)否则,将该M个脉冲解码为“1”。
S308:解码完成则转S309,否则转S302继续找下一个脉冲,对下一个M个脉冲进行解码;
S309:操作周期结束,启动下一个操作周期。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。