Image description
gsm time slot structure
Parameterisasi Frame TDMA GSM untuk Pembangkitan Bentuk Gelombang

Pendahuluan

Standar GSM menentukan frame TDMA sebagai kombinasi dari 8 slot waktu. Setiap slot waktu memiliki durasi 3/5200 detik (sekitar 0,577 ms) dan nomor slot waktu (TN) dari 0 hingga 7. Frame GSM menggunakan modulasi GMSK, di mana satu simbol setara dengan satu bit. Setiap slot waktu memiliki panjang 156,25 bit. Isi dari slot waktu disebut burst. Waktu transmisi burst dalam slot waktu didefinisikan dalam nomor bit (BN). BN merujuk pada periode bit tertentu dalam slot waktu. Bit dengan nomor bit terendah ditransmisikan terlebih dahulu. BN0 adalah periode bit pertama dan BN156 adalah periode seperempat bit terakhir.

Sebuah TDMA berisi delapan slot waktu yang masing-masing dipisahkan oleh periode penjaga. Setiap slot waktu hanya dapat membawa satu jenis burst. Jenis burst yang tersedia adalah: burst normal (NB), burst koreksi frekuensi (FB), burst sinkronisasi (SB), burst akses (AB), atau burst dummy.

Burst Normal (NB)

Burst normal terdiri dari field bit berikut dan dapat muncul di frame uplink atau downlink. Semua bit ekor adalah nol. Berdasarkan kode urutan pelatihan (TSC) yang ditentukan, field urutan pelatihan berisi salah satu dari delapan kemungkinan urutan pelatihan.

Nomor BitPanjang FieldIsi Field
0 - 23bit ekor
3 - 6058bit terenkripsi
61 - 8626bit urutan pelatihan
87 - 14458bit terenkripsi
145 - 1473bit ekor
148 - 1568.2500periode penjaga (bit)

Burst Akses (AB)

Burst akses terdiri dari field bit berikut dan hanya dapat muncul di frame uplink. Semua bit ekor adalah nol.

Nomor BitPanjang FieldIsi Field
0 - 78bit ekor diperpanjang
8 - 4841bit urutan sinkronisasi
49 - 8436bit terenkripsi
85 - 873bit ekor
88 - 15668.2500periode penjaga (bit)

Burst Koreksi Frekuensi (FB)

Burst koreksi frekuensi terdiri dari field bit berikut dan hanya dapat muncul di frame downlink. Semua bit ekor dan bit tetap adalah nol. Memodulasi semua nol dengan modulator GMSK menghasilkan rotasi fase konstan -90 derajat untuk setiap durasi simbol. Oleh karena itu, burst ini menghasilkan carrier tanpa modulasi dengan offset frekuensi positif sebesar 1625/24 kHz.

Nomor BitPanjang FieldIsi Field
0 - 23bit ekor
3 - 144142bit tetap
145 - 1473bit ekor
148 - 1568.2500periode penjaga (bit)

Burst Sinkronisasi (SB)

Burst sinkronisasi terdiri dari field bit berikut dan hanya dapat muncul di frame downlink. Semua bit ekor adalah nol.

Nomor BitPanjang FieldIsi Field
0 - 23bit ekor
3 - 4139bit terenkripsi
42 - 10564bit urutan pelatihan diperpanjang
106 - 14439bit terenkripsi
145 - 1473bit ekor
148 - 1568.2500periode penjaga (bit)

Burst Dummy

Burst dummy terdiri dari field bit berikut dan hanya dapat muncul di frame downlink. Semua bit ekor adalah nol. Bit campuran berisi urutan satu dan nol yang telah ditentukan.

Nomor BitPanjang FieldIsi Field
0 - 23bit ekor
3 - 144142bit campuran
145 - 1473bit ekor
148 - 1568.2500periode penjaga (bit)

Periode Penjaga

