999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

iOS系統尋衛星參數計算器的設計

2016-11-01 08:51:12
電視技術 2016年10期
關鍵詞:衛星天線

周 灝

(蘇州廣播電視總臺,江蘇 蘇州 215006)

?

iOS系統尋衛星參數計算器的設計

周灝

(蘇州廣播電視總臺,江蘇蘇州215006)

鑒于數字衛星新聞采集在電視傳輸的廣泛應用,方便、快速和準確地尋找衛星變得非常重要。依靠iOS系統的設備,iOS衛星參數計算器軟件能夠輕易地在移動電話上使用,因此它也可以成為許多包含有衛星參數計算器功能的天線控制器的備件。首先,介紹了尋找衛星的幾個參數,之后提出了核心計算方法。最后,仿真器測試和iPhone測試表明該軟件可以支持快速尋找衛星。

iOS;DSNG;尋星參數

1 衛星傳輸

為了實現新聞的快速報道,廣電工作者通常采用3G、4G以及衛星傳輸等方式,由于基站以及帶寬方面的限制,有大型新聞事件時,為確保傳輸質量,通常采用衛星直播連線的方式。在衛星連線中,尋星是非常重要的,尋星的關鍵是調整到正確的俯仰角、方位角和極化角以搜尋衛星信標。許多有自動尋星的衛星天線控制器也是通過調整這3個角度參數完成尋星的,但是利用設備自動尋星往往耗時長,為爭取時間,對于常用的幾顆衛星,通常采用手動尋星的方式,即手動控制天線控制器完成衛星天線的俯仰角、方位角和極化角的調整。該方法需要一個能夠根據當地經緯度坐標精確計算衛星天線3個角度參數的軟件,經過調查發現智能手機幾乎都有GPS定位的功能,因此可以設計一個軟件,根據手機內部的GPS定位信息獲得當地經緯度,根據選擇衛星的經度,進而計算出衛星天線的3個角度參數,完成尋星。

在智能手機中,鑒于蘋果公司的iPhone智能手機具有較高的市場占有量,以及系統穩定等特點,本文的軟件選定在蘋果iOS系統上進行開發實驗。

2 衛星天線的重要參數

在調節拋物面天線接收衛星信號時,關鍵在于調節3個參數,即天線的俯仰角、方位角和極化角。

根據文獻[1-3],首先介紹位置矢量的概念,位置矢量就是從接收點指向同步衛星的矢量。

天線俯仰角是位置矢量與地平面的夾角,如圖1所示。

圖1 天線俯仰角示意圖

對于偏饋天線,由于其高頻頭不在天線的中心軸線上,高頻頭與天線的中心軸線之間存在一個偏饋角,所以此時的偏饋天線俯仰角等于正饋天線的俯仰角加上偏饋角。

天線方位角是位置矢量在地平面的投影與接收點正南方向的夾角,如圖2所示。

圖2 天線方位角示意圖

天線極化角是順著電磁波傳輸方向,接收點地平面與水平極化波電場平面之間的夾角。在接收天線的口面上,極化角就是水平極化波電場矢量與水平方向之間的夾角,或者垂直極化電場矢量與垂直方向之間的夾角,如圖3所示。

圖3 天線極化角示意圖

根據文獻[3],得到衛星接收天線仰角和方位角如下

(1)

(2)

(3)

式中:θ為地面站的緯度值;φ1為地面站的經度;φSAT為衛星在地球上的投影所對應的經度。

3 軟件編寫

本軟件編寫采用的是蘋果公司的XCODE7.1,iPhone的iOS9.1系統做為真機測試。

對于iOS移動設備的定位,即獲取當地的地理經度、緯度坐標,主要來源于3種渠道。第一,GPS系統,美國政府發射了多顆衛星組成全球定位系統(GlobalPositionSystem),利用GPS接收器就可以獲得當地的經緯度信息。該方法得到的經緯度坐標較準確,不過比較費電,而且需要接收地點相對空曠,在隧道以及密集的樓宇之間往往接收不到信號。第二,蜂窩通信基站,各大移動通信商都在當地有著眾多的蜂窩通信基站用于信號傳輸,手機可以利用離它很近的蜂窩基站近似定位自己的位置。該方法得到的經緯度精度低于GPS,它取得定位位置實際上是移動通信基站的位置,但是只要有移動通信信號,樓道里面也可以獲得定位信息。第三,WiFi定位,通過查詢一個WiFi路由器的地理位置的信息。該方法最省電,不依賴衛星,也不依賴基站,不過精度也最差。

