由于只需要知道8个特定点的频谱值,采用一种称为Goertzel算法的DFT算法可以有效地提高计算效率。大电流电感它相当于一个含两个极点的IIR滤波器,8个频点对应各自相匹配的滤波器,其传递函数为
然而Goertzel算法还是有一个缺点,那就是它计算的是频率处的频谱值,而精确的频率值通常只能对应某个近似的整数k,为了达到要求的分辨率,就需要较大的样点数N。改进的方法是:修改传递函数,不计算角频率 处的频谱值,而计算精确角频率 处的频谱值。这样分辨率能达到数据自然加窗(矩形窗)的分辨率。它的传递函数为
改进的Goertzel算法运算步骤如下:
1. 对每个采样点递归计算(n=0,1,…,N)
其初始条件是
2. 当N个样点采集并计算完成后,计算8个频谱值:
在选定采样频率为6K差模电感器hz基础上,选取N=86个样点即可达到所需的频率分辨率。这对应约15ms信号,可以保证一位号码能接收到两个完整的DTMF信号周期。
当8个频谱值计算出来后,还要进行DTMF有效性检验,以判定是否为有效的DTMF信号。有效性检验包括以下几项内容:(1)高、低频段的最大幅值都必须大于某个门限值,而且二者之和也要大于某个门限值。(2)高、低频段的最大幅值与各自频段其它三个幅值相比,其差值必须大于某个门限值。(3)逆向绞度检验即低频段最大幅值不得超一体电感过高频段最大幅值8dB,标准绞度检验即高共模电感频段最大幅值不得超过低频段最大幅值4dB。(4)高、低频段最大幅值之和与其它6个幅值之和之比,必须大于某个门限值。
若上述检验通过,判定当前周期DTMF信号有效,根据频率组合可确定是对应哪个号码。但要确认接收到一个有效的号码,还要满足两个条件,一是要有两个以上连续周期的有效且相同的DTMF信号,以保证信号持续时间,二是前面有足够的静音时间,以避免重复识别。
DTMF解码程序流程图如图6所示。
解码时每次迭代需要八次乘法,由于F133没有硬件乘法器,要用"移位加"做乘法,因此优化乘法运算将大大提高计算效率。优化从几个方面考虑:尽量使用寄存器寻址方式,充分利用150ns指令;另外每个频点的乘数 是固定已知的,因此"交流电感器移位加"可以不用逐位循环并判断的方式,而用按位完全展开的方式以省去判断动作;此外,在前端增加简单的增益控制可以保证后续运算不发生溢出,省去溢出处理。经过上述优化
在非隔离应用中将数字隔离器用作电平转换器iCoupler数字隔离器广泛用于跨越隔离栅传输数字信号。某些情况下,数字隔离器在非隔离应用中也非常有用。48V DC-DC电源在通信电源应用中,标准电轨为 48V直流,且原边控制信号以该电轨为参考。
单片机I/O 口的红外遥控软件调制技术摘要:根据红外线遥控的特性,采用Novatek公司的NT68F632 8051微处理器为核心,设计了一种基于单片机I/O口的红外遥控软件调制系统。该系统具有和PC机进行RS232通信的功能,能够扩展应
绕线电感和叠层电感有何区别 贴片电感从**工艺上来分可主要分成四类,绕线型、叠层型、编织型和薄膜片式电感器,常用的主要是绕线型和叠层型电感器。前者是传统绕线电感器小型化的产物,后者是采用多