采用MCS-51單片機(jī)實(shí)現(xiàn)CPFSK調(diào)制
對于一個(gè)周期函數(shù)可以進(jìn)行傅里葉級數(shù)的展開,級數(shù)的一般表達(dá)式為:
當(dāng)按上述方法進(jìn)行PWM調(diào)制時(shí),圖2下圖函數(shù)傅里葉級數(shù)的an均為0,當(dāng)n為偶數(shù)時(shí),bn也為0。所以正弦波PWM調(diào)制的傅里葉級數(shù)為:
根據(jù)階梯圖形表示連續(xù)曲線時(shí),階梯越細(xì)圖形越精確的原理,認(rèn)為用PWM調(diào)制正弦波時(shí),時(shí)段分割越多,調(diào)制出的正弦波越精確。如果不考慮級數(shù)中的直流成分,可以得到不同時(shí)段的諧波系數(shù),如表1所示。
從表1可以看出,諧波系數(shù)隨著諧波次數(shù)的增加逐漸減小,但在n=K-1處系數(shù)會突然增大,之后又逐漸減小。而這種突然增大的比值隨著時(shí)段分割數(shù)的增加總體呈下降趨勢。
另一方面,突然增大的比值,隨著時(shí)段分割數(shù)的增加而向高次諧波方向移動。對這種遠(yuǎn)離基波的高次諧波,只要采用低通濾波器就能很容易將其去除,我們所關(guān)心的是如何盡可能減小基波附近諧波的系數(shù)。
從表1可以看出,隨著時(shí)段分割數(shù)的增加,離基波較近的諧波系數(shù)也呈下降趨勢。所以通過對時(shí)段的細(xì)分,信號的高次諧波,特別是接近基波的諧波成分會進(jìn)一步減少。
2 信號輸出
由于采用了正弦波PWM調(diào)制,單片機(jī)輸出信號只要經(jīng)過簡單的低通濾波器就可以得到平滑的正弦波信號。圖3中的74HC04是CMOS反相器,這里它起緩沖驅(qū)動作用。
因?yàn)?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/單片機(jī)">單片機(jī)的P1~P3口是準(zhǔn)雙向口。作為輸出口時(shí)低電平有一定的吸收電流能力,但高電平輸出電流的能力很小,這就使輸出信號的開關(guān)特性有較大差異。而CMOS反相器的輸出采用P溝道和N溝道MOS管構(gòu)成的對稱互補(bǔ)結(jié)構(gòu),使輸出信號的“0、1”有相同的開關(guān)特性,能保證低電平的吸收電流和高電平的輸出電流相同。圖3中R1、R2為1kΩ的電阻,C1、C2、C3為0.1μF的獨(dú)石電容。當(dāng)時(shí)段分割為20,正弦波信號頻率為1180Hz時(shí),圖3中A、B、C三個(gè)端口的輸出波形如圖4所示。
3 CPFSK調(diào)制
軟件調(diào)制是將正弦波分為若干個(gè)時(shí)段,并計(jì)算出每個(gè)時(shí)段內(nèi)高電平和低電平所占用的時(shí)間,這些時(shí)間在單片機(jī)中用軟件延時(shí)實(shí)現(xiàn)。
為了敘述方便,首先定義幾個(gè)符號:
φ――軟件調(diào)制所在的相位;
T――相位角為φ時(shí)對應(yīng)時(shí)段的機(jī)器周期總和;
T1――相位角為φ時(shí)對應(yīng)時(shí)段的高電平機(jī)器周期;
T0――相位角為φ時(shí)對應(yīng)時(shí)段的低電平機(jī)器周期;
T1180――相位角為φ時(shí)頻率為1180Hz正弦波對應(yīng)時(shí)段的機(jī)器周期總和;
T980――相位角為φ時(shí)頻率為980Hz正弦波對應(yīng)時(shí)段的機(jī)器周期總和。
根據(jù)圖2中面積相等,即S1=S2的要求可以得到:
如果單片機(jī)的晶振頻率為11.0592MHz,完成頻率為980Hz的正弦波調(diào)制需要=940個(gè)機(jī)器周期,完成頻率為1180Hz的正弦波調(diào)制需要=781個(gè)機(jī)器周期。20等分能夠?qū)?40整除,得到每個(gè)時(shí)段的機(jī)器周期數(shù)T980=47。但=39余1,如果將余數(shù)1丟掉,就會造成頻率為1180Hz的正弦波頻率誤差變大。實(shí)際編程時(shí)可以將余數(shù)1插補(bǔ)在20個(gè)時(shí)段中的某個(gè)時(shí)段中,也就是19個(gè)時(shí)段為T1180=39個(gè)機(jī)器周期,1個(gè)時(shí)段為T1180=40個(gè)機(jī)器周期。T0和T1的計(jì)算如表2所示。
評論