两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于脈寬等長機制的FSK解調方法與流程

文檔序號:11234598閱讀:1092來源:國知局
一種基于脈寬等長機制的FSK解調方法與流程

本發(fā)明涉及數字信息傳輸領域,特別是一種基于脈寬等長機制的fsk解調方法。



背景技術:

fsk(frequency-shiftkeying,頻移鍵控)是利用載波頻率變化來傳遞數字信息的一種數字調制技術。具有實現容易,抗噪聲與抗衰減的性能好等特點。在電力載波通訊中到了廣泛的應用。如民用智能電表抄表系統(tǒng),電網中遠動信息收發(fā),礦井系統(tǒng)中的遙測遙控傳輸等。

fsk最常用的方法是將二進制數1和0,分別調制為f1與f2兩個頻率不同的雙頻fsk系統(tǒng)。被調制的頻率相對電網頻率高出許多。fsk系統(tǒng)中,“調制”相對簡單,“解調”比較復雜。

fsk信號的解調方式有模擬解調方式與數字解調方式。模擬解調方式中,有參考差分fsk解調和全差分fsk解調。參考差分fsk解調是將fsk載波信號控制偏置電流對電容充電,根據電容上充電電壓與參考電壓通過比較器判決數據是1還是0。全差分fsk解調是利用不同偏置電流對不同的電容進行充電,根據電容上充電電壓差值的大小通過比較器判決數據是1還是0。模擬解調電路容易漂移,是其主要缺點。數字解調方式通常有過零點檢測、正交相乘等,過零點檢測解調方式適用于非常低速率的應用,通訊速率較低。正交相乘解調方式較為復雜的乘法器以與高階數字濾波器,成本較高,電路也較復雜。另外fsk解調電路還可以采用鎖相環(huán)pll的方式實現,包括模擬pll和數字pll。這類解調電路同樣有諸多缺點,功耗較大,電路復雜,成本較高。

隨著智能電網概念的普及,“智能”電器越來越多。智能電器的首要特點是可通訊。因fsk通訊方式無需增設額外的通訊線路,逐成為智能電器可通訊之首選。且智能電網、智能電器相互之間的通訊速率往往較低。

現有的fsk調制與解調方式有多種方法,其中解調方式有相干解調方式和非相干解調等方式,但多不限定對“0”與“1”的調制寬度。這給以高速單片機或dsp為主要控制器件的智能電器的fsk通訊,帶了極大的不便,或增加了電路的復雜性,或降低了解碼的成功率。



技術實現要素:

針對現有技術中存在的問題,本發(fā)明的目的在于提供一種成本低、大幅度簡化了fsk的“硬件調制發(fā)送耦合”電路、避免了數字解調電路的復雜性,克服了模擬解調電路時漂的影響、同時提高了解調的快速性、具有極高的抗干擾能力的基于脈寬等長機制的fsk解調方法。

為了達到上述目的,本發(fā)明采用以下技術方案。

一種基于脈寬等長機制的fsk解調方法,步驟包括:

1)設置碼元個體脈沖最大寬度限定值,設置一楨,即一個字節(jié)的最小寬度時限、最大寬度時限,之后執(zhí)行步驟2);

2)設置下降沿捕獲中斷開啟,設置并清空二個數據緩沖區(qū),設置指向第一數據緩沖區(qū)的指針為數據緩沖區(qū)首地址,清零累加時間數據,之后執(zhí)行步驟3);

3)下降沿捕獲中斷后,將捕獲時間數據保存至指針指向的地址,指針加一,并累加時間數據,之后執(zhí)行步驟4);

4)當本次捕獲時間數據大于個體脈沖最大寬度限定值,則執(zhí)行步驟2),否則執(zhí)行步驟5);

5)當累加時間數據在一楨最小寬度時限與最大寬度時限之間,則建立完成接收一楨標志so,否則等待下一次中斷,之后執(zhí)行步驟6);

6)主程序檢測so標志,當so=1時,將第一數據緩沖區(qū)里的數據,轉移到二數據緩沖區(qū),并清空第一數據緩沖區(qū),之后執(zhí)行步驟7);

7)主程序對第二數據緩沖區(qū)以逐個t為單位進行計算,設置解碼字節(jié)ud=00h,解碼次數=8,設置指針指向從第二數據緩沖區(qū)首地址a0,之后執(zhí)行步驟8);

