{"action":"created","issue":{"url":"https://api.github.com/repos/thompsy/jLTE-Simulator/issues/2","labels_url":"https://api.github.com/repos/thompsy/jLTE-Simulator/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/thompsy/jLTE-Simulator/issues/2/comments","events_url":"https://api.github.com/repos/thompsy/jLTE-Simulator/issues/2/events","html_url":"https://github.com/thompsy/jLTE-Simulator/issues/2","id":69450847,"number":2,"title":"Unclear implementation details","user":{"login":"khanh-nguyen","id":7800904,"avatar_url":"https://avatars.githubusercontent.com/u/7800904?v=3","gravatar_id":"","url":"https://api.github.com/users/khanh-nguyen","html_url":"https://github.com/khanh-nguyen","followers_url":"https://api.github.com/users/khanh-nguyen/followers","following_url":"https://api.github.com/users/khanh-nguyen/following{/other_user}","gists_url":"https://api.github.com/users/khanh-nguyen/gists{/gist_id}","starred_url":"https://api.github.com/users/khanh-nguyen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khanh-nguyen/subscriptions","organizations_url":"https://api.github.com/users/khanh-nguyen/orgs","repos_url":"https://api.github.com/users/khanh-nguyen/repos","events_url":"https://api.github.com/users/khanh-nguyen/events{/privacy}","received_events_url":"https://api.github.com/users/khanh-nguyen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-04-19T18:23:51Z","updated_at":"2015-06-16T04:56:15Z","closed_at":null,"body":"Hi @thompsy,\r\nI have some questions about your simulator. Hope you don't mind helping me understand it better.\r\n* **[calcServingSectors()](https://github.com/thompsy/jLTE-Simulator/blob/master/src/main/java/uk/co/downthewire/jLTE/simulator/Simulator.java#L117)**\r\nIn your `Simulator.java()`, you use `calcServingSectors()` to find out which UE is served by which sector based on the DL gain. This is done before executing `main.run()`. However, it's only called *once*. What if UEs move? Their positions change. Shouldn't their serving sectors must change as well?\r\n\r\n* **[ue.calculateSignalAcrossAllRBs()](https://github.com/thompsy/jLTE-Simulator/blob/master/src/main/java/uk/co/downthewire/jLTE/simulator/ue/UE.java#L121)**\r\nIn `calculateSignalAcrossAllRBs()` from `UE.java`, for each RB, you first calculate `signal = calculateSignal(RB);`, which in turn call `signalPerRB[RB.id].accumulate(rxSignal);`. Then, you call `signalPerRB[RB.id].accumulate(signal);`. That said, on the same RB, you accumulate signal twice. Why so? Is that a bug?\r\n\r\n* **iterations**\r\nIn your simulation, the number of iterations is 128. Is each iteration equivalent to `1ms`? Isn't it too small to achieve any meaningful result since each LTE frame is already `10ms`? Why the number of iterations must be power of 2?\r\n\r\n* **LTE frame configuration**\r\nLTE specs specify fixed number of [frame configurations](http://www.radio-electronics.com/info/cellulartelecomms/lte-long-term-evolution/lte-frame-subframe-structure.php). In each configuration, there's certain number of UL and DL subframes. How is that addressed in your simulation?\r\n\r\nThank you very much in advance. "},"comment":{"url":"https://api.github.com/repos/thompsy/jLTE-Simulator/issues/comments/112291547","html_url":"https://github.com/thompsy/jLTE-Simulator/issues/2#issuecomment-112291547","issue_url":"https://api.github.com/repos/thompsy/jLTE-Simulator/issues/2","id":112291547,"user":{"login":"khanh-nguyen","id":7800904,"avatar_url":"https://avatars.githubusercontent.com/u/7800904?v=3","gravatar_id":"","url":"https://api.github.com/users/khanh-nguyen","html_url":"https://github.com/khanh-nguyen","followers_url":"https://api.github.com/users/khanh-nguyen/followers","following_url":"https://api.github.com/users/khanh-nguyen/following{/other_user}","gists_url":"https://api.github.com/users/khanh-nguyen/gists{/gist_id}","starred_url":"https://api.github.com/users/khanh-nguyen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khanh-nguyen/subscriptions","organizations_url":"https://api.github.com/users/khanh-nguyen/orgs","repos_url":"https://api.github.com/users/khanh-nguyen/repos","events_url":"https://api.github.com/users/khanh-nguyen/events{/privacy}","received_events_url":"https://api.github.com/users/khanh-nguyen/received_events","type":"User","site_admin":false},"created_at":"2015-06-16T04:56:15Z","updated_at":"2015-06-16T04:56:15Z","body":"@thompsy I guess you were busy but I couldn't find out any good explanation for my questions above. Hopefully, you can give me some hints when you get some time. \r\n\r\n* So, according to the [3GPP. TS 36.942](http://www.etsi.org/deliver/etsi_tr/136900_136999/136942/12.00.00_60/tr_136942v120000p.pdf) (ref. [6] in your thesis), which you used to compute pathloss (aka. propagation model), the formula for received power is: `RX_PWR = TX_PWR – Max (pathloss – G_TX – G_RX, MCL)`, where `G_TX` is transmitter antenna gain and `G_RX` is receiver antenna gain. This is quite different from how received power is calculated in this simulation `rxSignal = txPower * scheduledPowerFactor`.\r\n* Also, in that spec, `gamma` is either 0.8 and 1, while you had a very big function to compute it. \r\n\r\nIf you find some time, I'd really love to get some explanation from you.\r\n\r\nMany thanks, "}}