國家新聞出版廣電總局無線電臺管理局 劉春學
中短波發射機提前倒頻自動計算方法的研究
國家新聞出版廣電總局無線電臺管理局 劉春學
本文分析了短波發射機在不同播出任務間切換時實際操作時間的自動計算問題,提出了在臺運行管理系統上,對發射機的實際操作時間進行計算的設想,并結合實際業務需求對實現算法進行了初步研究。
發射機;運行圖;時間片;調度令
目前,中短波發射機是按照運行圖進行播音的,運行圖由不同任務片組成,由調度系統統一下發,該運行圖只包含任務執行時間,而不是發射機實際操作時間,為了保證播音效果,發射機的實際操作時間需要根據不同類型和相鄰任務類型,將任務時間換算成操作時間,該過程即提前倒頻計算。按照節目用途的不同,節目任務片分為廣播節目和對內廣播節目,不同的節目類型的具體倒頻規則如下:
對外廣播節目:對外廣播類的節目需要保障其開始播音時間能夠準時播出,因此不管其前面是什么類型的任務,其開始時間都要提前一個準備時間(如3分鐘),將相應的技術參數(功率、天線、路由、頻率、節目源等)都調整到對外節目的技術參數,以保證該節目在開始時間能夠準時播出。
對內廣播節目:對內廣播節目的倒頻時間需要看當前任務前面是否有任務,如果有任務,不管是什么類型的任務,其開始播音時間都不提前,只有當當前任務前面沒有播音任務時才需要將開始播音時間提前。
臺運行管理系統是中短波發射臺的運行核心,負責接收并分發調度系統下發的播音運行圖,完成發射臺播音設備(發射機、天線、節目源)的統一調度,因此提前倒頻計算需在臺運行管理系統分發運行圖之前提前將任務運行圖轉化為操作運行圖,因此提前倒頻算法的效率和準確性直接關系到中短波發射臺的播音效果。
兩個播出任務,如果滿足如下兩個條件:1)第一個播出任務的結束播音時間和第二個播出任務的開始播音時間相同;2)所用發射機或天線資源沖突。
要判斷第二個播出任務是否為對外廣播或對內少數民族廣播,如果是,則將第一個播出任務的結束播音時間和第二個播出任務的開始播音時間改為五十七分或二十七分。
對于開始播音時間之前資源均空閑的播出任務,則將開始播音時間修改為五十七分或二十七分。
對內廣播任務參照對內廣播節目的操作時間。
臺運行管理系統收到新的調度令時,在更新現有運行圖的同時,按照上述規則,更新實際操作時間運行圖。
提前倒頻操作整體上分為開任務和停任務兩種任務處理,每種任務里又分包含對上一時段和下一時段的處理,上一時段和下一時段里又分為零點的非零點的處理。由于零點是特殊情況,將涉及零點的情況單獨分出來進行處理。總共分成16種情況進行處理。由于篇幅原因,下面僅以“對外廣播類任務的非零點情況”為例進行分析說明。
1)開任務,上一時段

圖1 開任務上一時段示意圖
說明:如圖1所示,綠色任務塊為新增的開任務,藍色標示處為此處邏輯要處理的地方;
處理流程見圖2(開任務,上一時段)
具體處理過程(開對外廣播任務,上一時段)(如:開任務2∶00-3∶00執行)
ⅰ.從原運行圖中查詢上一時段(結束時間為2∶00)的任務。查詢運行圖的條件為:開始執行日期=新任務開始執行日期;周期=新任務周期。
ⅱ.遍歷每一個任務,對每個任務遞歸查詢新運行圖表關聯的所有記錄;遍歷從新運行圖表中查詢的所有記錄。
ⅲ.對每條新運行圖表中的記錄,計算與新任務的“相交時段”(日期時段相交)。
ⅳ.如果有相交時段,針對新運行圖表中的記錄,判斷是否需要切分前一段:(條件:原任務開始日期在時段交集,開始日期之前)拆分前一段為:原任務開始日期-時段交集。開始日期-1,時間和周期信息不變;判斷是否需要切分后一段:(條件∶ 時段交集有結束日期且(原任務無結束日期或原任務結束日期>時段交集結束日期))拆分后一段為:交集時段開始日期+1-原任務結束日期,時間周期不變;直接求周期交集,周期相同時周期交集和兩者相同:(周期不一定有交集, 從新表查出的任務可能被拆分成多條,不一定全部有關聯;)交集時段任務∶交集時段開始日期->交集時段結束日期,交集時段開始時間=原任務開始時間;交集時段結束時間=原任務結束時間-3分,周期=周期交集;判斷是否有周期補集, 添加補集任務(結束時間不變),交集時段開始日期->交集時段結束日期,時間不變,周期=(新任務周期-周期交集)。
ⅴ.如果原任務進行了拆分,則停掉原任務。