以上3種定位方式中,GPS定位的精度最佳,如果設備里面含有GPS接收器,iOSSDK的設備定位框架CoreLocation會首先使用GPS。如果沒有GPS接收器硬件,或者GPS無法獲取當地位置時,CoreLocation才會采用蜂窩基站或者WiFi。

3.1定位并獲取當地經緯度

首先,繪制軟件界面。該界面需要有當地經緯度、地圖顯示、衛星經度,以及計算出當地尋找衛星時天線需要調節的俯仰角、方位角和極化角。最后需要一個地圖顯示當地的地理位置,其界面布局如圖4所示。

圖4 軟件布局圖(截圖)

其中,定位并獲得當地經緯度的主要程序如下:

- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocationfromLocation:(CLLocation *)oldLocation

{

if (wasFound) return;

wasFound = YES;

CLLocationCoordinate2Dloc = [newLocationcoordinate];

longitude.text = [NSStringstringWithFormat:@"%f", loc.longitude];

latitude.text = [NSStringstringWithFormat:@"%f", loc.latitude];

}

CoreLocation中使用CLLocationManager對象來做用戶定位,CLLocation對象包含定點相關的信息,有以下幾個主要屬性,coordinate,altitude,horizontalAccuracy,verticalAccuracy,timestamp等。

Loc是CLLocation的實例,在core Location框架中用來存儲CLLocationCoordinate2D實例的coordinate,包含longitude(經度)和altitude(緯度)的結構。

可以輸入本地經緯度的初始參數,以蘇州為例,軟件輸入的本地經度為120.634 195,本地緯度為31.293 51。為了讓軟件計算有更好的精度,數據都采用浮點型的格式,保留小數點后6位。

本軟件定位的基本步驟如下:

1)先啟動CLLocationManager ,使用startUpdatingLocation方法啟動所有定位硬件,反之,通過調用stopUpdatingLocation方法關閉定位服務器更新,為了省電必須在不用的時候調用該方法關閉定位服務。自iOS6.0版本開始,蘋果公司在保護用戶的隱私權利上有較大進步,首次訪問用戶的位置時,需要獲得用戶的授權。此外,該程序還會判斷用戶的定位服務是否已經打開,本程序自動設定永久打開。用戶也可以在手機設定中手動關閉定位服務。

2)定位服務開啟之后,隨著設備的不斷移動,需要根據需要更新當前的地理位置坐標,判斷定位精度有多個標準,即kCLLocationAccuracyNearestTenMeters,10 m,kCLLocationAccuracyHundredMeters,100 m,kCLLocationAccuracyKilometer,1 000 m,kCLLocationAccuracyThreeKilometers,3 000 m,kCLLocationAccuracyBest,最好的精度。本軟件采用最高精度,精度越高,定位越頻繁,移動設備的耗電量也會比較高。

3)開啟定位委托,獲取經緯度信息。CLLocationManagerDelegate是定位服務的委托,常用的位置變化回調方法是:

locationManager:didUpdateToLocation:fromLocation: locationManager:didFailWithError。

CLLocationManager 是定位服務管理類,用CLLocation的實例 CLLocationCoordinate2D來得到coordinate的結構,取coordinate的經緯度信息,并用浮點型的形式記錄。

3.2顯示當地地圖的程序

插入一個地圖控件,選擇Map View控件,對該控件寫入相應的程序如下。

先在viewDidLoad方法里面用setShowsuserLocation來實現地圖定位,設置Map View的委托類如下:

- (void)viewDidLoad {

[self.mapViewsetDelegate:self];

[self.mapViewsetShowsUserLocation:YES];

[superviewDidLoad];

}

設置Map View的委托為自身,并確定標注自身位置。

實現地圖顯示程序如下:

-(void)mapView:(MKMapView*)mapViewdidUpdateUserLocation:(MKUserLocation *)userLocation {

CLLocationCoordinate2Dloc= [userLocationcoordinate];

MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(loc, 1500, 1500);

[self.mapViewsetRegion:regionanimated:YES];

}

MKMapView可以通過 setShowsUserLocation:YES這個方法來獲取自己的位置,并且當地圖更新自己的位置后會調用如下程序中一個協議的委托方法以實現地圖定位:

-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation

首先,在viewDidLoad方法里,調用setShowsUserLocation方法來實現地圖的定位,并且設置MapView的委托類,本程序中設置委托為自己,即self.mapview setDelegate:self,再標注自身位置self.mapView setShowsUserLocation:YES。

最后,通過如下方法來定位用戶當前位置,并以此為中心顯示地圖:

-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation

其中,MKCoordinateRegionMakeWithDistance(loc,1 500,1 500)是顯示地圖放大的程度,兩個1 500分別表示顯示的高度以及顯示半徑。

