Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5G-Broadcast experiments using SDR (Under construction)

5G-Broadcast experiments using SDR (Under construction)

5G-Broadcast experiments using SDR(Under construction)

Soichi Sato

May 25, 2021
Tweet

More Decks by Soichi Sato

Other Decks in Technology

Transcript

  1. 2 ところで、SDRとは SDRとはソフトウエア無線(Software Defined radio)のことで変調の処理のほとんどをソフト ウエアにて行う無線を指す。ハードウエアとして用意するのはパソコンとSDRのボードのみ。 とりあえず、Ettus社のUSRP-B200を1枚所有しているのでこれを利用してみる。 https://kb.ettus.com/B200/B210/B200mini/B205mini B200 Xilinx

    Spartan 6 XC6SLX75 FPGA Analog Devices AD9364 RFIC direct-conversion transceiver Frequency range: 70 MHz - 6 GHz Up to 56 MHz of instantaneous bandwidth Full duplex, SISO (1 Tx & 1 Rx) Fast and convenient bus-powered USB 3.0 connectivity Optional Board Mounted GPSDO https://www.analog.com/en/products/ad9364.html SDRボードは、ダイレクトIQ変調のチップAD9364とUSB3.0のイ ンターフェースを取る為のFPGAが乗っている程度の簡単なもの である。 出力の場合、IQ DATAをPCで計算し、それをUSB経由でSDR ボードに伝送し、それを変調チップでDAしてアップコンバートす る。入力の場合はその逆。 B200ボードの場合はRFの入出力がそれぞれ1ポートある。
  2. 3 LTE(5G)基地局のソフトウエア LTE(5G)基地局のソフトウエアで無料提供されているものについてはいくつかあるようである が、今回はsrsLTE(srsRAN)とOpenAirInterfaceの2種類を検討する。 両方ともLinuxで動作する。OSとしてはUbuntu18を利用する。 (2)OpenAirInterface  https://openairinterface.org ・EURECOMというフランスの大学院がメンテナンスしている。 ・ソースベースでの提供となる。(バイナリーはdockerコンテナとして入手可能) ・コアネットワークはOAI-cnと別に提供されている。(ユーザー登録が必要) ・様々な機能があるようだが、使いこなすには知識が必要。

    ・eMBMS、FeMBMSをサポートしている。 ・5Gにもある程度対応しているようだ。 (1)srsLTE(srsRAN) https://www.srsran.com/ ※2021年4月30日より、5Gに対応した為、srsLTEからsrsRANに名称変更。  本資料ではsrsLTEの旧バージョン(20.10.1)を利用。 ・アイルランドのSoftware Radio Systemsがメンテナンスしている。 ・基地局はFDDのみ対応。端末(UE)はTDD、FDD両方対応。 ・LTEのコアネットワークであるEPCが一緒に提供されている。 ・aptのパッケージインストーラーで簡単にインストールして利用できる。 ・eMBMSをサポートしている。 ・現時点で5GはNSAのみのサポートのようである。5G SAは開発中。
  3. 4 まずは普通のLTE基地局で実験 携帯、SIMカードの準備 いきなりeMBMSは難しいので、比較的簡単なsrsLTEを利用して普通のLTE基地局を作ってみる。 スマホはSamsung製のGalaxy S9を利用した。 SOCとして、Qualcomm Snapdragon 845が搭載されている。 少し古い機種であるが、GSAのレポートによるとeMBMSもサポートしている

    とのことで、S9を利用することにした。 ※SOCとしてSnapdragon以外のものが搭載されている場合、eMBMSには 対応していない。 実験用のSIMカードはsysmocom製のものを利用した。 http://shop.sysmocom.de/products/sysmoISIM-SJA2 実験をするには、以下の3種類の値が機知である必要がある。 ・IMSI ・Ki ・OPC このうち、IMSIの値は書き換えられることが望ましい。IMSIは先頭の3 桁が「MCC」で国番号、続く2桁が「MNC」で携帯電話事業者の識別 番号となっていて、スマホによってはこれらの値が不正だと利用できな いことがあるため。 これらの3つの値はsrsLTEのuser_db.csvに記載する。
  4. 8 srsLTEによるeMBMS設定 ##################################################################### # eMBMS configuration options # # enable:

    Enable MBMS transmission in the eNB # m1u_multiaddr: Multicast addres the M1-U socket will register to # m1u_if_addr: Address of the inteferface the M1-U interface will listen for multicast packets. # mcs: Modulation and Coding scheme for MBMS traffic. # ##################################################################### [embms] enable = true #m1u_multiaddr = 239.255.0.1 #m1u_if_addr = 127.0.1.201 #mcs = 20 eNB(srsenb)のenb.confファイルの設定を変更する。 標準では#でコメントアウトされているので、#を取ってenableをtrueにする。 実際にはそのほかいくつかパラメータ設定があるが基本的にはここを有効にすると eMBMSが利用可能となる。
  5. 9 PC(OS:Ubuntu 18) srsLTEによるeMBMS実験 追加でsrsmbmsのソフトを起動する。 iperfのソフトを利用しマルチキャストパケットを生成しsrsmbmsに流し込む。 srsmbmsから直接srsenbにマルチキャストのパケットデータが送られる。 コアネットワーク ソフト srsepc

    基地局 eNB ソフト srsenb SDR USRP B200 スマホ UE Galaxy S9 Internet Internet Router USB3.0 LAN RF eMBMSソフト srsmbms iperf ソフト 残念ながら、スマホで iperfが生成するマルチ キャストパケットは受信で きなかった。原因不明。
  6. 10           PC(OS:Ubuntu 18) srsLTEによるeMBMS シミュレーション srsLTEではRFの代わりにzeroMQというインターフェースでeNBとUEをつないでシミュレーション が可能となっているので、そちらを利用してeMBMSの実験をしてみた。IQデータをそのまま利用 するので、ノイズやレベルの劣化が無い以外はRFで接続するのと基本的には変わらない。 ・zeroMQのインターフェースは、aptのバイナリーパッケージインストールではサポートされていな いので、ソースファイルからのコンパイルが必要になる。 ・1台のPCで実行する為に、UE側のネットワークをnetnsを利用してネットワーク的に分離する必

    要がある(マニュアル通り)。 ・UE側にもembmsに関する設定があるので、その設定を行う。[rrc]mbms_service_id = 0 ・ユニキャストの通信はpingで確認して問題なく通信できることを確認した。 ・マルチキャストの通信はiperfで確認して問題なくマルチキャストパケットが通ることを確認した。 コアネットワーク ソフト srsepc 基地局 eNB ソフト srsenb eMBMSソフト srsmbms iperf ソフト ping ソフト 端末 UE ソフト srsue iperf ソフト ping ソフト IQ data netns UE1 シミュレーション上ではiperfが生成するマルチキャストパケットの受信が正常にできた。
  7. 11 PC:Ubuntu18 VM1:Ubuntu18 IP_adr:192.168.3.50 OpenAirInterfaceのオプション OpenAirInterfaceにはコアネットワークが含まれない。そのため普通はコアネットワークを用 意する必要があるが、それらを用意しなくても伝送シミュレーションは可能となっている。 それがnoS1オプションである。具体的には通常のS1インタフェースを利用したパケット伝送で はなく、NSA(Non-access stratum)を利用することでパケットの伝送を行う。

    また、RFの代わりにIPパケットでIQデータを伝送するシミュレーションモードとしてrfsimオプ ションがあるのでそれを利用することにする。SDRのボードが2台以上あれば実際のRFで実 験できたところだが、残念ながら1枚しか所有していない為、IPパケットでのシミュレーションで の実験を行った。 また、1台のPCでeNBとUEのdockerコンテナを動作させる為、VirtualBOXを利用してVMマ シーンを2台分用意して実験を行った。 OpenAirInterface ENB --noS1 --rfsim VM2:Ubuntu18 IP_adr:192.168.3.52 OpenAirInterface UE --noS1 --rfsim ping iperf ping iperf
  8. 12 OpenAirInterface LTE通信シミュレーション OpenAirInterfaceのdockerはいくつか用意されているようだが、以下に紹介されている eMBMS,FeMBMSの動作が保証されているものを利用する。 https://gitlab.eurecom.fr/oai/openairinterface5g/-/wikis/fembms まずは普通のLTE通信を試す為のdockerは以下の通り。 標準的な設定のconfファイルを選択してdockerを実行する。 UE側については、eNBのVMのIP_adrを指定する。 例えばUE側からping 10.0.1.1と打つとeNBが応答する。eNB側からはping

    10.0.1.2と打つ。 VM1(eNB):sudo docker run --rm --net=host --cap-add=NET_ADMIN --name fembms- enb --device /dev/net/tun:/dev/net/tun --device /dev/bus/usb/:/dev/bus/usb/ -it --privileged --env RFSIMULATOR=enb jmorgade/lte-softmodem:1.0.0_ubuntu.18.04 ran_build/build/lte-softmodem -O ../ci- scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --noS1 --nokrnmod 1 –rfsim VM2(UE):sudo docker run --rm --net=host --cap-add=NET_ADMIN --name fembms-ue --device /dev/net/tun:/dev/net/tun --device /dev/bus/usb/:/dev/bus/usb/ -it --privileged --env RFSIMULATOR=192.168.3.50 jmorgade/lte-uesoftmodem:1.0.0_ubuntu.18.04 ran_build/build/lte-uesoftmodem -C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1 --noS1 --rfsim
  9. 13 OpenAirInterface eMBMSシミュレーション 先ほどと同じdockerコンテナを利用してeMBMSのシミュレーションを行う。 UE側については自動的にeMBMS,FeMBMSの認識を行うため変更なし。 eNB側についてはeMBMS専用のconfファイルに変更する。 eMBMSのパケット伝送実験については以下のようにiperfを利用してパケット伝送できる。 eNB : iperf -c

    10.0.2.2 -u -b 1M -T 64 -t 3600 -p 5000 UE : iperf -s -u -B 10.0.2.2 -i 1 -p 5000 LTE通信で紹介したpingも普通に通ります。 VM1(eNB):sudo docker run --rm --net=host --cap-add=NET_ADMIN --name fembms- enb --device /dev/net/tun:/dev/net/tun --device /dev/bus/usb/:/dev/bus/usb/ -it --privileged --env RFSIMULATOR=enb jmorgade/lte-softmodem:1.0.0_ubuntu.18.04 ran_build/build/lte-softmodem -O ../ci-scripts/conf_files/lte-fdd-mbms-basic-sim.conf --rfsim --noS1 --nokrnmod 1 VM2(UE):sudo docker run --rm --net=host --cap-add=NET_ADMIN --name fembms-ue --device /dev/net/tun:/dev/net/tun --device /dev/bus/usb/:/dev/bus/usb/ -it --privileged --env RFSIMULATOR=192.168.3.50 jmorgade/lte-uesoftmodem:1.0.0_ubuntu.18.04 ran_build/build/lte-uesoftmodem -C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1 --noS1 --rfsim
  10. 14 OpenAirInterface FeMBMSシミュレーション 今回も先ほどと同じdockerコンテナを利用してFeMBMSのシミュレーションを行う。 UE側については先ほど同様に変更なし。 eNB側についてはeMBMS専用のconfファイルはそのままで、いくつかのパラメータの変更を 行うことで、FeMBMSの設定となります。 eMBMSで紹介したiperfを使ってFeMBMSのパケット伝送実験が可能。 FeMBMSは片方向のみのため、pingは通りません。 VM1(eNB):sudo docker

    run --rm --net=host --cap-add=NET_ADMIN --name fembms- enb --device /dev/net/tun:/dev/net/tun --device /dev/bus/usb/:/dev/bus/usb/ -it --privileged --env RFSIMULATOR=enb jmorgade/lte-softmodem:1.0.0_ubuntu.18.04 ran_build/build/lte-softmodem -O ../ci-scripts/conf_files/lte-fdd-mbms-basic-sim.conf --eNBs.[0].component_carriers.[0].mbms_dedicated_serving_cell ENABLE --MCEs.[0].mbms_sched_info.mbms_area_config_list.[0].pmch_config_list. [0].allocated_sf_end 1024 --rfsim --noS1 --nokrnmod 1 VM2(UE):sudo docker run --rm --net=host --cap-add=NET_ADMIN --name fembms-ue --device /dev/net/tun:/dev/net/tun --device /dev/bus/usb/:/dev/bus/usb/ -it --privileged --env RFSIMULATOR=192.168.3.50 jmorgade/lte-uesoftmodem:1.0.0_ubuntu.18.04 ran_build/build/lte-uesoftmodem -C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1 --noS1 --rfsim