aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2017-08-03 13:46:31 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2017-08-08 12:54:56 +0200
commitf5e4058c6f2bfeccdb4054c1e9fb7263cea95935 (patch)
tree4ade732e64538a1e475dbf2d32aead684c92feb7
parentd20b41a457787c21fc721a8534ed21f3ef52f028 (diff)
work on docs
-rw-r--r--docs/amps.html60
-rw-r--r--docs/display-iq.pngbin0 -> 2394 bytes
-rw-r--r--docs/display-spectrum.pngbin0 -> 2698 bytes
-rw-r--r--docs/focc.pngbin0 -> 58021 bytes
-rw-r--r--docs/fvc.pngbin0 -> 212300 bytes
-rw-r--r--docs/index.html3
-rw-r--r--docs/recc.pngbin0 -> 134466 bytes
-rw-r--r--docs/sdr.html168
-rw-r--r--docs/sdr.jpgbin0 -> 125987 bytes
9 files changed, 224 insertions, 7 deletions
diff --git a/docs/amps.html b/docs/amps.html
index c2b4180..a381820 100644
--- a/docs/amps.html
+++ b/docs/amps.html
@@ -24,20 +24,21 @@ History
</p>
<p>
-*TBD*
-
-
The Advanced Mobile Phone Service (AMPS) was an analog cellular mobile phone system developed by Bell Labs.
From 1968 to 1983 the Bell Labs worked out the system, while Motorola was developing the cellular phone.
Dr. Martin Cooper produced the first handheld phone "DynaTAC8000x", the famous Brick Phone.
-
-
</p>
<center><img src="amps-dynatac.jpg"/></center>
<center><a href="https://en.wikipedia.org/wiki/Motorola_DynaTAC">Image taken from Wikipedia</a></center>
<p>
+AMPS was one of the first modern cellular phone systems, which remained in operation until 2008.
+Service started in Chicago on October 13, 1983 and in the Washington, DC area December 1983.
+After divestiture, AMPS was divided among the 7 newly created Regional Holding Companies, now known as RBOCs.
+</p>
+
+<p>
<ul>
<li>Frequency range base station: 869.040 MHz - 893.970 MHz
<li>Frequency range mobile station: 824.040 MHz - 848.970 MHz
@@ -58,6 +59,7 @@ Dr. Martin Cooper produced the first handheld phone "DynaTAC8000x", the famous B
<p class="toppic">
<a name="howitworks"></a>
+How it works
</p>
<p>
@@ -68,7 +70,19 @@ Thanx to TIA for allowing me to add the standard document to this project's docu
</p>
<p>
-*TBD* SID and System A/B
+An AMPS network is divided into two systems, System A and System B.
+Both systems have different radio channels.
+System A was assigned to carriers that own no fixed network. (non-wireline)
+System B was assigned to carriers that are phone companies with a fixed network. (wireline)
+</p>
+
+<p>
+Each system has a system ID (SID).
+A SID defines the home network.
+If it does not match with the phone's SID, the phone will show 'ROAM', if not disabled.
+If the SID is odd (1, 3, 5, ...), it belongs to System A.
+If the SID is even (2, 4, 6, ...), it belongs to System B.
+The System A or B or both can be selected on the phone.
</p>
<p>
@@ -78,6 +92,40 @@ An audio level of 25% is raised to 50% by the compressor and lowered to 25% by t
A radio noise floor of 10% would be reduced to 1% by the expander.
</p>
+<p>
+Amps system was the first cellular system.
+By reducing cell size, the frequencies can be reused in lower distances, so more calls can be made in an area with the same amount of channels.
+Different cell sizes require a control of the tranmission power of the phone and the base station.
+A system with small cells must handoff (handover) the call to another cell, if a subscriber moves outside the coverage area.
+In order to know where a phone can be reached, it must register to a new cell (area), if it moves.
+A database keeps track of the current location of the mobile phone.
+</p>
+
+<p>
+<font color="red">Registering, power control and handoff are the key features of a cellular network.</font>
+</p>
+
+<p>
+</p>
+
+<p>
+</p>
+
+<p>
+</p>
+
+<p>
+</p>
+
+<p>
+</p>
+
+<p>
+</p>
+
+<p>
+</p>
+
<p class="toppic">
<a name="basestation"></a>
Setup of a base station
diff --git a/docs/display-iq.png b/docs/display-iq.png
new file mode 100644
index 0000000..845eb6c
--- /dev/null
+++ b/docs/display-iq.png
Binary files differ
diff --git a/docs/display-spectrum.png b/docs/display-spectrum.png
new file mode 100644
index 0000000..30d9087
--- /dev/null
+++ b/docs/display-spectrum.png
Binary files differ
diff --git a/docs/focc.png b/docs/focc.png
new file mode 100644
index 0000000..4adc70f
--- /dev/null
+++ b/docs/focc.png
Binary files differ
diff --git a/docs/fvc.png b/docs/fvc.png
new file mode 100644
index 0000000..3922675
--- /dev/null
+++ b/docs/fvc.png
Binary files differ
diff --git a/docs/index.html b/docs/index.html
index 4b9a6d3..66212b1 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -57,7 +57,8 @@ A second sound card or ISDN card is used to route calls from and to the mobile p
<center>
<ul>
- <li><a href="setup.html">Radio setup</a></li>
+ <li><a href="setup.html">Analog Radio setup</a></li>
+ <li><a href="sdr.html">SDR setup</a></li>
<li><a href="install.html">Software installation</a></li>
<li><a href="headset.html">Connecting headset</a></li>
<li><a href="software.html">Software usage</a></li>
diff --git a/docs/recc.png b/docs/recc.png
new file mode 100644
index 0000000..750fef7
--- /dev/null
+++ b/docs/recc.png
Binary files differ
diff --git a/docs/sdr.html b/docs/sdr.html
new file mode 100644
index 0000000..02bf3c7
--- /dev/null
+++ b/docs/sdr.html
@@ -0,0 +1,168 @@
+<html>
+<head>
+<link href="style.css" rel="stylesheet" type="text/css" />
+<title>osmocom-analog</title>
+</head>
+<body>
+<center><table><tr><td>
+
+<h2><center>SDR setup</center></h2>
+
+<center><img src="sdr.jpg"/></center>
+
+<ul>
+ <li><a href="#intro">Introduction</a>
+ <li><a href="#limesdr">LimeSDR</a>
+ <li><a href="#uhd">UHD</a>
+ <li><a href="#mchan">Multiple channels</a>
+</ul>
+
+<p class="toppic">
+<a name="intro"></a>
+Introduction
+</p>
+
+<p>
+A far more convenient way is to use an SDR.
+Why would you (not) want to do that?
+
+<ul>
+ <li>Not a bunch of cables and radios, just one device.
+ <li>Simulate multiple channels with a single SDR channel.
+ <br>Keep control channel while using voice channel(s).
+ <li>No audio level (deviation) calibration is required.
+ <li>The polarity of the frequency deviation (FFSK) is always correct.
+ <li>No radio mod for discriminator output required.
+ <li>No radio mod for modulator input required.
+ <li>Don't care about correct emphasis.
+ <li>Carrier FSK never returns to zero, no AC coupling.
+ <li>Switching to channel 19 (B-Netz) works without transmitter hack.
+ <li>More experience is required to run an SDR.
+ <li>The device must be full-duplex.
+ <li>In 2017, they are still more expensive than analog radios.
+</ul>
+</p>
+
+<p>
+It may sound weird, but you are able to simulate multiple channels with only one SDR.
+The I/Q data of an SDR allows to shift the frequency.
+By adding multiple frequencies, shifted by different offset, allows to transmit multiple down-link channels at a time.
+By using a filter, the mix of received up-link channels can be separated.
+Multiple channels require multiple CPU usage or even more.
+</p>
+
+<p>
+How to use an SDR and install the driver software and drivers is beyond the scope of this document.
+I assume that you successfully used your SDR with Gnu Radio,
+know how to select antenna connectors,
+know about DC calibration,
+know about clock settings,
+know about transmit and receive gains,
+and so on...
+</p>
+
+<p class="toppic">
+<a name="limesdr"></a>
+LimeSDR
+</p>
+
+<p>
+If you have this device, you need to install the SoapySDR, then the LimeSuit and finally run configure with Osmocom Analog, compile and install.
+Run Osmocom Analog with --help again, and you should see a bunch of option for SDR.
+In case of B-Netz, I use the following parameters:
+</p>
+
+<pre>
+
+# bnetz --sdr-soapy \
+ --sdr-tx-gain 50 \
+ --sdr-rx-gain 30 \
+ --sdr-bandwidth 5000000 \
+ --sdr-samplerate 5000000 \
+ --sdr-tune-args "OFFSET=1000000" \
+ -s 100000 \
+ -k 17
+
+</pre>
+
+<p>
+In order to change from analog sound card to SDR, you need <b>--sdr-soapy</b> option.
+In my setup I use antennas directly connected to the SDR.
+Being about 1-10 meters away, I use the <b>gain</b> as defined above.
+The IF filter requires a minimum <b>bandwidth</b> of 5 MHz.
+The <b>sample rate</b> must be 5 MHz minimum.
+Higher sample rate causes more CPU, RAM and USB load.
+The local oscillator frequency causes the transmitted signal to be noisy, so I shift it 1 MHz away, using an <b>offset</b>.
+The audio processing rate of 100 KHz (<b>-s 100000</b>) is used to generate two channels: <b>17</b> and 19.
+Note that channel 19 is not given here, but will be used automatically.
+With B-Netz, the transmitter switches from any voice channel to the paging channel (19) whenever the phone gets paged.
+</p>
+
+<center><img src="display-iq.png"/></center>
+
+<p>
+The RX gain is quite important.
+You can monitor it by pressing 'q' key.
+You will get an ASCII art plot of received IQ data.
+Press 'q' again and you will get a logarithmic view of IQ vectors.
+Press 'q' again to turn off this view.
+Please monitor this view when the phone tries to call or register.
+If the dots are yellow or red, the received signal overdrives the ADC.
+If the linear view shows not a nice, skinny circle, if the phone transmits, the input of your SDR might be saturated.
+</p>
+
+<center><img src="display-spectrum.png"/></center>
+
+<p>
+Press 's' to get an ASCII art graph of received frequency spectrum.
+The spectrum's bandwidth is defined by the sample rate (-s) and not by the SDR sample rate!
+If you don't get this nice peak, but maybe several peaks, you might have the input over-driven.
+Note that the peak will spread by the frequency deviation, so the peak might look noisy on the top.
+If the peak is quite low, check the input gain.
+</p>
+
+<p class="toppic">
+<a name="uhd"></a>
+UHD
+</p>
+
+<p>
+Most things apply to the things stated at the LimeSDR section.
+I have good experience, even without using IF offset or special resampling (--sdr-samplerate) or special bandwidth settings.
+</p>
+
+<p>
+You can run any UHD device using SoapySDR or UHD API.
+Use "--sdr-uhd" to use the UHD API.
+</p>
+
+<p>
+
+</p>
+
+<p class="toppic">
+<a name="mchan"></a>
+Multiple Channels
+</p>
+
+<p>
+One nice things about SDR is that a spectrum is transmitted and not just one modulated carrier.
+Because the carrier is actually generated in software, we can generate multiple carriers that fit in our bandwidth.
+I suggest to have at least one channel space between channels you want to generate.
+I suggest to use channel 1 and 3 or even channel 1 and 4 for NMT system.
+The software will notice you, if the channels wont fit into the bandwidth.
+In this case increase the sample rate (-s) to generate a wider spectrum. (--sdr-samplerate must not need to be changed)
+</p>
+
+<p>
+Note that the CPU usage increases for the main thread.
+I suggest to monitor the usage using "top -H".
+You will see each thread. Be sure not to get too close to 100 percent.
+I suggest to stay below 50%, at least for all threads.
+</p>
+
+<hr><center>[<a href="index.html">Back to main page</a>]</center><hr>
+</td></tr></table></center>
+</body>
+</html>
+
diff --git a/docs/sdr.jpg b/docs/sdr.jpg
new file mode 100644
index 0000000..e93eb67
--- /dev/null
+++ b/docs/sdr.jpg
Binary files differ