首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA的DTMF信号产生与识别-3

基于FPGA的DTMF信号产生与识别-3

可以看到这一结果是Xk的可行递归计算。这就是Goertzel算法,下图3给出了相应的图形化解释和算法步骤图。yn的计算由输入序列的最后一个值xN-1开始。在步骤3之后,Xk的一个频谱值就在输出端给出了。
       
                                                               
                               

                                        步骤

                       
                               

                                       

                       
                               

                                        寄存器

                       
                               

                                       

                       
                               

                                        0

                       
                               

                                       

                       
                               

                                       

                       
                               

                                       

                       
                               

                                        1

                       
                               

                                       

                       
                               

                                       

                       
                               

                                       

                       
                               

                                        2

                       
                               

                                       

                       
                               

                                       

                       
                               

                                       

                       
                               

                                        3

                       
                               

                                       

                       
                               

                                       

                       
                               

                                       

                       

        3
长度为4Goertzel框图和算法

       
一般情况下,如果只有少量频谱成份需要计算的话,Goertzel算法是很有吸引力的。对于整个DFT而言,计算量是N2量级的,直接DFT计算相比要复杂的多。Goertzel算法,是计算DFT的一种线性滤波算法,它比FFT算法更快。因为,通过FFT可以计算得到信号所有谱线,了解信号整个频域的信息,而对于DTMF信号只需关心其8个行,列频以及其二次谐波的信息即可。此时算法更加我采用的DTMF信号检测的原理是分析信号的频谱特性来分辨不同信息
。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着分析频谱信息,提取输入的DTMF信号码。
        上述算法要通过同时进行实部和虚部的运算,得到信号的幅度信息和相位信息,但在DTMF信号的识别中系统只需要判断信号的幅频特性,近而又有了Goertzel优化算法,算法框图如下图4所示。
       
4
Goertzel优化算法框图
        由图中可知高斯公式:

       
(A-1-3)

       
(A-1-4)


http://bbs.ednchina.com/blog_index.jspa?blog_id=390651&viewall=true
返回列表