このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
Link
説明
Link オブジェクトは、Transmitter に属するリンク解析オブジェクトを定義します。
作成
Transmitter または Receiver オブジェクトの link オブジェクト関数を使用して Link オブジェクトを作成できます。
プロパティ
このプロパティは、Link を呼び出すときにのみ設定できます。Link を呼び出した後、このプロパティは読み取り専用になります。
送信機または受信機の ID。正の数値のベクトルとして指定されます。
リンク ラインの視覚的な幅 (ピクセル単位)。範囲(0 ~ 10] のスカラーとして指定します。
ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。
リンク ラインの色。RGB トリプレット、16 進カラー コード、色名、または短い名前として指定します。
カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。
RGB 3 成分は、色の赤、緑、青成分の強度値を指定する 3 要素の行ベクトルです。強度値は
[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。16 進数カラー コードは、ハッシュ記号 (
#) で始まり、3 桁または 6 桁の0からFまでの範囲の 16 進数が続く string スカラーまたは文字ベクトルです。これらの値では大文字小文字は区別されません。したがって、カラー コード"#FF8800"、"#ff8800"、"#F80"、および"#f80"は等価です。
あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。
| 色名 | 省略名 | RGB 3 成分 | 16 進数カラー コード | 外観 |
|---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" |
|
"green" | "g" | [0 1 0] | "#00FF00" |
|
"blue" | "b" | [0 0 1] | "#0000FF" |
|
"cyan" | "c" | [0 1 1] | "#00FFFF" |
|
"magenta" | "m" | [1 0 1] | "#FF00FF" |
|
"yellow" | "y" | [1 1 0] | "#FFFF00" |
|
"black" | "k" | [0 0 0] | "#000000" |
|
"white" | "w" | [1 1 1] | "#FFFFFF" |
|
"none" | 該当なし | 該当なし | 該当なし | 色なし |
次の表に、プロット用のライト テーマとダーク テーマの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
例: 'blue'
例: [0 0 1]
例: '#0000FF'
オブジェクト関数
ebno | リンクの最終ノードのEb/No |
linkPercentage | Percentage of time when link between first and last node in link analysis is closed |
linkIntervals | リンクが閉じられる間隔 |
linkStatus | 最初のノードと最後のノード間のリンク クロージャーの状態 |
show | 衛星シナリオビューアでオブジェクトを表示する |
sigstrength | Calculate received signal strength at last node of link |
hide | 衛星シナリオエンティティをビューアーから非表示にする |
例
衛星シナリオ オブジェクトを作成します。
startTime = datetime(2020,11,25,0,0,0);
stopTime = startTime + days(1);
sampleTime = 60; % seconds
sc = satelliteScenario(startTime,stopTime,sampleTime)sc =
satelliteScenario with properties:
StartTime: 25-Nov-2020
StopTime: 26-Nov-2020
SampleTime: 60
AutoSimulate: 1
Satellites: [1×0 matlabshared.satellitescenario.Satellite]
GroundStations: [1×0 matlabshared.satellitescenario.GroundStation]
Platforms: [1×0 matlabshared.satellitescenario.Platform]
Viewers: [0×0 matlabshared.satellitescenario.Viewer]
AutoShow: 1
シナリオに衛星を追加します。
semiMajorAxis = 10000000; % meters eccentricity = 0; inclination = 60; % degrees rightAscensionOfAscendingNode = 0; % degrees argumentOfPeriapsis = 0; % degrees trueAnomaly = 0; % degrees sat = satellite(sc,semiMajorAxis,eccentricity,inclination,rightAscensionOfAscendingNode, ... argumentOfPeriapsis,trueAnomaly,Name="Satellite");
衛星にジンバルを追加します。これらのジンバルにより、衛星受信アンテナを第 1地上局に向け、その送信アンテナを第 2地上局に向けることができます。
gimbalrxSat = gimbal(sat); gimbaltxSat = gimbal(sat);
衛星の最初のジンバルに受信機を追加します。
gainToNoiseTemperatureRatio = 5; % dB/K systemLoss = 3; % dB rxSat = receiver(gimbalrxSat,Name="Satellite Receiver",GainToNoiseTemperatureRatio= ... gainToNoiseTemperatureRatio,SystemLoss=systemLoss)
rxSat =
Receiver with properties:
Name: Satellite Receiver
ID: 4
MountingLocation: [0; 0; 0] meters
MountingAngles: [0; 0; 0] degrees
Antenna: [1x1 satcom.satellitescenario.GaussianAntenna]
SystemLoss: 3 decibels
PreReceiverLoss: 3 decibels
GainToNoiseTemperatureRatio: 5 decibels/Kelvin
RequiredEbNo: 10 decibels
CoordinateAxes: [1x1 matlabshared.satellitescenario.CoordinateAxes]
衛星の2番目のジンバルに送信機を追加します。
frequency = 27e9; % Hz power = 20; % dBW bitRate = 20; % Mbps systemLoss = 3; % dB txSat = transmitter(gimbaltxSat,Name="Satellite Transmitter",Frequency=frequency, ... power=power,BitRate=bitRate,SystemLoss=systemLoss)
txSat =
Transmitter with properties:
Name: Satellite Transmitter
ID: 5
MountingLocation: [0; 0; 0] meters
MountingAngles: [0; 0; 0] degrees
Antenna: [1x1 satcom.satellitescenario.GaussianAntenna]
SystemLoss: 3 decibels
Frequency: 2.7e+10 Hertz
BitRate: 20 Mbps
Power: 20 decibel-watts
Links: [1x0 satcom.satellitescenario.Link]
CoordinateAxes: [1x1 matlabshared.satellitescenario.CoordinateAxes]
リピーターのアンテナ仕様を指定します。
dishDiameter = 0.5; % meters
apertureEfficiency = 0.5;
gaussianAntenna(txSat,DishDiameter=dishDiameter,ApertureEfficiency=apertureEfficiency);
gaussianAntenna(rxSat,DishDiameter=dishDiameter,ApertureEfficiency=apertureEfficiency);シナリオに地上局を2 つ追加します。
gs1 = groundStation(sc,Name="Ground Station 1"); latitude = 52.2294963; % degrees longitude = 0.1487094; % degrees gs2 = groundStation(sc,latitude,longitude,Name="Ground Station 2");
シミュレーション期間中、衛星のジンバルを2 つの地上局に向けます。
pointAt(gimbaltxSat,gs2); pointAt(gimbalrxSat,gs1);
地上局にジンバルを追加します。これらのジンバルにより、地上局のアンテナを衛星に向けることができます。
gimbalgs1 = gimbal(gs1); gimbalgs2 = gimbal(gs2);
地上局gs1に送信機を追加します。
frequency = 30e9; % Hz power = 40; % dBW bitRate = 20; % Mbps txGs1 = transmitter(gimbalgs1,Name="Ground Station 1 Transmitter",Frequency=frequency, ... Power=power,BitRate=bitRate);
地上局gs2に受信機を追加します。
requiredEbNo = 14; % dB rxGs2 = receiver(gimbalgs2,Name="Ground Station 2 Receiver",RequiredEbNo=requiredEbNo);
地上局のアンテナ仕様を定義します。
dishDiameter = 5; % meters
gaussianAntenna(txGs1,DishDiameter=dishDiameter);
gaussianAntenna(rxGs2,DishDiameter=dishDiameter);シミュレーション期間中、地上局のジンバルを衛星に向けます。
pointAt(gimbalgs1,sat); pointAt(gimbalgs2,sat);
送信機txGs1にリンク解析を追加します。
lnk = link(txGs1,rxSat,txSat,rxGs2)
lnk =
Link with properties:
Sequence: [10 4 5 11]
LineWidth: 2
LineColor: [0.3922 0.8314 0.0745]
地上局gs1が衛星経由で地上局gs2にデータを送信できる時間を決定します。
linkIntervals(lnk)
ans=4×8 table
Source Target IntervalNumber StartTime EndTime Duration StartOrbit EndOrbit
______________________________ ___________________________ ______________ ____________________ ____________________ ________ __________ ________
"Ground Station 1 Transmitter" "Ground Station 2 Receiver" 1 25-Nov-2020 00:20:00 25-Nov-2020 00:40:00 1200 NaN NaN
"Ground Station 1 Transmitter" "Ground Station 2 Receiver" 2 25-Nov-2020 03:19:00 25-Nov-2020 03:36:00 1020 NaN NaN
"Ground Station 1 Transmitter" "Ground Station 2 Receiver" 3 25-Nov-2020 06:15:00 25-Nov-2020 06:36:00 1260 NaN NaN
"Ground Station 1 Transmitter" "Ground Station 2 Receiver" 4 25-Nov-2020 22:20:00 25-Nov-2020 22:38:00 1080 NaN NaN
衛星シナリオ ビューアーを使用してリンクを可視化します。
play(sc);

この例では、衛星の傾斜角の変化に応じてリンクとリンク間隔が変化するシナリオを示します。
startTime = datetime(2024,6,1,0,0,0);
stopTime = startTime + hours(4);
sampleTime = 60;% seconds
sc = satelliteScenario(startTime,stopTime,sampleTime);シナリオに衛星1 と送信機を追加します。
sat1 = satellite(sc,10e6,0,0,0,0,0,Name="Satellite 1"); txSat1 = transmitter(sat1,Name="Satellite 1 Transmitter");
シナリオに衛星2 と受信機を追加します。
sat2= satellite(sc,10e6,0,0,10,0,0,Name="Satellite 2"); rxSat2 = receiver(sat2,Name="Satellite 2 Receiver");
シナリオに地上局を追加します。
latitude = 49.8728; % degrees longitude = 8.6512; % degrees gs = groundStation(sc,latitude,longitude,Name="Ground Station");
2つの衛星を地上局に向けます。
pointAt(sat1,gs) pointAt(sat2,gs)
地上局にジンバルを追加します。
gimbalrxGs = gimbal(gs); gimbaltxGs = gimbal(gs);
地上局に送信機と受信機を追加します。
rxGs = receiver(gimbalrxGs,Name="Ground Station Receiver"); txGs = transmitter(gimbaltxGs,Name="Ground Station Transmitter");
地上局の送信機と受信機を衛星に向けます。
pointAt(gimbalrxGs,sat1) pointAt(gimbaltxGs,sat2)
地上局と衛星間のリンクを計算します。
lnk1 = link(txSat1,rxGs,txGs,rxSat2)
lnk1 =
Link with properties:
Sequence: [2 8 9 4]
LineWidth: 2
LineColor: [0.3922 0.8314 0.0745]
リンク間隔を見つけます。
linkIntervals(lnk1)
ans=1×8 table
Source Target IntervalNumber StartTime EndTime Duration StartOrbit EndOrbit
_________________________ ______________________ ______________ ____________________ ____________________ ________ __________ ________
"Satellite 1 Transmitter" "Satellite 2 Receiver" 1 01-Jun-2024 02:10:00 01-Jun-2024 02:14:00 240 1 1
lnk1 からのリンク間隔は、地上局を通過する衛星 1 から衛星 2 への有効なリンクが 7560 秒間存在することを示しています。
衛星が互いを指すようにシナリオを更新します。
pointAt(sat1,sat2) pointAt(sat2,sat1)
更新されたシナリオを使用して、lnk1 のリンク間隔を計算します。
linkIntervals(lnk1)
ans =
0×8 empty table
Source Target IntervalNumber StartTime EndTime Duration StartOrbit EndOrbit
______ ______ ______________ _________ _______ ________ __________ ________
lnk1 の linkInterval は、地上局がどちらの衛星アンテナからも向けられていないため、シナリオの期間中は間隔が存在しないことを示しています。
衛星1から衛星2に直接新しいリンクオブジェクトlnk2を作成します。
lnk2 = link(txSat1,rxSat2)
lnk2 =
Link with properties:
Sequence: [2 4]
LineWidth: 2
LineColor: [0.3922 0.8314 0.0745]
更新されたシナリオで lnk2 のリンク間隔を計算します。
linkIntervals(lnk2)
ans=1×8 table
Source Target IntervalNumber StartTime EndTime Duration StartOrbit EndOrbit
_________________________ ______________________ ______________ ___________ ____________________ ________ __________ ________
"Satellite 1 Transmitter" "Satellite 2 Receiver" 1 01-Jun-2024 01-Jun-2024 04:00:00 14400 1 2
衛星はシナリオ全体にわたって互いに向いているため、シナリオ全体にわたるリンク間隔が表示されます。
バージョン履歴
R2021a で導入sigstrength オブジェクト関数を使用して、リンクの最後のノードでの受信信号強度を計算できるようになりました。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)