3.3計算天線參數

在通過CLLocation獲得當地定位的經緯度信息后,根據經緯度以及設定的衛星經度信息,根據式(1)~(3),計算相應天線調節的俯仰角、方位角和極化角。點擊“計算”按鈕,計算天線方位角的程序為:

newlong =[longitude.textfloatValue];//當地經度

newsat = [_satlong.textfloatValue];//選擇衛星的經度

longdelta = (newlong-newsat)* 3.1415926/180;//選擇衛星的經度與當地經度之差

newlat = [latitude.textfloatValue];//當地緯度

latitudehudu = newlat*3.1415926/180;//當地緯度換算為弧度值

azimhudu = atanf(sinf(longdelta)/(cosf(longdelta)*sinf(latitudehudu)));

if (azimhudu*180/3.1415926<0) {

azimlabel.text = @"南偏東";

}

else

{

azimlabel.text = @"南偏西";

}

_azim.text= [NSStringstringWithFormat:@"%f", azimhudu*180/3.1415926];

注意到計算中,需要把角度值換算為弧度值進行數學運算。該計算方法中,方位角為正南時,其方位角為0。該值小于0時,表示為南偏東;否則,為南偏西。

同樣方法計算俯仰角:

elevhudu = atanf((cosf(latitudehudu)*cosf(longdelta)-0.15127)/sqrtf(1-cosf(longdelta)*cosf(longdelta)*cosf(latitudehudu)*cosf(latitudehudu)));

_elev.text = [NSStringstringWithFormat:@"%f", elevhudu*180/3.1415926];

計算極化角:

polhudu = -1*atanf(sinh(longdelta)/(tanf(latitudehudu)));

if (polhudu*180/3.1415926>0) {

pollabel.text = @"逆時針";

}

else

{

pollabel.text = @"順時針";

}

_ pol.text=[NSStringstringWithFormat:@"%f",polhudu*180/3.1415926];

該弧度值大于0時,從電磁波入射方向來看,為逆時針旋轉,否則即為順時針旋轉。

4 軟件仿真

在Xcode里面用simulator進行仿真,顯示如圖5所示。

圖5 軟件界面仿真圖(截圖)

在仿真器里需要設置定位信息,參考位置如圖6所示。選中香港作為定位,得到地圖顯示如圖7所示。選擇衛星經度時,鍵盤彈出時會覆蓋天線的角度參數,如圖8所示。

圖6 定位坐標圖(截圖)

圖7 模擬器仿真圖(截圖)

圖8 輸入衛星經度(截圖)

需要在寫好衛星經度時消除鍵盤,否則鍵盤會遮擋天線的一些參數,消除鍵盤的程序為:

-(IBAction)backgroundtap:(id)sender;

本地經度、本地緯度、衛星經度以及3個衛星天線角度參數這些需要鍵盤輸入數值的地方,都需要消除鍵盤,所以程序編寫如下:

- (IBAction)backgroundtap:(id)sender {

[longituderesignFirstResponder];

[latituderesignFirstResponder];

[_satlongresignFirstResponder];

[_elevresignFirstResponder];

[_polresignFirstResponder];

[_azimresignFirstResponder];

}

軟件仿真得到衛星天線參數,如圖9所示。

圖9 衛星參數的模擬器仿真圖(截圖)

之后在iPhone5c手機上,iOS系統為9.0版本,以蘇州本地的環境真機測試,結果如圖10所示。

圖10 真機測試結果圖(截圖)

經過真機測試,該軟件能夠在iPhone手機上順利運行,較快可以獲取當地地圖、經緯度坐標,根據所需尋找的衛星經度,準確計算出衛星天線的3個角度參數,能夠幫助工程技術人員迅速尋找衛星,節約時間。

5 結語

本文以工作中的實際遇到的問題為例,提出了在iPhone手機上制作iOS系統的工作軟件,該軟件可以利用iPhone手機內置的定位系統迅速獲得經緯度,并通過所要尋找的衛星的經度,計算可以得到天線的俯仰角、極化角、方位角。該軟件對于手動迅速尋星有直接的幫助。經過實際檢測,該軟件計算速度較快,精度較高,能夠滿足衛星天線調節的要求。由于作者經驗不足,論文中間的不當之處,請批評指正。

[1]車晴,張文杰,王京玲.數字衛星廣播與微波技術[M].北京:中國廣播電視出版社,2003.

[2]鄧四化. 衛星接收天線仰角和方位角計算公式的推導[J]. 中國有線電視,1998(8):45-46.

[3]陳建林,周灝,張姍姍. Windows Mobile嵌入式手機天線參數計算器的設計[J]. 電視技術,2011,35(18):78-80.