Standar GSM mengharuskan stasiun bergerak untuk meredam transmisi mereka selama periode antar burst. Kenaikan dan penurunan level daya sinyal terjadi selama periode penjaga. Bagian yang berguna dari burst dimulai setengah jalan melalui nomor bit 0. Bagian yang berguna berakhir di tengah BN87 untuk AB dan BN147 untuk NB, FB, SB, dan burst dummy.

Menghasilkan Satu Frame Uplink

Konfigurasikan frame TDMA GSM uplink menggunakan objek gsmUplinkConfig.

cfg = gsmUplinkConfig()

Atur slot waktu 2 dan 5 untuk membawa burst akses. Karena indeks array dimulai dari 1, tetapi slot waktu dimulai dari 0, atur elemen ketiga dan keenam dari BurstType menjadi "AB".

cfgype([2 5] +1) = "AB"

Tetapkan kode urutan pelatihan 3, 5, 1, 7, 0, dan 2 ke slot waktu 0, 1, 3, 4, 6, dan 7.

cfg([0 1 3 4 6 7] +1) = [3 5 1 7 0 2]

Hasilkan sampel baseband dari frame menggunakan fungsi gsmFrame.

x = gsmFrame(cfg);

Plot frame. Dapatkan laju sampel dari bentuk gelombang yang dihasilkan menggunakan fungsi gsmInfo, lalu hitung nilai sumbu waktu dalam ms.

wfInfo = gsmInfo(cfg); Rs = wfInfoRate; t = (0:length(x) - 1)/Rs*1e3; subplot(2,1,1) plot(t,abs(x)) grid on axis([0 5 0 1.2]) title('GSM Uplink TDMA Frame - Amplitude') xlabel('Time (ms)') ylabel('Amplitude') subplot(2,1,2) plot(t,unwrap(angle(x))) grid on title('GSM Uplink TDMA Frame - Phase') xlabel('Time (ms)') ylabel('Phase (rad)')

Plot spektrogram dari frame.

figure spectrogram(x,500,[],[],Rs,'centered') title('GSM Uplink TDMA Frame - Spectrogram')

Menghasilkan Satu Frame Downlink

Konfigurasikan frame TDMA GSM downlink menggunakan objek gsmDownlinkConfig.

cfg = gsmDownlinkConfig

Atur slot waktu 0 untuk membawa burst koreksi frekuensi, atur slot waktu 4 dan 6 untuk membawa burst dummy, dan atur slot waktu 2 menjadi kosong.

cfgype(0 +1) = "FB"; cfgype([4 6] +1) = "Dummy"; cfgype(2 +1) = "Off"

Hasilkan sampel baseband dari frame menggunakan fungsi gsmFrame. Fungsi ini menyisipkan bit acak sebagai pengganti bit terenkripsi.

x = gsmFrame(cfg);

Menghasilkan Struktur Multiframe

Buat struktur multiframe 51-frame. Buat tiga objek gsmDownlinkConfig dengan konfigurasi burst yang ditentukan. Untuk merakit multiframe 51-frame, gunakan objek pertama dan kedua sekali, lalu ulangi objek ketiga untuk 49 frame berikutnya. Ulangi struktur multiframe 3 kali.

cfg1 = gsmDownlinkConfig('BurstType',["FB" "NB" "NB" "NB" "NB" "Dummy" "NB" "NB"]); cfg2 = gsmDownlinkConfig('BurstType',["SB" "NB" "NB" "NB" "NB" "Dummy" "NB" "NB"]); cfg3 = gsmDownlinkConfig('BurstType',["NB" "NB" "NB" "NB" "NB" "Dummy" "NB" "NB"]); wfInfo = gsmInfo(cfg); frameLength = wfInfoengthInSamples; x = zeros(frameLength*51*3,1); for p=1:3 x1 = gsmFrame(cfg1); x2 = gsmFrame(cfg2); x3 = gsmFrame(cfg3,49); x((p-1)*frameLength*51+1:p*frameLength*51) = [x1;x2;x3]; end

Mensimulasikan Efek Kontrol Daya dan Rugi Propagasi