8)累加指針地址里的時間數據,直到等于大于t,此時的地址記號為a1,之后執(zhí)行步驟9);

9)在a0到a1地址中,設符合“0”碼元時限的個數n,符合“1”碼元時限的個數m,當n≥m,則解碼結果為“0”;否則,解碼結果為“1”,將解碼結果賦值ud的最高位后,ud循環(huán)右移一位,指針地址+1記號為a0,累加器清零,之后執(zhí)行步驟10);

10)當解碼次數減1不為零時,返回步驟8,當解碼次數減1為零時,完成一楨解碼。

采用上述技術方案后,本發(fā)明具有以下有益效果:

1、為了大幅度降低成本,在低速fsk通訊場合,常采用高速單片機、dsp為核心元件進行調制與解調,可大幅度簡化fsk調制發(fā)送電路與fsk信號接收電路。

2、調制方,高速單片機或dsp,采用定時中斷、查表等方式,對待調制字節(jié)采用t0脈沖n個數或t1脈沖m個數或不同的組合形式進行調制,直接通過端口發(fā)送,從而大幅度簡化了fsk的“硬件調制發(fā)送耦合”電路。

3、接收方,高速單片機或dsp,采用邊沿捕獲、外部觸發(fā)中斷等方式,直接獲取碼元寬度時間值及個數。fsk信號由程序進行解調還原,從而避免了數字解調電路的復雜性,克服了模擬解調電路時漂的影響。

4、fsk信號解調還原,依據脈寬等長機制,查找總寬度內最接近標稱值的碼元序列,在該序列中,只要有1個碼元與標稱值的碼元相吻合,即可解調出二進制位值,從而大大降低了解調的復雜性,同時提高了解調的快速性。

5、本方法具有極高的抗干擾能力。

6、作為智能電器的主控制器,高速單片機或dsp在完成主要監(jiān)控任務的同時,可兼顧fsk的調制與解調任務,大幅度降低總體成本。

綜上所述,本發(fā)明基于脈寬等長機制的的fsk調制與解調方法,調制方法簡單,解調可靠性高,抗干擾能力強,快速性好,可廣泛使用于智能電器等多種場合。

附圖說明

圖1是本發(fā)明基于脈寬等長機制的fsk調制方法原理圖。

圖2是本發(fā)明基于脈寬等長機制的fsk調制方法的流程圖。

圖3是本發(fā)明基于脈寬等長機制的fsk解調方法的流程圖。

圖4是本發(fā)明基于脈寬等長機制的fsk調制方法抗干擾原理圖解之一。

圖5是本發(fā)明基于脈寬等長機制的fsk調制方法抗干擾原理圖解之二。

具體實施方式

下面根據說明書附圖和具體實施例對本發(fā)明作進一步的解釋。

如圖1所示,對“0”進行調制,采用的碼元寬度t0=11.25us,碼元個數n=9,調制頻率f0約等于88.88khz,總的調制時間t等于101.25us;對“1”進行調制,采用的碼元寬度t0=10.125us,碼元個數m=10,調制頻率f0約等于98.76khz,總的調制時間t等于101.25us。調制中心頻率約為93.56khz。fsk有效數據速率可達9.8kbit/s。

一種基于脈寬等長機制的fsk調制方法,步驟包括:

1、定時器初始化

1)取出一個待調制發(fā)送的字節(jié),設置“字節(jié)循環(huán)次數a”為8位(次);

2)判斷待調制發(fā)送字節(jié)的最低位,當最低位為“0”時,設置定時器中斷“位循環(huán)次數b”為9次,定時中斷常數為11.25us;當最低位為“1”時,設置定時器中斷“位循環(huán)次數b”為10次,定時中斷常數為10.125us;

3)開放定時器中斷,輸出端口置高電平,啟動定時器定時。

2、定時中斷(如圖2所示)

1)將輸出端口取反,之后執(zhí)行步驟2);

2)位循環(huán)次數b減去1后判斷是否為零,如果不為零執(zhí)行步驟3);如果為零,建立ob標志,執(zhí)行步驟4);

3)重置定時常數,退出中斷;

4)字節(jié)循環(huán)次數a減去1后判斷是否為零,如果不為零執(zhí)行步驟5);如果為零執(zhí)行步驟6);

