このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
gsmFrame
説明
は、入力 GSM 構成オブジェクトに基づいて、1 つの TDMA フレームをもつ GSM 波形を作成します。送信データ バーストの暗号化ビット フィールドはランダム データで埋められます。詳細については、GSM フレーム、タイム スロット、およびバーストを参照してください。gsmWaveform
= gsmFrame(gsmCfg
)
は、同じ構成の gsmWaveform
= gsmFrame(gsmCfg
,numFrames
)numFrames
個の TDMA フレームをもつ GSM 波形を作成します。各フレームで、送信データ バーストの暗号化ビット フィールドはランダム データで埋められます。詳細については、GSM フレーム、タイム スロット、およびバーストを参照してください。
例
GSM アップリンク波形の作成
既定の設定を使用して GSM アップリンク TDMA フレーム構成オブジェクトを作成してから、1 つの TDMA フレームが含まれる GSM 波形を作成します。GSM TDMA フレームには 8 つのタイム スロットがあり、8.25 個のシンボル (約 30.46x10e-3 ms) の保護期間だけ互いに離れています。GSM 波形をプロットします。
既定の設定を使用して GSM アップリンク TDMA フレーム構成オブジェクトを作成します。
cfggsmul = gsmUplinkConfig
cfggsmul = gsmUplinkConfig with properties: BurstType: [NB NB NB NB NB NB NB NB] SamplesPerSymbol: 16 TSC: [0 1 2 3 4 5 6 7] Attenuation: [0 0 0 0 0 0 0 0] RiseTime: 2 RiseDelay: 0 FallTime: 2 FallDelay: 0
関数 gsmInfo
を使用して、構成された gsmUplinkConfig
オブジェクトに関する情報を表示します。プロットのタイムスケールの計算に使用するために、サンプルレートを変数 Rs
に割り当てます。
wfInfo = gsmInfo(cfggsmul)
wfInfo = struct with fields:
SymbolRate: 2.7083e+05
SampleRate: 4.3333e+06
BandwidthTimeProduct: 0.3000
BurstLengthInSymbols: 156.2500
NumBurstsPerFrame: 8
BurstLengthInSamples: 2500
FrameLengthInSamples: 20000
Rs = wfInfo.SampleRate;
関数 gsmFrame
を使用して GSM 波形を作成し、GSM 波形をプロットします。
waveform = gsmFrame(cfggsmul); t = (0:length(waveform)-1)/Rs*1e3; subplot(2,1,1) plot(t,abs(waveform)) grid on axis([0 5 0 1.2]) title('GSM Uplink Waveform - Amplitude') xlabel('Time (ms)') ylabel('Amplitude') subplot(2,1,2) plot(t,unwrap(angle(waveform))) grid on title('GSM Uplink Waveform - Phase') xlabel('Time (ms)') ylabel('Phase (rad)')
5 つの TDMA フレームが含まれる GSM アップリンク波形の作成
既定の設定を使用して GSM ダウンリンク TDMA フレーム構成オブジェクトを作成してから、5 つの TDMA フレームが含まれる GSM 波形を作成します。GSM TDMA フレームには 8 つのタイム スロットがあり、8.25 個のシンボル (約 30.46x10e-3 ms) の保護期間だけ互いに離れています。GSM 波形をプロットします。
GSM アップリンク TDMA フレーム構成オブジェクトを作成します。各フレームの最後を識別できるように、最後のタイム スロットに 3 dB の減衰を指定します。
cfggsmul = gsmUplinkConfig('Attenuation',[0 0 0 0 0 0 0 3])
cfggsmul = gsmUplinkConfig with properties: BurstType: [NB NB NB NB NB NB NB NB] SamplesPerSymbol: 16 TSC: [0 1 2 3 4 5 6 7] Attenuation: [0 0 0 0 0 0 0 3] RiseTime: 2 RiseDelay: 0 FallTime: 2 FallDelay: 0
関数 gsmInfo
を使用して、構成された gsmUplinkConfig
オブジェクトに関する情報を表示します。プロットのタイムスケールの計算に使用するために、サンプルのフレーム長を変数 spf
に割り当てます。
wfInfo = gsmInfo(cfggsmul)
wfInfo = struct with fields:
SymbolRate: 2.7083e+05
SampleRate: 4.3333e+06
BandwidthTimeProduct: 0.3000
BurstLengthInSymbols: 156.2500
NumBurstsPerFrame: 8
BurstLengthInSamples: 2500
FrameLengthInSamples: 20000
spf = wfInfo.FrameLengthInSamples;
関数 gsmFrame
を使用して GSM 波形を作成し、GSM 波形をプロットします。各フレームの最後のタイム スロットは、そのフレームの他のタイム スロットよりも 3 dB 小さくなります。
numFrames = 5; waveform = gsmFrame(cfggsmul,numFrames); t = 8*(0:length(waveform)-1)/spf; numTS = 8*numFrames; subplot(2,1,1) plot(t,abs(waveform)) grid on axis([0 numTS 0 1.2]) title('GSM Uplink Waveform - Amplitude') xlabel('Time Slots') ylabel('Amplitude') subplot(2,1,2) plot(t,unwrap(angle(waveform))) grid on title('GSM Uplink Waveform - Phase') xlabel('Time Slots') ylabel('Phase (rad)')
GSM ダウンリンク波形の作成
既定の設定を使用して GSM ダウンリンク TDMA フレーム構成オブジェクトを作成してから、1 つの TDMA フレームが含まれる GSM 波形を作成します。GSM TDMA フレームには 8 つのタイム スロットがあり、8.25 個のシンボル (約 30.46x10e-3 ms) の保護期間だけ互いに離れています。GSM 波形をプロットします。
既定の設定を使用して GSM ダウンリンク TDMA フレーム構成オブジェクトを作成します。
cfggsmdl = gsmDownlinkConfig
cfggsmdl = gsmDownlinkConfig with properties: BurstType: [NB NB NB NB NB NB NB NB] SamplesPerSymbol: 16 TSC: [0 1 2 3 4 5 6 7] Attenuation: [0 0 0 0 0 0 0 0] RiseTime: 2 RiseDelay: 0 FallTime: 2 FallDelay: 0
関数 gsmInfo
を使用して、構成された gsmDownlinkConfig
オブジェクトに関する情報を表示します。プロットのタイムスケールの計算に使用するために、サンプルレートを変数 Rs
に割り当てます。
wfInfo = gsmInfo(cfggsmdl)
wfInfo = struct with fields:
SymbolRate: 2.7083e+05
SampleRate: 4.3333e+06
BandwidthTimeProduct: 0.3000
BurstLengthInSymbols: 156.2500
NumBurstsPerFrame: 8
BurstLengthInSamples: 2500
FrameLengthInSamples: 20000
Rs = wfInfo.SampleRate;
関数 gsmFrame
を使用して GSM 波形を作成し、GSM 波形をプロットします。
waveform = gsmFrame(cfggsmdl); t = (0:length(waveform)-1)/Rs*1e3; subplot(2,1,1) plot(t,abs(waveform)) grid on axis([0 5 0 1.2]) title('GSM Downlink Waveform - Amplitude') xlabel('Time (ms)') ylabel('Amplitude') subplot(2,1,2) plot(t,unwrap(angle(waveform))) grid on title('GSM Downlink Waveform - Phase') xlabel('Time (ms)') ylabel('Phase (rad)')
入力引数
gsmCfg
— GSM 構成
gsmUplinkConfig
オブジェクト | gsmDownlinkConfig
オブジェクト
GSM 構成。gsmUplinkConfig
または gsmDownlinkConfig
オブジェクトとして指定します。
numFrames
— TDMA フレームの数
16
(既定値) | 正の整数
波形の TDMA フレームの数。正の整数として指定します。
データ型: double
出力引数
gsmWaveform
— 出力された時間領域の波形
複素数値列ベクトル
出力された時間領域の波形。長さが Ns の複素数値列ベクトルとして返されます。ここで、Ns は時間領域のサンプル数を表します。関数は、複素同相直交 (IQ) サンプルの形式で、この波形を生成します。
詳細
GSM フレーム、タイム スロット、およびバースト
GSM の送信は TDMA フレームで構成されています。各 GSM TDMA フレームは 8 つのタイム スロットで構成されています。タイム スロットの送信データ コンテンツは "バースト" と呼ばれます。3GPP TS 45.011 の 5.2 節に記載されているように、通常のシンボル周期を使用する場合、GSM タイム スロットには 156.25 のシンボル区間があります。これは、15/26 ms または約 576.9 マイクロ秒の時間間隔に相当します。8.25 個のシンボルまたは約 30.46 マイクロ秒の保護期間で各タイム スロットは分離されています。GSM 標準では、シンボルは 1 ビット期間として説明されています。GSM は GMSK 変調を使用するため、ビット期間あたり 1 ビットが存在します。タイム スロット内のバーストの送信タイミングは、ビット番号 (BN) で定義されます。BN は、タイム スロット内の特定のビット期間を表します。最小の BN をもつビットが最初に送信されます。BN0 は最初のビット期間で、BN156 は最後の 4 分の 1 ビット期間です。
3GPP TS 45.011 に掲載されている次の図は、さまざまなフレーム タイプ間の関係とさまざまなバースト タイプ間の関係を示しています。
次の表は、サポートされているバースト タイプとそれらの特性を示しています。
バースト タイプ | 説明 | リンク方向 | 有効期間 |
---|---|---|---|
NB | ノーマル バースト | アップリンク/ダウンリンク | 147 |
FB | 周波数補正バースト | ダウンリンク | 147 |
SB | 同期バースト | ダウンリンク | 147 |
Dummy | ダミー バースト | ダウンリンク | 147 |
AB | アクセス バースト | アップリンク | 87 |
Off | 送信されるバーストなし | アップリンク/ダウンリンク | 0 |
3GPP TS 45.002 の 5.2.2 節で説明されている "有効期間" は GSM バーストの特性の 1 つです。バーストの有効期間 (有効部分) は、BN0 の半分を過ぎたところから始まり、保護期間が始まる前の半分のビット期間で終わるように定義されます。"保護期間" は、連続するタイム スロットのバースト間の期間です。3GPP TS 45.004 の 2.2 節に掲載されている次の図は、バーストの有効部分とアクティブ部分の間での先頭と末尾の 2 分の 1 ビットの差を示しています。
詳細については、波形生成のための GSM TDMA フレームのパラメーター化を参照してください。
トレーニング シーケンス コード (TSC)
ノーマル バーストには、指定された TSC に基づいてビット パターンが割り当てられるトレーニング シーケンス ビット フィールドが含まれています。GSM の場合、ノーマル バースト タイプのタイム スロットでは以下の 8 つのトレーニング シーケンスのいずれかを選択できます。
トレーニング シーケンス コード (TSC) | トレーニング シーケンス ビット (BN61、BN62、...、BN86) |
---|---|
0 | (0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1) |
1 | (0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1) |
2 | (0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0) |
3 | (0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0) |
4 | (0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1) |
5 | (0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0) |
6 | (1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1) |
7 | (1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0) |
詳細については、3GPP TS 45.002 の 5.2.3 節を参照してください。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2019b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)