您好,我要将在ram存储的12位数据按调宽方式输出,打算用高电平携带信号,即用其宽度代表采样值,在两个高电平之间加入宽度一致的低电平,其宽度设为0.1ms。对于音频信号,虽然范围较宽,但是电话线只能传输大约300HZ—3KHZ一段频率范围很窄的信号。我要把数据映射到这个频率范围之内,据此设定了脉宽的范围以及前边提及的固定低电平的宽度。对于最低频率,其倒数约为3.3ms,对于最高频率其倒数约为0.3ms。另外,经过A/D转换存入RAM中的数据是12位的,为了保证传输质量,将其分为两个六位的分别传输。据此有如下计算:

对于6位数二进制数,共有 3F + 1 个即64个数据

设 y = a * x + b ;y为脉宽,x为采样值

最小值00H,取如下数据:

b = 0.25 ms

则取: 2.5 = 63 * a + 0.25

计算得: a = 35 us

即 y = 0.035x + 0.25

此时,当经A/D转换后的采样值的后六位为00时,y = 0.25ms,那么脉冲信号的频率为1000/(0.25+0.1)约为2857HZ.
当后六位为3FH时,y = 2.5ms,那么频率即为400HZ。

脉冲频率范围是400HZ-2.9KHZ在电话线可以传输的范围之内