新闻中心

EEPW首页>嵌入式系统>设计应用> 采用MCS-51单片机实现CPFSK调制

采用MCS-51单片机实现CPFSK调制

作者: 时间:2009-04-09 来源:网络 收藏

  对于一个周期函数可以进行傅里叶级数的展开,级数的一般表达式为:

当按上述方法进行PWM时,图2下图函数傅里叶级数的an均为0,当n为偶数时,bn也为0。所以正弦波PWM的傅里叶级数为:

根据阶梯图形表示连续曲线时,阶梯越细图形越精确的原理,认为用PWM正弦波时,时段分割越多,调制出的正弦波越精确。如果不考虑级数中的直流成分,可以得到不同时段的谐波系数,如表1所示。

从表1可以看出,谐波系数随着谐波次数的增加逐渐减小,但在n=K-1处系数会突然增大,之后又逐渐减小。而这种突然增大的比值随着时段分割数的增加总体呈下降趋势。

  另一方面,突然增大的比值,随着时段分割数的增加而向高次谐波方向移动。对这种远离基波的高次谐波,只要低通滤波器就能很容易将其去除,我们所关心的是如何尽可能减小基波附近谐波的系数。

  从表1可以看出,随着时段分割数的增加,离基波较近的谐波系数也呈下降趋势。所以通过对时段的细分,信号的高次谐波,特别是接近基波的谐波成分会进一步减少。

2 信号输出

  由于了正弦波PWM调制,输出信号只要经过简单的低通滤波器就可以得到平滑的正弦波信号。图3中的74HC04是CMOS反相器,这里它起缓冲驱动作用。

因为的P1~P3口是准双向口。作为输出口时低电平有一定的吸收电流能力,但高电平输出电流的能力很小,这就使输出信号的开关特性有较大差异。而CMOS反相器的输出P沟道和N沟道MOS管构成的对称互补结构,使输出信号的“0、1”有相同的开关特性,能保证低电平的吸收电流和高电平的输出电流相同。图3中R1、R2为1kΩ的电阻,C1、C2、C3为0.1μF的独石电容。当时段分割为20,正弦波信号频率为1180Hz时,图3中A、B、C三个端口的输出波形如图4所示。

3调制

  软件调制是将正弦波分为若干个时段,并计算出每个时段内高电平和低电平所占用的时间,这些时间在中用软件延时

  为了叙述方便,首先定义几个符号:

  φ――软件调制所在的相位;

  T――相位角为φ时对应时段的总和;

  T1――相位角为φ时对应时段的高电平;

  T0――相位角为φ时对应时段的低电平;

  T1180――相位角为φ时频率为1180Hz正弦波对应时段的机器周期总和;

  T980――相位角为φ时频率为980Hz正弦波对应时段的机器周期总和。

  根据图2中面积相等,即S1=S2的要求可以得到:

如果单片机的晶振频率为11.0592MHz,完成频率为980Hz的正弦波调制需要=940个机器周期,完成频率为1180Hz的正弦波调制需要=781个机器周期。20等分能够将940整除,得到每个时段的机器周期数T980=47。但=39余1,如果将余数1丢掉,就会造成频率为1180Hz的正弦波频率误差变大。实际编程时可以将余数1插补在20个时段中的某个时段中,也就是19个时段为T1180=39个机器周期,1个时段为T1180=40个机器周期。T0和T1的计算如表2所示。



评论


相关推荐

技术专区

关闭