gsmFrame
GSM 波形の作成
説明
は、入力 GSM 構成オブジェクトに基づいて、1 つの TDMA フレームをもつ GSM 波形を作成します。送信データ バーストの暗号化ビット フィールドはランダム データで埋められます。詳細については、GSM フレーム、タイム スロット、およびバーストを参照してください。gsmWaveform = gsmFrame(gsmCfg)
は、同じ構成の gsmWaveform = gsmFrame(gsmCfg,numFrames)numFrames 個の TDMA フレームをもつ 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]
PulseLength: 4
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)')

既定の設定を使用して 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]
PulseLength: 4
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 ダウンリンク 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]
PulseLength: 4
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)')

入力引数
GSM 構成。gsmUplinkConfig または gsmDownlinkConfig オブジェクトとして指定します。
波形の TDMA フレームの数。正の整数として指定します。
データ型: double
出力引数
出力された時間領域の波形。長さが Ns の複素数値列ベクトルとして返されます。ここで、Ns は時間領域のサンプル数を表します。関数は、複素同相直交 (IQ) サンプルの形式で、この波形を生成します。
詳細
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 に基づいてビット パターンが割り当てられるトレーニング シーケンス ビット フィールドが含まれています。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 で導入今回の更新により、パルス長を選択して設計におけるスペクトル占有率を最適化できるようになりました。関数 gsmFrame を使用してダウンリンクとアップリンクの GSM フレームを生成する場合、PulseLength プロパティを設定することで、gsmDownlinkConfig および gsmUplinkConfig の構成オブジェクトをもつガウス フィルターの GMSK 変調器のパルス長を指定できます。既定値はパルス長を 4 に設定します。関数 gsmFrame において、立ち上がりおよび立ち下がりのマスクのスペクトル形状として、サイン ロールオフの代わりにレイズド コサイン ロールオフも使用できるようになりました。
以前のリリースでは、GMSK 変調器のパルス長は 1 に固定されており、立ち上がりおよび立ち下がりのマスクのスペクトル形状は正弦波形状に固定されていました。ロールオフ形状をレイズド コサインとし、パルス長を 4 とすることで、チャネル外および帯域外のスペクトル除去が改善されます。
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)