圖2 開任務上一時段處理流程圖
2)開任務,下一時段

圖3 開任務下一時段示意圖
說明:如圖3所示,綠色任務塊為新增的開任務,藍色標示處為此處邏輯要處理的地方;
處理流程見圖4(開任務,下一時段)

圖4 開任務下一時段處理流程圖
具體處理過程(開對外任務,下一時段)(如:開任務 2∶00-3∶00執行)
ⅰ.從原運行圖中查詢下一時段(開始時間為3∶00)的任務,[時段相交,周期相交]。查詢運行圖的條件為:開始執行日期=新任務開始執行日期,周期=新任務周期。
ⅱ.遍歷每一個任務。對每個任務, 如果不是對外廣播任務,遍歷從新運行圖表中所有有效記錄,對每條新運行圖表中的記錄,計算與新任務的“時段交集”。
ⅲ.如果時段有相交(由于下一時段是對內廣播任務,不需要拆分前一段任務,需要拆分后一段任務),針對新運行圖表中的記錄,判斷是否需要切分前一段。(條件:原任務開始日期在時段交集開始日期之前)拆分前一段為:原任務開始日期->時段交集開始日期-1,時間和周期信息不變。
ⅳ.判斷是否需要切分后一段:(條件∶ 時段交集有結束日期且原任務無結束日期或原任務結束日期>時段交集結束日期)拆分后一段為:交集時段開始日期+1->原任務結束日期,時間周期不變。直接求周期交集,周期相同時周期交集和兩者相同:周期不一定有交集,從新表查出的任務可能被拆分成多條,不一定全部有關聯;交集時段任務:交集時段開始日期->交集時段結束日期,開始時間=原任務開始時間+3分,周期=周期交集。
ⅴ.判斷是否有周期補集,添加補集任務(結束時間不變):交集時段開始日期->交集時段結束日期,時間不變,周期=新任務周期-周期交集。如果原任務進行了拆分,則停掉原任務。
ⅵ.對每個任務,如果是對外廣播任務。注:拆分的是新任務,而不是從新運行圖表中查到的原任務。遍歷從新運行圖表中查詢的所有有效記錄。對每條新運行圖表中的記錄, 計算與新任務的“時段交集”。
ⅶ.如果時段有相交(由于后一時段是對外任務,需要拆分前一段任務, 即拆分的是新任務)。針對新運行圖表中的記錄,判斷是否需要切分前一段。條件∶ 新任務.開始日期在時段交集開始日期之前。拆分前一段為:新任務開始日期->時段交集開始日期-1,時間和周期信息不變。
ⅷ.判斷是否需要切分后一段。條件:時段交集有結束日期且(新任務無結束日期或新任務結束日期>時段交集結束日期。拆分后一段為:交集時段開始日期+1->新任務結束日期,時間周期不變。直接求周期交集, 周期相同時周期交集和兩者相同。周期不一定有交集, 從新表查出的任務可能被拆分成多條, 不一定全部有關聯。交集時段任務:交集時段開始日期->交集時段結束日期,結束時間=新任務結束時間-3分,周期=周期交集;判斷是否有周期補集,添加補集任務(結束時間不變)。交集時段開始日期->交集時段結束日期,時間不變,周期=新任務周期-周期交集。
3)停任務,上一時段

圖5 停任務上一時段示意圖
說明:如圖5所示,紅色任務塊為新增的停任務,藍色標示處為此處邏輯要處理的地方;
處理流程見圖6(停任務,上一時段)

