{"id":387,"date":"2018-07-19T11:30:23","date_gmt":"2018-07-19T02:30:23","guid":{"rendered":"http:\/\/www.fatware.jp\/?page_id=387"},"modified":"2018-07-19T11:30:33","modified_gmt":"2018-07-19T02:30:33","slug":"%e3%82%bd%e3%83%bc%e3%82%b9%e8%a7%a3%e6%9e%90%ef%bc%9aenb%e5%8f%97%e4%bf%a1","status":"publish","type":"page","link":"https:\/\/www.fatware.jp\/?page_id=387","title":{"rendered":"\u30bd\u30fc\u30b9\u89e3\u6790\uff1aeNB\u53d7\u4fe1"},"content":{"rendered":"<h1 id=\"head0\" class=\"revision-head\"><\/h1>\n<pre class=\"wiki-code wiki-lang\"><cite>lte-spectrum-phy.cc<\/cite><code class=\"lang-C++:lte-spectrum-phy.cc\"><span class=\"hljs-keyword\">void<\/span>\r\n\r\nLteSpectrumPhy::StartRxData (Ptr&lt;LteSpectrumSignalParametersDataFrame&gt; params)\r\n{\r\n  NS_LOG_FUNCTION (<span class=\"hljs-keyword\">this<\/span>);\r\n  <span class=\"hljs-keyword\">switch<\/span> (m_state)\r\n    {\r\n       :\r\n      <span class=\"hljs-keyword\">case<\/span> RX_DATA: #\u30b9\u30c6\u30fc\u30bf\u30b9\u304cRX_DATA\r\n        <span class=\"hljs-comment\">\/\/ the behavior is similar when<\/span>\r\n        <span class=\"hljs-comment\">\/\/ we're IDLE or RX because we can receive more signals<\/span>\r\n        <span class=\"hljs-comment\">\/\/ simultaneously (e.g., at the eNB).<\/span>\r\n        {\r\n          <span class=\"hljs-comment\">\/\/ To check if we're synchronized to this signal, we check<\/span>\r\n          <span class=\"hljs-comment\">\/\/ for the CellId which is reported in the<\/span>\r\n          <span class=\"hljs-comment\">\/\/  LteSpectrumSignalParametersDataFrame<\/span>\r\n          <span class=\"hljs-keyword\">if<\/span> (params-&gt;cellId  == m_cellId)\u3000#cellId\u304c\u4e00\u81f4\r\n            {\r\n\u3000\u3000\u3000\u3000\uff1a\r\n\u3000\u3000\u3000\u3000\uff1a\r\n              ChangeState (RX_DATA);\u3000#\u30b9\u30c6\u30fc\u30bf\u30b9\u5909\u66f4\r\n              <span class=\"hljs-keyword\">if<\/span> (params-&gt;packetBurst)\u3000#\u30d1\u30b1\u30c3\u30c8Burst\u304c\u5b58\u5728\u3057\u3066\u3044\u305f\u3089\r\n                {\r\n                  m_rxPacketBurstList.push_back (params-&gt;packetBurst);\u3000#\u8ffd\u52a0\r\n                  m_interferenceData-&gt;StartRx (params-&gt;psd);\u3000\u3000\u3000\u3000\u3000\u3000#\u5e72\u6e09\u5f71\u97ff\u3068SpectrumValue\u3092\u5404\u914d\u5217\u306b\uff0b\uff1d\u3057\u3066\u3044\u308b\u3002\u3053\u306e\u8fba\u308a\u304b\u3089SNR\u8a08\u7b97\u304c\u3067\u304d\u305f\u3089\u4f55\u3068\u304b\u306a\u308b\uff1f\r\n\r\n                  m_phyRxStartTrace (params-&gt;packetBurst);\r\n                }\r\n                NS_LOG_DEBUG (<span class=\"hljs-keyword\">this<\/span> &lt;&lt; <span class=\"hljs-string\">\" insert msgs \"<\/span> &lt;&lt; params-&gt;ctrlMsgList.size ());\r\n              m_rxControlMessageList.insert (m_rxControlMessageList.end (), params-&gt;ctrlMsgList.beg\\\r\nin (), params-&gt;ctrlMsgList.end ());\r\n<\/code><\/pre>\n<p>m_interferenceData = class LteInterfecence<br \/>\nLteInterference\u306f\u3001class SpectrumValue\u306em_rxSignal\u3092\u6301\u3064\u3002SpectrumValue\u306f\u30b9\u30da\u30af\u30c8\u30eb\u5bc6\u5ea6\uff08The power spectral density\uff09\u3067\u3042\u308b\u3002\u5b9f\u4f53\u306f\u30e1\u30f3\u30d0\u5909\u6570\u3067std:vector<\/p>\n<pre class=\"wiki-code wiki-lang\"><cite>lte-interference.cc<\/cite><code class=\"lang-C++:lte-interference.cc\"><span class=\"hljs-keyword\">void<\/span>\r\n\r\nLteInterference::StartRx (Ptr&lt;<span class=\"hljs-keyword\">const<\/span> SpectrumValue&gt; rxPsd)\r\n{\r\n  <span class=\"hljs-keyword\">if<\/span> (m_receiving == <span class=\"hljs-literal\">false<\/span>)\r\n    :\r\n   \u521d\u56de\u306e\u521d\u671f\u5316\u304c\u3042\u308b\r\n    :\r\n  <span class=\"hljs-keyword\">else<\/span>\r\n\r\n    {\r\n      NS_LOG_LOGIC (<span class=\"hljs-string\">\"additional signal\"<\/span> &lt;&lt; *m_rxSignal);\r\n      <span class=\"hljs-comment\">\/\/ receiving multiple simultaneous signals, make sure they are synchronized<\/span>\r\n      NS_ASSERT (m_lastChangeTime == Now ());\r\n      <span class=\"hljs-comment\">\/\/ make sure they use orthogonal resource blocks<\/span>\r\n      NS_ASSERT (Sum ((*rxPsd) * (*m_rxSignal)) == <span class=\"hljs-number\">0.0<\/span>);\r\n      (*m_rxSignal) += (*rxPsd);\r\n #\u5185\u90e8\u7684\u306b\u306f\u3001<span class=\"hljs-built_in\">std<\/span>:<span class=\"hljs-built_in\">vector<\/span>\u3092iter\u3067\u56de\u3057\u3066\u5404\u8981\u7d20\u3054\u3068\u306b+=\u3057\u3066\u3044\u308b\u3060\u3051\u3002\r\n    }<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>lte-spectrum-phy.ccvoid LteSpectrumPhy:: <a href=\"https:\/\/www.fatware.jp\/?page_id=387\" class=\"read-more\">\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":377,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-387","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.fatware.jp\/index.php?rest_route=\/wp\/v2\/pages\/387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fatware.jp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fatware.jp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fatware.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fatware.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=387"}],"version-history":[{"count":1,"href":"https:\/\/www.fatware.jp\/index.php?rest_route=\/wp\/v2\/pages\/387\/revisions"}],"predecessor-version":[{"id":389,"href":"https:\/\/www.fatware.jp\/index.php?rest_route=\/wp\/v2\/pages\/387\/revisions\/389"}],"up":[{"embeddable":true,"href":"https:\/\/www.fatware.jp\/index.php?rest_route=\/wp\/v2\/pages\/377"}],"wp:attachment":[{"href":"https:\/\/www.fatware.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}