Atur redaman daya untuk slot waktu 0, 3, dan 7 menjadi 2, 6, dan 10 dB.

cfg = gsmUplinkConfig; cfgation([0 3 7] +1) = [2 6 10]

Plot daya frame.

x = gsmFrame(cfg); wfInfo = gsmInfo(cfg); Rs = wfInfoRate; t = (0:length(x) - 1)/Rs*1e3; plot(t, 20*log10(abs(x))) axis([0 5 -20 5]) grid on title('GSM Uplink TDMA Frame Power') xlabel('Time (ms)') ylabel('Power (dB)')

Menyesuaikan Perilaku Kenaikan dan Penurunan Daya

Sesuaikan karakteristik kenaikan burst. Atur RiseTime ke durasi 3,125 simbol.

cfg = gsmDownlinkConfig; cfgme = 3.125; gsmCheckTimeMask(cfg)

Pindahkan awal durasi waktu naik ke kiri sebesar 1,5 simbol dengan mengatur RiseDelay menjadi -1,5.

cfglay = -1.5; gsmCheckTimeMask(cfg)

Atur FallTime ke durasi 2,75 simbol. Pindahkan awal waktu turun ke kanan sebesar 0,25 durasi simbol dengan mengatur FallDelay menjadi 0,25.

cfg = gsmDownlinkConfig; cfgme = 2.75; cfglay = 0.25; gsmCheckTimeMask(cfg)

Referensi

  1. 3GPP TS 45.001. "GSM/EDGE Physical layer on the radio path. General description." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
  2. 3GPP TS 45.002, "GSM/EDGE Multiplexing and multiple access on the radio path." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
  3. 3GPP TS 45.004, "GSM/EDGE Modulation." General description." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Fungsi Pembantu

normalBurstDescription

function d = normalBurstDescription() BitNumber = ["0 - 2";"3 - 60";"61 - 86";"87 - 144";"145 - 147";"148 - 156"]; LengthOfField = {3;58;26;58;3;8.25}; ContentsOfField = ["tail bits";"encrypted bits";"training sequence bits";"encrypted bits";"tail bits";"guard period (bits)"]; d = table(BitNumber,LengthOfField,ContentsOfField); end

frequencyCorrectionBurstDescription

function d = frequencyCorrectionBurstDescription() BitNumber = ["0 - 2";"3 - 144";"145 - 147";"148 - 156"]; LengthOfField = {3;142;3;8.25}; ContentsOfField = ["tail bits";"fixed bits";"tail bits";"guard period (bits)"]; d = table(BitNumber,LengthOfField,ContentsOfField); end

synchronizationBurstDescription

function d = synchronizationBurstDescription() BitNumber = ["0 - 2";"3 - 41";"42 - 105";"106 - 144";"145 - 147";"148 - 156"]; LengthOfField = {3;39;64;39;3;8.25}; ContentsOfField = ["tail bits";"encrypted bits";"extended training sequence bits";"encrypted bits";"tail bits";"guard period (bits)"]; d = table(BitNumber,LengthOfField,ContentsOfField); end

dummyBurstDescription

function d = dummyBurstDescription() BitNumber = ["0 - 2";"3 - 144";"145 - 147";"148 - 156"]; LengthOfField = {3;142;3;8.25}; ContentsOfField = ["tail bits";"mixed bits";"tail bits";"guard period (bits)"]; d = table(BitNumber,LengthOfField,ContentsOfField); end

accessBurstDescription

function d = accessBurstDescription() BitNumber = ["0 - 7";"8 - 48";"49 - 84";"85 - 87";"88 - 156"]; LengthOfField = {8;41;36;3;68.25}; ContentsOfField = ["extended tail bits";"synch. sequence bits";"encrypted bits";"tail bits";"guard period (bits)"]; d = table(BitNumber,LengthOfField,ContentsOfField); end
© 2026 - Semua hak dilindungi undang-undang. PT dengan modal Rp 10.000.000.000. Jl. Jend. Sudirman Kav. 52-53, Jakarta Selatan 12190