Design of iOS satellite searching parameter calculator

ZHOU Hao

(SuzhouBroadcastingSystem,JiangsuSuzhou215006,China)

Considering digital satellite news gathering (DSNG) is widely used in TV transmission,the convenience, high speed and accuracy is important in satellite searching. Based on iOS instruments, the iOS satellite parameter calculator software, which is shown in this paper, can be easily used in cell phone, so that it can be a standby instrument for many antenna controllers which may always contain satellite parameter calculator. Firstly, in this paper,satellite searching parameters are introduced, then the kernel calculating method is described.At last, simulator tests and iPhone tests indicate that this software can support satellite searching rapidly.

iOS;DSNG;satellite searching parameters

TN949

BDOI:10.16280/j.videoe.2016.10.017

2015-10-23

文獻引用格式:周灝.iOS系統尋衛星參數計算器的設計[J].電視技術,2016,40(10):82-87.

ZHOU H.Design of iOS satellite searching parameter calculator[J].Video engineering,2016,40(10):82-87.

周灝,蘇州廣電總臺技術中心傳輸工程師。

責任編輯:時雯

猜你喜歡
衛星天線
“動中通”衛星天線的饋源優化設計
科技傳播(2019年22期)2020-01-14 03:06:28
基于不同參考框架的GPS衛星天線校驗
衛星天線復合材料框架的鋪層優化設計
衛星天線接收調試和維護的幾大重點
移動信息(2016年9期)2016-12-31 09:31:33
含鉸鏈間隙板式衛星天線展開精度分析
天翌全系列衛星天線制造商
一種新型衛星天線尋星儀的設計構想
衛星天線接收調試和維護的幾大重點
科技傳播(2015年16期)2015-10-24 20:03:06
發射臺節傳機房衛星接收設備原理與故障探析
科教導刊(2015年21期)2015-08-05 16:51:05
衛星天線的最前沿
衛星與網絡(2013年1期)2013-06-05 08:21:58
主站蜘蛛池模板: 嫩草影院在线观看精品视频| 欧美不卡视频一区发布| 精品视频在线一区| 久久久国产精品无码专区| 亚洲日韩精品伊甸| 欧美一级夜夜爽www| 亚洲不卡影院| 亚洲美女一级毛片| 国产欧美视频在线观看| 91精品啪在线观看国产91| 亚洲第一视频免费在线| 久久精品人人做人人| 一个色综合久久| 欧美a在线看| 亚洲码一区二区三区| 国产噜噜在线视频观看| 亚洲国产精品无码久久一线| 伊人91视频| 国产亚洲欧美另类一区二区| 大乳丰满人妻中文字幕日本| 国产欧美日本在线观看| 欧美精品xx| 亚洲国产中文在线二区三区免| 一级做a爰片久久免费| 久热这里只有精品6| 亚洲精品卡2卡3卡4卡5卡区| 国产一区二区福利| 亚洲综合九九| 国产精品无码翘臀在线看纯欲| 日韩天堂网| 久久久国产精品无码专区| 91福利片| 色综合中文综合网| 亚洲人成网站观看在线观看| 老色鬼久久亚洲AV综合| 小13箩利洗澡无码视频免费网站| 亚洲h视频在线| 国产高清国内精品福利| 三级欧美在线| 色综合久久久久8天国| 欧美一级夜夜爽| 亚洲国产精品日韩av专区| 最新国产麻豆aⅴ精品无| 久久综合九九亚洲一区| 91久久精品国产| 国产免费黄| 成人在线第一页| www.日韩三级| 日本成人精品视频| 亚洲天堂伊人| 亚洲国产精品无码久久一线| 国产亚洲精品97AA片在线播放| 女人毛片a级大学毛片免费| 在线日韩日本国产亚洲| 欧美午夜在线观看| 九九热精品在线视频| 毛片免费在线视频| 无码内射在线| 亚洲婷婷丁香| a毛片免费在线观看| 亚洲中文字幕在线一区播放| 国产凹凸视频在线观看| 国产剧情一区二区| 不卡视频国产| 国产小视频在线高清播放| 日韩AV无码一区| 欧美人与性动交a欧美精品| 国产免费a级片| 亚洲男人的天堂网| 亚洲无码日韩一区| 免费看美女毛片| 中文字幕天无码久久精品视频免费| 97视频精品全国免费观看| 久久婷婷五月综合97色| 成人福利在线免费观看| 久久夜色精品国产嚕嚕亚洲av| 国产福利免费观看| 亚洲品质国产精品无码| 操操操综合网| 凹凸国产分类在线观看| 毛片国产精品完整版| 91成人在线免费观看|