论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
定点小数的表示方法:将需要表示的小数空间乘上一个系数映射到整数所能所示的空间。本文使用16位的单片机SPCE061,其D/A的精度为10位,DAC输出寄存器为16位数据的高10位;sin函数的值域为[-1, 1],取整数域[0x0000,0x03ff]映射sin函数值中的[0, 1],取补数映射sin函数值中的负值,即可满足DTMF输出精度要求。要求将1映射为0x03ff,因此,当函数值为正时,应乘以0x03ff即1023,经取整后作为计算sin函数子程序的输出;当函数值为负时,只须将对应的正时的函数值取补便可得到。
计算sin函数时,将0~2π映射为整数域的[0x0000,0x4000],因此,可通过整数域的第13和12位获得象限信息。查表时只计算第一象限[0, π/2]的正弦值,其它象限的函数仁政由三角函数公式计算得到。第一象限sin函数的计算:0~π/2被映射到整数域的[0x0000,0x1000],将其分为16等分,将分割点上的函数值建立数据表,即将0、0x0100、0x0200等17个点处对应的正弦值列表,若弧度值x介于两分割点x1与x2之间,则通过查表获得sin(x1)与sin(x2),则有:
sin(x)=sin(x1) [sin(x2)-sin(x1)](x2-x1)/256
其它象限可根据三角函数公式获得类似的计算公式。
2.2 DTMF信号的软件合成
由于在DTMF的传输过程中,高频在线路中的传输损耗比低频高,为了保证信号到达交