圖6 停任務下一時段處理流程圖
具體處理過程(停對外任務,上一時段)(如:停任務 2∶00-3∶00執行)
ⅰ.從原運行圖中查詢上一時段(結束時間為2∶00)的任務。查詢運行圖的條件為:開始執行日期=新任務開始執行日期,周期=停任務周期。
ⅱ.遍歷每一個任務。查詢對應的新運行圖表中的記錄,對每條新運行圖中的任務做以下處理:針對上一時段的每個任務,判斷是否需要切分原任務的前一段,判斷條件:新任務開始日期在相交時段開始日期之前。拆分前一段為:新任務開始日期->相交時段開始日期-1,開始時間、周期信息不變。
ⅲ.判斷是否需要切分原任務的后一段,判斷條件:相交時段有結束日期且新任務無結束日期或新任務結束日期>相交時段結束日期。拆分后一段為:相交時段開始日期+1->新任務結束日期,開始時間、周期信息不變;交集時段開始日期->交集時段結束日期,交集時段開始時間=原任務開始時間,交集時段結束時間=原任務結束時間+3分,周期=周期交集;相交時段.開始日期 ->相交時段.結束日期,時間不變,周期=(原任務.周期-周期交集)。
ⅳ.如果原任務進行了拆分,則停掉原任務。
4)停任務,下一時段

圖7 停任務下一時段示意圖
說明:如圖7所示,紅色任務塊為新增的停任務,藍色標示處為此處邏輯要處理的地方;
處理流程見圖8((停任務,下一時段)

圖8 停任務下一時段處理流程圖
具體處理過程(停對外任務,下一時段)(如:停任務 2∶00-3∶00執行)
ⅰ.從原運行圖中查詢下一時段(開始時間為3∶00)的任務,[時段相交,周期相交]。查詢條件為:開始執行日期 = 新任務.開始執行日期,周期=新任務周期。
ⅱ.遍歷每一個任務。如果是對外任務,不做處理;如果非對外任務, 進入以下處理;查詢對應的新運行圖表中的記錄,對每條新運行圖中的任務做以下處理,針對上一時段的每個任務:判斷是否需要切分原任務的前一段:判斷條件∶ 新任務開始日期在相交時段開始日期之前,拆分前一段為:新任務開始日期->相交時段開始日期-1,開始時間、周期信息不變。
ⅲ.判斷是否需要切分原任務的后一段:判斷條件:相交時段有結束日期且(新任務無結束日期或新任務結束日期>相交時段結束日期)。拆分后一段為:相交時段開始日期+1->新任務結束日期,開始時間、周期信息不變;交集時段開始日期->交集時段結束日期,交集時段開始時間=原任務開始時間,交集時段結束時間=原任務結束時間-3分,周期=周期交集。
ⅳ.相交時段周期補集任務:對于相交時段判斷是否有周期補集(原任務周期-新任務周期<>空),添加補集任務(結束時間不變)。相交時段開始日期->相交時段結束日期,時間不變,周期=原任務周期-周期交集。
ⅴ.如果原任務進行了拆分,則停掉原任務。
提前倒頻時間對于普通單程式固定天線或偏向天線可以默認為3分鐘,但不是固定不變的,可以具體設置到某幅天線。
轉動天線的倒頻時間與轉動角度有關,角度越大時間越長,就目前各個臺站的轉動天線其倒頻時間從2到7分鐘不等,因此轉動天線不能僅設置單一個時間倒頻時間,應該有一個相應的配置表,用來記錄不同的倒頻角度下的倒頻時間。當然對于轉動天線來說僅從配置上更改是不行的,處理邏輯的細節上也要有充分的考慮。
目前對于單任務類型的設備(如只執行對內任務或者只執行對外任務),可以在單機上設置一個固定的倒頻時間,這樣實現起來簡單不易出錯,也是可行的。
對于在單機上進行提前倒頻功能設置的機房來說,就需要在臺運行管理系統上將相應設備的提前倒頻下發功能關掉,而應該對該設備下發原始的運行圖,這是應該注意的問題。
中短波發射臺提前倒頻時間的計算直接關系到安全播音工作,提前倒頻算法的研究是發射機正確播音的前提,通過算法研究使規則細化為程序處理詳細流程,目前該算法已經應用于中短波發射臺運行管理系統中,經過長時間的運行表明該算法對于中短波廣播任務操作時間的解析準確無誤。
劉春學(1986—),男,山東濰坊人,碩士研究生,現供職于國家新聞出版廣電總局無線電臺管理局,工程師,研究方向:信息化。