5)待調制的字節(jié)右移1位,之后執(zhí)行步驟7);

6)ov=1,建立調制字節(jié)發(fā)送完成標志,供主程序查詢。

7)判斷最高位是否為1,如果不是1執(zhí)行步驟8);是1執(zhí)行步驟9);

8)設置位循環(huán)次數b=9,定時器時間常數t=11.25us,之后執(zhí)行步驟10);

9)設置位循環(huán)次數b=10,定時器時間常數t=10.125us,之后執(zhí)行步驟10);

10)退出中斷。

一種基于脈寬等長機制的fsk解調方法,步驟包括:

1、數據捕獲

1)設置下降沿捕獲中斷開啟,設置向數據指針指向第一數據緩沖區(qū)的首地址,開啟一個定時器,清零累加時間數據;

2)下降沿捕獲中斷后捕獲定時器的當前時間值數據,減去上次的捕獲數據得到本次捕獲的真值,保存至第一數據緩沖區(qū),數據指針加1,捕獲時間累加和加上本次捕獲的真值。

3)判斷捕獲時間累加和,是否大于等于一個字節(jié)的時間寬度(如101.25us×8位)。小于時,等待下一次捕獲中斷,執(zhí)行步驟2);大于時,清零捕獲時間累加和,建立完成接收一楨標志so并進行數據備份。

2、數據備份

將第一數據緩沖區(qū)里的數據,備份至第二數據緩沖區(qū),同時清空第一數據緩沖區(qū)。

3、數據解調(如圖3所示,針對第二數據緩沖區(qū))

1)解調初始化包括:設置解碼次數q=8,默認解碼字節(jié)ud=00,指針指向數組首地址a0,時間數據累加和t清零,設置碼元“0”的寬度值,設置碼元“1”的寬度值,設置位寬度時間值t=101.25us,之后執(zhí)行步驟2);

2)逐個累加指針地址里的時間數據,直到等于大于t,此時的指針地址記號為a1,之后執(zhí)行步驟3);

3)令第二數據指針指向地址a0,在a0到a1地址段中,對碼元個體時間值進行計算準備,之后執(zhí)行步驟4);

4)計算碼元“0”的個數n,之后執(zhí)行步驟5);

5)計算碼元“1”的個數m,之后執(zhí)行步驟6);

6)判斷n是否大于等于m,大于等于是,執(zhí)行步驟8);否則執(zhí)行步驟7);

7)解碼結果為“1”,置位解碼字節(jié)最高位,之后執(zhí)行步驟8);

8)解碼字節(jié)左移1位,之后執(zhí)行步驟9);

9)將解碼次數q減去1后判斷是否為零。如果不為零,執(zhí)行步驟10);如果為零,執(zhí)行步驟11);

10)時間數據累加和t清零,數據指針地址更新a1為a0,執(zhí)行步驟2);

11)完成一楨解碼,解碼結束。

如圖4所示,盡管碼元個數不變,但碼元個體寬度時間值受到了嚴重干擾。在一個等長調制脈t0(t0=t)的寬度內,只要碼元p1或p2符合標稱值寬度,即可解調出“0”;在一個等長調制脈t1(t1=t)的寬度內,只要碼元p1符合標稱值寬度,即可解調出“1”。

如圖5所示,碼元個體寬度時間值受到嚴重干擾,碼元個數也方式了變化。但在t0(t0=t),的寬度內,碼元p1及p4符合“0”要求,故計數值n=2;碼元p5符合“1”要求,故計數值m=1。因n大于m,可解調出“0”。在t1(t1=t),的寬度內,碼元p1及p4符合“1”要求,故計數值m=2;碼元p5符合“0”要求,故計數值n=1。因n小于m,可解調出“1”。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
东阿县| 民丰县| 丁青县| 密云县| 新泰市| 临江市| 孝感市| 桐梓县| 开远市| 嘉定区| 定结县| 乐清市| 陕西省| 肇庆市| 赤城县| 陕西省| 安阳市| 阿鲁科尔沁旗| 皋兰县| 扎兰屯市| 台东市| 彰化市| 高淳县| 英德市| 双牌县| 松溪县| 阿荣旗| 玛沁县| 崇仁县| 微山县| 综艺| 普陀区| 大冶市| 大厂| 平罗县| 望都县| 临潭县| 阿克陶县| 沧州市| 施秉县| 襄樊市|