{"action":"created","issue":{"url":"https://api.github.com/repos/jakapoor/AMRUPT/issues/20","repository_url":"https://api.github.com/repos/jakapoor/AMRUPT","labels_url":"https://api.github.com/repos/jakapoor/AMRUPT/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/jakapoor/AMRUPT/issues/20/comments","events_url":"https://api.github.com/repos/jakapoor/AMRUPT/issues/20/events","html_url":"https://github.com/jakapoor/AMRUPT/issues/20","id":340848673,"node_id":"MDU6SXNzdWUzNDA4NDg2NzM=","number":20,"title":"Can distributed RTL-SDRs receive a frequency-hopped signal without losing coherence to other ground-nodes?","user":{"login":"jakapoor","id":23314448,"node_id":"MDQ6VXNlcjIzMzE0NDQ4","avatar_url":"https://avatars0.githubusercontent.com/u/23314448?v=4","gravatar_id":"","url":"https://api.github.com/users/jakapoor","html_url":"https://github.com/jakapoor","followers_url":"https://api.github.com/users/jakapoor/followers","following_url":"https://api.github.com/users/jakapoor/following{/other_user}","gists_url":"https://api.github.com/users/jakapoor/gists{/gist_id}","starred_url":"https://api.github.com/users/jakapoor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakapoor/subscriptions","organizations_url":"https://api.github.com/users/jakapoor/orgs","repos_url":"https://api.github.com/users/jakapoor/repos","events_url":"https://api.github.com/users/jakapoor/events{/privacy}","received_events_url":"https://api.github.com/users/jakapoor/received_events","type":"User","site_admin":false},"labels":[{"id":883908856,"node_id":"MDU6TGFiZWw4ODM5MDg4NTY=","url":"https://api.github.com/repos/jakapoor/AMRUPT/labels/problem","name":"problem","color":"b21e2d","default":false},{"id":732082212,"node_id":"MDU6TGFiZWw3MzIwODIyMTI=","url":"https://api.github.com/repos/jakapoor/AMRUPT/labels/question","name":"question","color":"cc317c","default":true}],"state":"open","locked":false,"assignee":{"login":"vha3","id":5074226,"node_id":"MDQ6VXNlcjUwNzQyMjY=","avatar_url":"https://avatars0.githubusercontent.com/u/5074226?v=4","gravatar_id":"","url":"https://api.github.com/users/vha3","html_url":"https://github.com/vha3","followers_url":"https://api.github.com/users/vha3/followers","following_url":"https://api.github.com/users/vha3/following{/other_user}","gists_url":"https://api.github.com/users/vha3/gists{/gist_id}","starred_url":"https://api.github.com/users/vha3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vha3/subscriptions","organizations_url":"https://api.github.com/users/vha3/orgs","repos_url":"https://api.github.com/users/vha3/repos","events_url":"https://api.github.com/users/vha3/events{/privacy}","received_events_url":"https://api.github.com/users/vha3/received_events","type":"User","site_admin":false},"assignees":[{"login":"vha3","id":5074226,"node_id":"MDQ6VXNlcjUwNzQyMjY=","avatar_url":"https://avatars0.githubusercontent.com/u/5074226?v=4","gravatar_id":"","url":"https://api.github.com/users/vha3","html_url":"https://github.com/vha3","followers_url":"https://api.github.com/users/vha3/followers","following_url":"https://api.github.com/users/vha3/following{/other_user}","gists_url":"https://api.github.com/users/vha3/gists{/gist_id}","starred_url":"https://api.github.com/users/vha3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vha3/subscriptions","organizations_url":"https://api.github.com/users/vha3/orgs","repos_url":"https://api.github.com/users/vha3/repos","events_url":"https://api.github.com/users/vha3/events{/privacy}","received_events_url":"https://api.github.com/users/vha3/received_events","type":"User","site_admin":false},{"login":"skoviraj","id":6086555,"node_id":"MDQ6VXNlcjYwODY1NTU=","avatar_url":"https://avatars3.githubusercontent.com/u/6086555?v=4","gravatar_id":"","url":"https://api.github.com/users/skoviraj","html_url":"https://github.com/skoviraj","followers_url":"https://api.github.com/users/skoviraj/followers","following_url":"https://api.github.com/users/skoviraj/following{/other_user}","gists_url":"https://api.github.com/users/skoviraj/gists{/gist_id}","starred_url":"https://api.github.com/users/skoviraj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skoviraj/subscriptions","organizations_url":"https://api.github.com/users/skoviraj/orgs","repos_url":"https://api.github.com/users/skoviraj/repos","events_url":"https://api.github.com/users/skoviraj/events{/privacy}","received_events_url":"https://api.github.com/users/skoviraj/received_events","type":"User","site_admin":false},{"login":"jakapoor","id":23314448,"node_id":"MDQ6VXNlcjIzMzE0NDQ4","avatar_url":"https://avatars0.githubusercontent.com/u/23314448?v=4","gravatar_id":"","url":"https://api.github.com/users/jakapoor","html_url":"https://github.com/jakapoor","followers_url":"https://api.github.com/users/jakapoor/followers","following_url":"https://api.github.com/users/jakapoor/following{/other_user}","gists_url":"https://api.github.com/users/jakapoor/gists{/gist_id}","starred_url":"https://api.github.com/users/jakapoor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakapoor/subscriptions","organizations_url":"https://api.github.com/users/jakapoor/orgs","repos_url":"https://api.github.com/users/jakapoor/repos","events_url":"https://api.github.com/users/jakapoor/events{/privacy}","received_events_url":"https://api.github.com/users/jakapoor/received_events","type":"User","site_admin":false},{"login":"russellmsilva","id":29031462,"node_id":"MDQ6VXNlcjI5MDMxNDYy","avatar_url":"https://avatars3.githubusercontent.com/u/29031462?v=4","gravatar_id":"","url":"https://api.github.com/users/russellmsilva","html_url":"https://github.com/russellmsilva","followers_url":"https://api.github.com/users/russellmsilva/followers","following_url":"https://api.github.com/users/russellmsilva/following{/other_user}","gists_url":"https://api.github.com/users/russellmsilva/gists{/gist_id}","starred_url":"https://api.github.com/users/russellmsilva/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/russellmsilva/subscriptions","organizations_url":"https://api.github.com/users/russellmsilva/orgs","repos_url":"https://api.github.com/users/russellmsilva/repos","events_url":"https://api.github.com/users/russellmsilva/events{/privacy}","received_events_url":"https://api.github.com/users/russellmsilva/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-07-13T01:16:27Z","updated_at":"2018-07-21T01:59:19Z","closed_at":null,"author_association":"OWNER","body":"# Background \r\nWe currently have two plans for limiting environmental interference (mainly through multi-path interference) in the planned AMRUPT system:\r\n\r\n1. A 4-antenna element array employing a subspace smoothing algorithm (e.g. MUSIC)\r\n2. A multi-frequency (HMFCW) ranging approach (system of Dr. Kan and colleagues) to select a set of frequencies with good LOS SNR.\r\n\r\nOur current plan is to first attempt a MUSIC-based AOA approach, and if this proves to be inadequate for reaching high precision to next try out the HMFCW ranging technique.\r\n\r\nBecause our receiver units (ground-nodes) will not be driven by the same clock, they will have to be synchronized by known-location beacons or by a GPS signal. \r\n\r\n# Problem\r\nIt may be very difficult to maintain coherence between distributed ground-nodes without recalibration from known-location beacons between each stepped frequency of a single mobile-node transmission. Clearly this is a problem if recalibration is required. If this is a requirement, we will need to determine if an alternative transmission protocol might be a possibility, or determine if GPS-disciplined ground-nodes may allow us to skirt around the issue of recalibration entirely.\r\n\r\n# Recommendation\r\nI believe we should look into the RTL-SDR literature to determine if frequency hopping perturbs synchronization. We should also look into the use of GPS to create a UTC common time between distributed receivers."},"comment":{"url":"https://api.github.com/repos/jakapoor/AMRUPT/issues/comments/406763015","html_url":"https://github.com/jakapoor/AMRUPT/issues/20#issuecomment-406763015","issue_url":"https://api.github.com/repos/jakapoor/AMRUPT/issues/20","id":406763015,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNjc2MzAxNQ==","user":{"login":"jakapoor","id":23314448,"node_id":"MDQ6VXNlcjIzMzE0NDQ4","avatar_url":"https://avatars0.githubusercontent.com/u/23314448?v=4","gravatar_id":"","url":"https://api.github.com/users/jakapoor","html_url":"https://github.com/jakapoor","followers_url":"https://api.github.com/users/jakapoor/followers","following_url":"https://api.github.com/users/jakapoor/following{/other_user}","gists_url":"https://api.github.com/users/jakapoor/gists{/gist_id}","starred_url":"https://api.github.com/users/jakapoor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakapoor/subscriptions","organizations_url":"https://api.github.com/users/jakapoor/orgs","repos_url":"https://api.github.com/users/jakapoor/repos","events_url":"https://api.github.com/users/jakapoor/events{/privacy}","received_events_url":"https://api.github.com/users/jakapoor/received_events","type":"User","site_admin":false},"created_at":"2018-07-21T01:59:19Z","updated_at":"2018-07-21T01:59:19Z","author_association":"OWNER","body":"# Information WRT issue of loss of synchronization during frequency hopping:\r\n\r\nI've found a source of information from Piotr Krysik's Multi-RTL Repo webpage. In it, he explains that synchronization (in terms of bulk-offset) remains intact as different RTL-SDRs are switched between frequencies. The [following](https://ptrkrysik.github.io/) is an excerpt from his discussion of his tests:\r\n\r\n>Before I decided to code time-synchronization myself I have already shown that RTL-SDR receivers keep time-synchronization across re-tunings to different carrier frequencies. I will show it again here with a bit more of the background information.\r\n\r\n>I've coded the test so it first started with recording a signal on a GSM C0 (BCCH) frequency, then it switched to another central frequency where only noise was present and in the end it switched back to the same GSM C0 frequency. The GSM signal's amplitude is periodic with the period of 156.25us - equal to the duration of one GSM TDMA time slot. Each GSM burst transmitted inside of time slot has constant amplitude. After a burst there is always 8.25us long guard period when signal amplitude decreases to 0. If you sample the signal with 4*gsm_symbold_rate=4*1625000/6=1.08333... MHz the length of a time slot in samples is 625. The easy way giving indication that the signal didn't loose synchronization is to look if guard periods are in the expected positions. In order to do this graphically I've cut the signal into blocks of the length of a single time slot, created a matrix with consecutive bursts in the rows and plotted the matrix as an image with pixels intensity representing amplitude. The result can be observed on the image below: \r\n![image](https://user-images.githubusercontent.com/23314448/43031046-b4b9a630-8c4e-11e8-9ea9-17b5141c6dd8.png)\r\nRTL-SDR retune synchronization test\r\n\r\n>You can first see the amplitude of the GSM signal, then amplitude of noise and in the end amplitude of the GSM signal again. What can be seen is that guard periods after two retunes of a RTL-SDR receiver are aligned. The same situation repeated for all recordings I made. Synchronization is kept. Hurray!\r\n\r\n>This experiment had shown that it is possible to time-synchronize multiple RTL-SDR dongles working on different frequencies with very simple means:\r\n> - tuning the RTL-SDR dongles to the same frequency where some transmission is present,\r\n> - recording a short signals with all of the dongles,\r\n> - computing cross-correlation of the signals (i.e. with respect to a one selected channel),\r\n> - finding position of maximums of cross-correlations in order to estimate relative delays of the channels,\r\n> - correcting the delays so the channels are time-synchronized,\r\n> - switching the dongles to their target frequencies,\r\n> - changing other parameters of the channels (like gains) to target values."}}
{"actor":{"display_login":"jakapoor"}}