<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Uncategorized Archives - CloudRF</title>
	<atom:link href="https://cloudrf.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>https://cloudrf.com/category/uncategorized/</link>
	<description>Radio planning today</description>
	<lastBuildDate>Tue, 21 Apr 2026 16:19:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://cloudrf.com/wp-content/uploads/2021/05/CloudRF_logo_70px.png</url>
	<title>Uncategorized Archives - CloudRF</title>
	<link>https://cloudrf.com/category/uncategorized/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Optimising drone detection with RF simulation</title>
		<link>https://cloudrf.com/optimising-drone-detection-with-rf-simulation/</link>
		
		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 15:20:34 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://cloudrf.com/?p=62370</guid>

					<description><![CDATA[<p>The rapid growth of Counter Unmanned Aerial Systems (C-UAS) across government, public, and commercial sectors has increased the need for&#160;accurate&#160;modelling to improve sensor siting and effectiveness. This blog explores how Counter- (C-UAS) and RADAR systems can be modelled efficiently within CloudRF to optimise siting and improve their effectiveness. The challenge&#160; The&#160;methodology&#160;for&#160;operating&#160;sensors varies depending on the environment in which they [&#8230;]</p>
<p>The post <a href="https://cloudrf.com/optimising-drone-detection-with-rf-simulation/">Optimising drone detection with RF simulation</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-medium-font-size">The rapid growth of Counter Unmanned Aerial Systems (C-UAS) across government, public, and commercial sectors has increased the need for&nbsp;accurate&nbsp;modelling to improve sensor siting and effectiveness.</p>



<p>This blog explores how Counter- (C-UAS) and RADAR systems can be modelled efficiently within CloudRF to optimise siting and improve their effectiveness.</p>



<h1 class="wp-block-heading">The challenge&nbsp;</h1>



<p>The&nbsp;methodology&nbsp;for&nbsp;operating&nbsp;sensors varies depending on the environment in which they are&nbsp;operating:</p>



<p>In dense urban environments, high-rise buildings reduce Line&nbsp;Of&nbsp;Sight (LOS) and block ultra high frequency signals, creating what are commonly referred to as urban canyons. An example of this effect for a poorly sited sensor at street level is shown in the screenshot below.&nbsp; In such environments, reliable coverage is limited to areas where a clear Line-Of-Sight (LOS) path exists.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-6.png" rel="lightbox[62370]"><img fetchpriority="high" decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image-6.png" alt="" class="wp-image-62430" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-6.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-6-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-6-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-6-416x234.png 416w" sizes="(max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption"><em>Coverage in&nbsp;Dallas, from an S-band receiver operating&nbsp;at 2 m AGL, with the drone height at 50 m AGL.&nbsp;</em></figcaption></figure>
</div>


<p>By contrast, in <strong>open rural environments</strong>, where terrain and structural obstructions are minimal, significantly&nbsp;greater&nbsp;and more consistent coverage is achieved using the same transmitter configuration. This comparison highlights the substantial impact that the environment has upon system performance.&nbsp;</p>



<p>Similar challenges arise in environments where <strong>vegetation screening</strong> is present, particularly in forested and jungle regions. Dense foliage, tree canopies, and uneven terrain can significantly obstruct LOS. These factors degrade the performance of C-UAS and RADAR systems by reducing detection ranges and creating coverage gaps. As a result, system effectiveness is biased towards clearings or elevated positions where partial LOS above vegetation can be&nbsp;maintained.&nbsp;&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-7.png" rel="lightbox[62370]"><img decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image-7.png" alt="" class="wp-image-62436" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-7.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-7-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-7-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-7-416x234.png 416w" sizes="(max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Best Site Analysis for a transmitter&nbsp;operating&nbsp;at 2 m AGL, with the receiver positioned at 50 m AGL in Sweden.</figcaption></figure>
</div>


<p>Operators in obstacle-dense environments&nbsp;are therefore required to&nbsp;invest&nbsp;significant time&nbsp;in&nbsp;identifying&nbsp;suitable siting locations to maximise their equipment’s performance. This can be a challenging task due to access restrictions and the time&nbsp;required&nbsp;to conduct map studies and pre-deployment reconnaissance. These activities are resource-intensive and place&nbsp;additional&nbsp;demands on system operators who may already be&nbsp;operating&nbsp;under tight time constraints.&nbsp;</p>



<p>Time invested in developing and optimising siting locations can be quickly undermined by the introduction of new obstacles that block LOS. These obstructions may take various forms, ranging from temporary structures erected for events to newly constructed buildings. Such changes can significantly degrade system performance and&nbsp;necessitate&nbsp;reassessment and reconfiguration of established sites.&nbsp;</p>



<p>An often-overlooked challenge across all operating environments is spectrum noise. Noise levels vary significantly between locations and&nbsp;fluctuate&nbsp;due to changing environmental and human activity. While pre-event site visits and planning can help&nbsp;establish&nbsp;baseline conditions,&nbsp;increased traffic&nbsp;during an&nbsp;event&nbsp;such&nbsp;as a motorsport or a music festival&nbsp;can raise noise levels to unprecedented levels,&nbsp;degrading system&nbsp;performance&nbsp;and detection reliability.&nbsp;&nbsp;</p>



<p>Another challenge facing teams is whether they are looking to counter the Unmanned Aerial Vehicle (UAV) or the controller. Locating the controller can vary in complexity depending on how the drone is&nbsp;operating. A drone&nbsp;operating&nbsp;on the 2.4GHz ISM band may stand out against the normal radio environment due to its&nbsp;relatively strong&nbsp;and&nbsp;distinctive&nbsp;spiky&nbsp;FSK signal, whereas a drone&nbsp;operated&nbsp;via LTE or 5G SA will be more difficult to distinguish among dense cellular traffic.&nbsp;</p>



<p class="has-medium-font-size"><strong>Terrain, buildings, vegetation, and RF noise constrain coverage, making site&nbsp;selection key to system effectiveness.</strong>&nbsp;</p>



<h1 class="wp-block-heading">The Solution&nbsp;</h1>



<p>Modelling coverage and&nbsp;identifying&nbsp;transmission sites for these systems can be done quickly and effectively using tools which are accessible to not only radio engineers but <strong><span style="text-decoration: underline;">operators</span></strong> on CloudRF.&nbsp;&nbsp;</p>



<p>The first step to using the system efficiently is to setup a template. This is how we can save our settings for systems and reference them quickly for future calculations. Templates include information about the transmission and receiving station(s), such as heights, frequencies, power, antennas and environmental factors, some of which are discussed further below.&nbsp;&nbsp;</p>



<h2 class="wp-block-heading has-medium-font-size"><strong>Making the Template&nbsp;</strong></h2>



<p>When designing a template for a C-UAS or RADAR system, we should apply&nbsp;additional&nbsp;consideration to the following:&nbsp;</p>



<h4 class="wp-block-heading"><strong><em>Height Measurement</em>&nbsp;</strong></h4>



<p>We can specify the height unit to be measured as Above Ground Level (AGL) or Above Sea Level (ASL), in either metres or feet. RADAR systems looking to&nbsp;locate&nbsp;fixed wing platforms are better suited for Feet ASL, whilst UAVs which use &#8220;GPS height&#8221; reference Metres AGL as their primary height reference, especially for restrictions which are also communicated as AGL. For example, consumer drones are restricted to 120m (400ft) AGL in the UK.</p>



<p class="has-black-color has-cyan-bluish-gray-background-color has-text-color has-background has-link-color wp-elements-5ef460695f0c40ad7c3c0865191b6a1c"><em>Running calculations in ASL is recommended for experienced users of CloudRF. When the transmitter location is changed, the height will need to be adjusted to consider the ground beneath. If not adjusted correctly, transmitters and receivers can be placed underground by accident resulting in an error. </em></p>



<p><strong>&nbsp;Use AGL for UAV operations and ASL for high-altitude RADAR targets to match the domain/system altitude references.</strong>&nbsp;</p>



<h4 class="wp-block-heading"><strong>Model</strong>&nbsp;&nbsp;</h4>


<div class="wp-block-image">
<figure class="alignright size-full is-resized"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-16.png" rel="lightbox[62370]"><img decoding="async" width="404" height="255" src="https://cloudrf.com/wp-content/uploads/2026/04/image-16.png" alt="" class="wp-image-62697" style="width:385px;height:auto" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-16.png 404w, https://cloudrf.com/wp-content/uploads/2026/04/image-16-300x189.png 300w" sizes="(max-width: 404px) 100vw, 404px" /></a></figure>
</div>


<p>When designing a template for a RADAR system, the dedicated RADAR model should be used. This model is more that just line of sight as it uses a Radar Cross Section (RCS) value, allowing operators to define the size of targets they intend to detect where a drone has a smaller RCS (0.04) than a plane ( 6.0 ) which limits it&#8217;s detection range compared with a plane. By configuring&nbsp;appropriate RCS&nbsp;values, the model can more accurately&nbsp;represent&nbsp;real-world detection performance.&nbsp;</p>



<p>For a counter-UAS (C-UAS) system, the recommended model is ITU-R P.1812 with an average context, 50% reliability and diffraction turned off. This combination of model and diffraction will simulate the high frequencies&nbsp;and line-of-sight coverage utilised&nbsp;by C-UAS systems and has been proven to be the most accurate model during <a href="https://cloudrf.com/choosing-an-rf-propagation-model/" type="post" id="60042">our model testing</a>.</p>



<p></p>


<div class="wp-block-image">
<figure class="alignright size-full is-resized"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-17.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="392" height="232" src="https://cloudrf.com/wp-content/uploads/2026/04/image-17.png" alt="" class="wp-image-62700" style="width:383px;height:auto" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-17.png 392w, https://cloudrf.com/wp-content/uploads/2026/04/image-17-300x178.png 300w" sizes="auto, (max-width: 392px) 100vw, 392px" /></a></figure>
</div>


<p class="has-normal-font-size"><strong>Use the RADAR model with RCS values of 0.05 for air-surveillance and ITU-R P.1812 (diffraction off) for UHF C-UAS sensors.</strong>&nbsp;</p>



<p></p>



<p></p>



<h4 class="wp-block-heading"><strong>Environment</strong>&nbsp;</h4>



<p>Obstacles affecting system coverage can be configured within CloudRF through the Environment submenu.&nbsp;</p>



<p>CloudRF provides access to extensive global clutter datasets, including 10m land cover, 2m building data, and, in selected regions, 2m LiDAR and tree canopy height data.&nbsp;&nbsp;</p>



<p>An interactive map showing the availability of this data can be accessed at the following link &#8211;&nbsp;<a href="https://api.cloudrf.com/API/terrain" target="_blank" rel="noreferrer noopener">https://api.cloudrf.com/API/terrain</a>&nbsp;</p>



<p><em><a href="https://cloudrf.com/soothsayer/" type="page" id="6612">SOOTHSAYER</a><sup>TM</sup> users can import their own LiDAR in addition to&nbsp;CloudRFs&nbsp;DEM archive.&nbsp;</em></p>



<p>For added accuracy, obstacle attenuation can be fine-tuned using clutter profiles, allowing operators to accurately&nbsp;represent&nbsp;real-world conditions. This level of customisation enables precise coverage predictions and improves confidence in system performance assessments especially at lower frequencies where NLOS attenuation needs to be considered as well as LOS.</p>



<p>To deal with temporary or new obstacles not currently in the DEM dataset, users&nbsp;can enable&nbsp;the &#8216;My Obstacles&#8217; feature to manually draw or upload a KMZ/Geojson&nbsp;of the obstacle(s) to be included in the coverage prediction.&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/03/tree-canopy-heights.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="900" height="363" src="https://cloudrf.com/wp-content/uploads/2026/03/tree-canopy-heights.png" alt="" class="wp-image-61392" srcset="https://cloudrf.com/wp-content/uploads/2026/03/tree-canopy-heights.png 900w, https://cloudrf.com/wp-content/uploads/2026/03/tree-canopy-heights-300x121.png 300w, https://cloudrf.com/wp-content/uploads/2026/03/tree-canopy-heights-768x310.png 768w, https://cloudrf.com/wp-content/uploads/2026/03/tree-canopy-heights-416x168.png 416w" sizes="auto, (max-width: 900px) 100vw, 900px" /></a></figure>
</div>


<h4 class="wp-block-heading"><strong>Noise</strong>&nbsp;</h4>



<p>Noise is often an overlooked factor in radio network planning, yet its impact on coverage and performance is significant. By incorporating measured or simulated noise data, the planning environment will more accurately replicate real-world radio conditions. </p>



<p>This enables operators to reflect variations in the operating environment  whether accounting for daily commuter traffic patterns or preparing for <strong>large-scale events such as concerts and sporting fixtures, where spectrum density and interference levels both increase substantially.</strong>&nbsp;&nbsp;</p>



<p>Noise is a factor within the template&#8217;s environment block. This value can either be manually entered eg. -100dBm or referenced from&nbsp;an&nbsp;uploaded dataset from multiple locations, creating a visible noise layer on the map.&nbsp;&nbsp;</p>


<div class="wp-block-image">
<figure class="alignright size-full is-resized"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-18.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="388" height="289" src="https://cloudrf.com/wp-content/uploads/2026/04/image-18.png" alt="" class="wp-image-62715" style="aspect-ratio:1.3425981073390245;width:370px;height:auto" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-18.png 388w, https://cloudrf.com/wp-content/uploads/2026/04/image-18-300x223.png 300w" sizes="auto, (max-width: 388px) 100vw, 388px" /></a></figure>
</div>


<p>Live noise can also be simulated in calculations&nbsp;by using&nbsp;networked SDRs. We have&nbsp;published&nbsp;an example capability here:&nbsp;<a href="https://github.com/Cloud-RF/DORA" target="_blank" rel="noreferrer noopener">https://github.com/Cloud-RF/DORA</a>&nbsp;</p>



<p><strong>Our recommended default settings are for Landcover and Buildings to be ON with the Temperate clutter profile which represents dense trees.</strong>&nbsp;</p>



<p>If you do not know the noise figure at your receiver, enter -100dBm which is typical of the ISM 2.4GHz band but will vary widely by location. Noise is measured across a channel so should be measured with the appropriate bandwidth. Johnson-Nyquist theory means (channel) noise increases with bandwidth and to a lesser extent, temperature.</p>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><tbody><tr><td><strong>Bandwidth MHz</strong></td><td><strong>Channel Noise dBm</strong></td></tr><tr><td>1</td><td>-114</td></tr><tr><td>10</td><td>-104</td></tr><tr><td>20</td><td>-101</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><strong>Tools &amp; Features&nbsp;</strong></h2>



<p>Once we have created a&nbsp;system template,&nbsp;we can use&nbsp;it with a number of&nbsp;tools to&nbsp;identify&nbsp;a transmission site and then&nbsp;determine&nbsp;the effective coverage from that location.&nbsp;</p>



<h4 class="wp-block-heading"><strong>Best Site Analysis (BSA)&nbsp;</strong></h4>



<p>BSA is a powerful search tool designed to&nbsp;identify&nbsp;optimal&nbsp;transmitter placement locations defined by a geographical area.&nbsp;It performs hundreds of tests rapidly with a GPU in an area using a full propagation model with transmitter parameters. Positions are graded and then ranked to present the results as a heatmap image.</p>



<p><em>“The examples used in this document have been generated using KMZ and&nbsp;GeoJSON&nbsp;files. These can be imported into the User Interface (UI) via the Import Menu – Best Site Analysis. This is our recommended way to use the tool, as the simulation can be re-run with the same defined area and speed up the process when comparing a variety of height levels. There are&nbsp;numerous&nbsp;ways of doing this. Numerous software packages can do this; KMZ files can be created in Google Earth,&nbsp;and GeoJSON&nbsp;files can be created via geojson.io”</em>&nbsp;</p>



<p>BSA is particularly valuable for&nbsp;identifying&nbsp;viable&nbsp;transmitter sites that may be overlooked through traditional planning methods such as &#8220;walking the ground&#8221; for example. By automating complex visibility analysis, users obtain actionable results within minutes, significantly reducing the time and effort associated with manual studies.&nbsp;</p>



<p>The recommended locations require interpretation. For example, if you are working with a DSM LiDAR model which contains water, this may be ranked as an efficient site. An operator will likely discount this, but that doesn&#8217;t mean that an adversary will as <a href="https://www.youtube.com/watch?v=T_tFSWZXKN0">launching a drone from a boat is effective</a>.</p>



<p class="has-medium-font-size"><strong>BSA ranks the most effective transmitter locations within an area using inter-visibility scoring.</strong>&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-21.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="1024" height="647" src="https://cloudrf.com/wp-content/uploads/2026/04/image-21-1024x647.png" alt="" class="wp-image-62745" style="aspect-ratio:1.5827358490566037;width:706px;height:auto" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-21-1024x647.png 1024w, https://cloudrf.com/wp-content/uploads/2026/04/image-21-300x189.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-21-768x485.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-21-416x263.png 416w, https://cloudrf.com/wp-content/uploads/2026/04/image-21.png 1034w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Mountain Lake analysis showing both the lake and ridges as good sites within the area of interest</figcaption></figure>
</div>


<h4 class="wp-block-heading"><strong>Area Calculation&nbsp;</strong></h4>



<p>Once suitable candidate sites have been&nbsp;located, we can use the <strong>Area </strong>endpoint via the UI or API to see the coverage of our system at various heights. The heights chosen for the receiver will depend on the asset that we are looking to target with the C-UAS or radar system, for example 100m AGL.</p>



<p>The heatmaps created by the Area endpoint show the coverage of the transmitter to the receiver using the settings prescribed in the template. Heatmaps are useful for&nbsp;identifying&nbsp;<strong>areas with and without coverage</strong> and can&nbsp;assist&nbsp;in the&nbsp;decision-making&nbsp;process for the deployment of&nbsp;additional&nbsp;assets to further enhance coverage.&nbsp;&nbsp;</p>



<p><strong>&nbsp;Area calculations can show coverage from a candidate site and expose gaps and shadowed airspace.</strong>&nbsp;</p>



<h4 class="wp-block-heading"><strong>Best Server<em>&nbsp;</em></strong></h4>



<p>Best Server is a feature which can be used with an established network. The Best Server tool will check each node for coverage to the designated receiver location. This allows the coverage from a large network of radios to be checked at various heights quickly, a common requirement when planning C-UAS, Radar or any Ground-To-Air transmission.&nbsp;</p>



<p><strong>&nbsp;Best Server&nbsp;identifies&nbsp;which network nodes can affect a target at a given height and location.</strong>&nbsp;</p>



<h2 class="wp-block-heading"><strong>Case Study 1 – C-UAS Site Selection &#8211; Texas, USA&nbsp;</strong></h2>



<p><em>Difficulty: Easy</em>&nbsp;</p>



<p>This case study evaluates&nbsp;optimal&nbsp;C-UAS siting and coverage performance in the vicinity of a major sports stadium in Arlington, Texas.&nbsp;</p>



<h4 class="wp-block-heading"><em><strong>Inputs</strong>&nbsp;</em></h4>



<ul class="wp-block-list">
<li><em>C-UAS template</em>&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li><em>Defined area of interest</em>&nbsp;</li>
</ul>



<h4 class="wp-block-heading"><strong><em>Process</em></strong>&nbsp;</h4>



<ul class="wp-block-list">
<li><em>Best Site Analysis to generate and score candidate locations</em>&nbsp;</li>
</ul>



<h4 class="wp-block-heading"><strong><em>Outputs</em></strong>&nbsp;</h4>



<ul class="wp-block-list">
<li><em>Coverage heatmaps per site (multi-height Area analysis)</em>&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li><em>Identification of coverage gaps and shadowed regions</em>&nbsp;</li>
</ul>



<h4 class="wp-block-heading"><strong><em>Decisions</em></strong>&nbsp;</h4>



<ul class="wp-block-list">
<li><em>Select primary deployment site(s)</em>&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li><em>Position&nbsp;additional&nbsp;systems for full airspace coverage</em>&nbsp;</li>
</ul>



<p>The system represented by the template in this simulation is an omnidirectional C-UAS system,&nbsp;operating&nbsp;at 2.4GHz, with a 3m tall antenna. For the&nbsp;initial&nbsp;survey, the receiver height is set to 150m AGL, this can be reduced for more in-depth planning throughout the planning process.&nbsp;&nbsp;&nbsp;</p>



<p>The model used for this survey is ITU-R P.1812, with diffraction turned off. Within the city of Arlington, there is 2m LiDAR available, which has been selected by setting the Environment to Surface/DSM (LiDAR), and a resolution of 2m.&nbsp;&nbsp;</p>



<p>With the template for the C-UAS created, Best Site Analysis can now be used to&nbsp;identify&nbsp;optimal&nbsp;locations for siting the system.&nbsp;&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-8.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image-8.png" alt="" class="wp-image-62439" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-8.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-8-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-8-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-8-416x234.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption"><em>Best Site Analysis IVO Dallas Cowboys Stadium, Arlington, Texas, with a 3m AGL transmitter and a receiver at 150m AGL.&nbsp;</em>&nbsp;</figcaption></figure>
</div>


<p>After defining the desired area of coverage, we are presented with a layer with sites scored according to their intervisibility.&nbsp;&nbsp;</p>



<p>Using the slider to filter out lower-scoring positions, areas with higher intervisibility can be highlighted on the map.&nbsp;</p>



<p>Based on the analysis, the highest-scoring sites were located on the roof of the stadium and towards the car parks on the South side of the stadium.&nbsp;&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-1.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="834" height="469" src="https://cloudrf.com/wp-content/uploads/2026/04/image-1.png" alt="" class="wp-image-62376" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-1.png 834w, https://cloudrf.com/wp-content/uploads/2026/04/image-1-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-1-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-1-416x234.png 416w" sizes="auto, (max-width: 834px) 100vw, 834px" /></a><figcaption class="wp-element-caption">Filtered Best Site Analysis Results, highlighting high-scoring sites.</figcaption></figure>
</div>


<p class="has-black-color has-cyan-bluish-gray-background-color has-text-color has-background has-link-color has-medium-font-size wp-elements-664724bf132cd6b953dc31887d6ebb9f"><em>“For best practice, we recommend evaluating&nbsp;numerous&nbsp;positions. In the above example, the centre of the stadium is the&nbsp;optimal&nbsp;position. However, it is not&nbsp;in a practical sense, i.e. is the stadium roof safe? Other considerations could include access rights,&nbsp;sustainment&nbsp;and logistical requirements.”</em>&nbsp;</p>



<p>With these positions&nbsp;identified, the Area endpoint can be used to evaluate the coverage.&nbsp;&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image.png" alt="" class="wp-image-62373" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-416x234.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Coverage from the Tx to an RX at 150m AGL.</figcaption></figure>
</div>


<p>Setting the receiver at a height of 150m AGL, there is good coverage within a 5km radius of the transmitter. The weakest areas of coverage are directly overhead of the transmitter, where the null of the dipole has the lowest gain.&nbsp;&nbsp;</p>



<p>UAVs can&nbsp;operate&nbsp;at different heights so coverage should be evaluated at a variety of receiver heights within the local threat capability. For the next&nbsp;simulation,&nbsp;the height of the receiver is set to 10m AGL.&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-9.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image-9.png" alt="" class="wp-image-62448" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-9.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-9-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-9-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-9-416x234.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Coverage from the Tx to an Rx at 10m AGL.</figcaption></figure>
</div>


<p>The coverage of the C-UAS system is now reduced. Obstacles in the environment, including buildings and trees, have a greater effect on the signal, blocking the line of sight and reducing overall coverage.&nbsp;&nbsp;</p>



<p>A particular point of focus is the area directly around the transmitter. Due to the curvature of the roof and the relative height of the building compared to the ground, positioning the C-UAS system on the roof creates shadows around 400m away from the stadium, where there is no coverage.&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-3.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image-3.png" alt="" class="wp-image-62379" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-3.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-3-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-3-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-3-416x234.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Coverage from the Tx located centrally on the stadium.</figcaption></figure>
</div>


<p>One chain of thought for solving this issue could be to position the transmitter on the side of the stadium.&nbsp;By changing position and re-running the simulation, there&nbsp;is an improvement in coverage to the South of the stadium, but now the stadium is blocking a large majority of the signal to the North, requiring the deployment of further systems to provide coverage in the area&nbsp;required.&nbsp;</p>



<p>Having multiple sensors improves system resilience to failure or interference and improves detection.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-2.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image-2.png" alt="" class="wp-image-62382" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-2.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-2-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-2-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-2-416x234.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Coverage from the Tx located on the southern side of the stadium.</figcaption></figure>
</div>


<p>Alternate locations&nbsp;identified&nbsp;during the&nbsp;initial&nbsp;Best Site Analysis can also be assessed for deployment of the C-UAS system. For example, positioning the transmitter in the car park to the south of the stadium allows us to save a site template and quickly generate 3D airspace coverage using the 3D-Airspace script. This enables rapid visualisation of coverage performance at multiple altitudes.&nbsp;</p>



<p>This script will create a KMZ showing multiple layers based on the height of the receiver. In this case, with&nbsp;an&nbsp;upper ceiling of 150m, the script will create layers every fifteen meters.&nbsp;</p>



<p>The script using these requests is available via&nbsp;<a href="https://github.com/Cloud-RF/CloudRF-API-clients/tree/master/python/3d-airspace" target="_blank" rel="noreferrer noopener">https://github.com/Cloud-RF/CloudRF-API-clients/tree/master/python/3d-airspace</a>.&nbsp;</p>



<p>&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-10.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="523" src="https://cloudrf.com/wp-content/uploads/2026/04/image-10.png" alt="" class="wp-image-62451" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-10.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-10-300x174.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-10-768x446.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-10-416x241.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Results from 3D Airspace Analysis.</figcaption></figure>
</div>


<p>From this analysis, there is greater coverage of the southern side of the stadium, previously in the shadow of the C-UAS site on the rooftop. The stadium itself is still acting as a major&nbsp;obstacle;&nbsp;the deployment of multiple systems would be&nbsp;required&nbsp;to cover the entire stadium area.&nbsp;&nbsp;</p>



<p>Adding multiple systems into this network and creating a single layer to&nbsp;demonstrate&nbsp;coverage is possible by using the Superlayer tool, allowing commanders and operators to get a clear overview of sensor coverage.&nbsp;&nbsp;</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"><div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-4.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image-4.png" alt="" class="wp-image-62385" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-4.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-4-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-4-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-4-416x234.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Superlayer of multiple C-UAS systems.</figcaption></figure>
</div></div></div>



<p>The Best Server tool can also be used to evaluate a network of C-UAS systems.&nbsp;Using the established network, a UAV can then be added into the simulation, flying at a height&nbsp;of&nbsp; 25m in the example below. This can then show us which C-UAS would be able to&nbsp;have an effect on&nbsp;the UAV. In the example below, the UAV at 25m AGL has a link to the C-UAS systems in the northern area, whilst the systems deployed on the rooftop and in the southern car park are being blocked by obstacles.&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-11.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image-11.png" alt="" class="wp-image-62454" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-11.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-11-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-11-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-11-416x234.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Best Server being used with the C-UAS network to identify coverage from several nodes.</figcaption></figure>
</div>


<p><strong>BSA&nbsp;identifies&nbsp;viable&nbsp;deployment positions, and multi-height Area analysis shows where&nbsp;additional&nbsp;systems are required for full stadium coverage.&nbsp;Best Server can be used to quickly identify coverage from selected positions to a central receiver. </strong></p>



<h2 class="wp-block-heading"><strong>Case Study 2 – Finding the Operator – Dartmoor, UK&nbsp;</strong></h2>



<p><em>Difficulty: Moderate</em>&nbsp;</p>



<p>CloudRF can be used for simulating both transmitters and receivers in a&nbsp;real-world&nbsp;environment. In this case study the template and tools used will show how the simulation results can be interpreted to understand where the ground control station (GCS) could&nbsp;possibly be&nbsp;located.&nbsp;</p>



<h4 class="wp-block-heading"><strong><em>Inputs</em></strong>&nbsp;</h4>



<ul class="wp-block-list">
<li><em>DF sensor template</em>&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li><em>Sensor height and frequency</em>&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li><em>Line of Bearing (LOB)</em>&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li><em>Measured received power</em>&nbsp;</li>
</ul>



<h4 class="wp-block-heading"><strong><em>Process</em></strong>&nbsp;</h4>



<ul class="wp-block-list">
<li><em>Path-loss calculation using DF-derived constraints</em>&nbsp;</li>
</ul>



<h4 class="wp-block-heading"><strong><em>Outputs</em></strong>&nbsp;</h4>



<ul class="wp-block-list">
<li><em>Probable GCS transmitter locations</em>&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li><em>dB error score per location</em>&nbsp;</li>
</ul>



<h4 class="wp-block-heading"><strong><em>Decisions</em></strong>&nbsp;</h4>



<ul class="wp-block-list">
<li><em>Prioritise ground search locations</em>&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li><em>Assess the control range of the UAV</em>&nbsp;</li>
</ul>



<p>DF sensors are essential for a C-UAS team&nbsp;in order to&nbsp;locate&nbsp;both the UAV and the corresponding control station. These systems can come in a variety of formats and may use various methods to&nbsp;determine&nbsp;a Line&nbsp;Of&nbsp;Bearing (LOB) to the transmitter.&nbsp;&nbsp;</p>



<p>Direction Finding (DF) sensors are typically deployed in multiples to generate several Lines of Bearing (LOBs), enabling triangulation and the establishment of a Position Fix (PF) at the point of intersection. However, this&nbsp;represents&nbsp;an ideal scenario. In practice, operational constraints such as&nbsp;logistics, network limitations, and&nbsp;manpower&nbsp;availability may restrict deployment to a single asset, significantly reducing geo-location accuracy.&nbsp;</p>



<p>In the following example, CloudRF&#8217;s API is being used to help a C-UAS team with a single DF system to identify&nbsp;possible <strong>locations&nbsp;of a UAS ground control station (GCS).&nbsp;</strong></p>



<p>&nbsp;The&nbsp;methodology&nbsp;for doing this is not dissimilar from the standard way of using the software, with the user creating a template for the asset they are looking to&nbsp;locate. For this example, the height of the DF system was set to 8m, and the ground control station was set to 2m.&nbsp;&nbsp;Measured units are changed to Path&nbsp;Loss which shows possible signal coverage irrespective of power levels and is <strong>recommended when working with unknown power levels or receivers.</strong></p>



<p>By filtering the results of this simulation through parameters collected by the DF system, such as the LOB and received power of the signal, possible&nbsp;transmit&nbsp;sites can be&nbsp;identified&nbsp;on the map, scored with colours representing error in dB.</p>



<p>This result can provide operators with a greater understanding of where a rogue transmitter could be&nbsp;located&nbsp;with just one DF system, increasing the efficiency of a single team.&nbsp;For more on this concept see our <a href="https://cloudrf.com/enhancing-radio-direction-finding-with-rf-simulation/" type="post" id="53534">DF blog.</a></p>



<p>&nbsp;In the screenshot below, a single LOB has been used to evaluate a large area to&nbsp;determine&nbsp;several&nbsp;possible sites. False positives in nearby dead ground are expected which can be quickly discounted using other sources of information.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-12.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="627" src="https://cloudrf.com/wp-content/uploads/2026/04/image-12.png" alt="" class="wp-image-62457" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-12.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-12-300x209.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-12-768x534.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-12-416x289.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Path loss modelling  for a UAV&nbsp;ground station&nbsp;in&nbsp;Dartmoor,&nbsp;UK&nbsp;</figcaption></figure>
</div>


<p>Once a location has been&nbsp;identified, operators can use the Area endpoint to evaluate the coverage of this transmitter to&nbsp;determine&nbsp;the threat range of the UAS. This can be done within the UI as&nbsp;demonstrated&nbsp;in the screenshot below.&nbsp;</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-13.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="507" src="https://cloudrf.com/wp-content/uploads/2026/04/image-13.png" alt="" class="wp-image-62460" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-13.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-13-300x169.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-13-768x432.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-13-416x234.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Area calculation showing the coverage of the ground station across Dartmoor, UK&nbsp;</figcaption></figure>
</div>


<p>For evaluating the coverage of the ground station at various altitudes, a <a href="https://github.com/Cloud-RF/CloudRF-API-clients/tree/master/python/3d-airspace">3d-airspace&nbsp;script</a> can be used to recursively model coverage efficiently at ascending heights. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-14.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="229" src="https://cloudrf.com/wp-content/uploads/2026/04/image-14.png" alt="" class="wp-image-62463" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-14.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-14-300x76.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-14-768x195.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-14-416x106.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">Console view of running the 3D Airspace Analysis with timestamps.&nbsp;</figcaption></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-15.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="901" height="510" src="https://cloudrf.com/wp-content/uploads/2026/04/image-15.png" alt="" class="wp-image-62466" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-15.png 901w, https://cloudrf.com/wp-content/uploads/2026/04/image-15-300x170.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-15-768x435.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-15-416x235.png 416w" sizes="auto, (max-width: 901px) 100vw, 901px" /></a><figcaption class="wp-element-caption">3D Airspace&nbsp;Analysis&nbsp;of the Ground Station&nbsp;located&nbsp;IVO&nbsp;Dartmoor, UK&nbsp;</figcaption></figure>
</div>


<p class="has-medium-font-size"><strong>&nbsp;A single DF sensor combined with path-loss modelling significantly reduces a large search area</strong>.</p>



<h2 class="wp-block-heading"><strong>Integrating AI&nbsp;</strong></h2>



<p>An open architecture with published documentation and examples enables Large Language Models (LLMs) to quickly build custom interfaces and tools to leverage the Open API.</p>



<p>Here is an example sensor placement interface built with Claude, which exploits the <a href="https://cloudrf.com/documentation/developer/#tag/Create/operation/multilink">new Multilink API</a> to show coverage for a UAS. The tool uses pre-defined templates, so it <strong>requires no RF engineering skill</strong> or training to move the sensors to achieve coverage with high confidence.</p>



<p>Live demo link: <a href="https://cloud-rf.github.io/CloudRF-API-clients/slippy-maps/leaflet-drone-detection.html">https://cloud-rf.github.io/CloudRF-API-clients/slippy-maps/leaflet-drone-detection.html</a></p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2026/04/image-5.png" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="1024" height="510" src="https://cloudrf.com/wp-content/uploads/2026/04/image-5-1024x510.png" alt="" class="wp-image-62400" srcset="https://cloudrf.com/wp-content/uploads/2026/04/image-5-1024x510.png 1024w, https://cloudrf.com/wp-content/uploads/2026/04/image-5-300x149.png 300w, https://cloudrf.com/wp-content/uploads/2026/04/image-5-768x382.png 768w, https://cloudrf.com/wp-content/uploads/2026/04/image-5-1536x765.png 1536w, https://cloudrf.com/wp-content/uploads/2026/04/image-5-416x207.png 416w, https://cloudrf.com/wp-content/uploads/2026/04/image-5.png 1896w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Multilink API Demo</figcaption></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://cloudrf.com/wp-content/uploads/2026/04/C-UAS-demo.gif" rel="lightbox[62370]"><img loading="lazy" decoding="async" width="684" height="416" src="https://cloudrf.com/wp-content/uploads/2026/04/C-UAS-demo.gif" alt="" class="wp-image-63730"/></a><figcaption class="wp-element-caption">C-UAS demo animation</figcaption></figure>
</div>


<h2 class="wp-block-heading"><strong>Conclusion</strong>&nbsp;</h2>



<p>Pre-deployment planning for C-UAS and RADAR systems is resource intensive and traditionally required expert input. </p>



<p>By standardising system parameters in reusable templates and using efficient analysis tools powered by open APIs, modern operators can model entire networks quickly and accurately without compromising quality.&nbsp;</p>



<p>Optimal&nbsp;locations are not always the most obvious or the most practical. A single system rarely provides complete protection in complex environments so a layered, networked approach, validated&nbsp;through high resolution simulation, enables continuous airspace coverage and ensures that assets are positioned for maximum effect.&nbsp;</p>
<p>The post <a href="https://cloudrf.com/optimising-drone-detection-with-rf-simulation/">Optimising drone detection with RF simulation</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CBRS small cell propagation</title>
		<link>https://cloudrf.com/cbrs-small-cell-propagation/</link>
		
		<dc:creator><![CDATA[CloudRF]]></dc:creator>
		<pubDate>Fri, 12 Aug 2022 14:48:03 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://cloudrf.com/?p=14169</guid>

					<description><![CDATA[<p>This blog is about modelling the RF propagation of a private LTE Band 48 (b48) &#8220;CBRS capable&#8221; base station. Citizen Band Radio Service (CBRS) has exploded in popularity in the US since 2020 when the FCC allocated 150MHz of bandwidth from 3550 to 3700MHz for public use. Keen to exploit this opportunity, businesses have marketed [&#8230;]</p>
<p>The post <a href="https://cloudrf.com/cbrs-small-cell-propagation/">CBRS small cell propagation</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This blog is about modelling the RF propagation of a private LTE Band 48 (b48) &#8220;CBRS capable&#8221; base station.</p>



<p>Citizen Band Radio Service (CBRS) has exploded in popularity in the US since 2020 when the FCC allocated  150MHz of bandwidth from 3550 to 3700MHz for public use.</p>



<p>Keen to exploit this opportunity, businesses have marketed compatible LTE (4G) cellular equipment which some like <a href="https://uk.pcmag.com/mobile-phones/141917/is-heliums-new-5g-network-just-hot-air">Helium have chosen to label 5G</a>. Unless it&#8217;s transmitting a 5G-NR waveform it&#8217;s not strictly &#8220;5G&#8221; but as it shares common components and small cell architecture its plausible and lucrative, to brand it such and most VCs aren&#8217;t experienced enough to understand the difference. <em>Whether it&#8217;s morally or legally right will likely be determined in the next year with a test case.</em></p>



<p>One of the market leaders is Chinese firm, Baicells, who like any radio manufacturer have a public listing of <a href="https://fccid.io/2AG32">FCC approve LTE base stations</a>. This listing includes details needed to precisely model the propagation for these LTE base stations.</p>



<p>FCC has two tiers of power for these private eNodeBs: Category A which is the most conservative at only 1 Watt / 30dBm of power (EIRP) and 10MHz of bandwidth and Category B which offers a generous 50 Watts / 47dBm and 10Mhz of bandwidth. </p>



<h2 class="wp-block-heading"> Baicells Nova846 8x5W eNodeB</h2>



<p>This unit supports both FCC power categories and LTE bands 41 and 48 making it popular in the US market. Using the <a href="https://fccid.io/2AG32SBS71010/Users-Manual/User-Manual-5484590">datasheets here</a> we&#8217;ve modelled it in an urban environment in New York City. </p>



<p> For comparison, we&#8217;ve run each model twice with Cat A and Cat B power limits and 10MHz of bandwidth. Adding a high gain antenna would indeed increase the range but the total Effective Isotropic Radiated Power (EIRP) of the combined system cannot exceed the category limit.  To do so would not only be in violation of your CBRS licence but would be <strong>illegal.</strong></p>



<p><em>Spectrum monitoring of the CBRS band is routinely conducted and with the magic of Physics, violators can be passively detected and rapidly geo-located. The largest customer for geo-location market leader <a href="https://www.crfs.com/df-geolocation/">CRFS</a> is the US Federal Government.</em></p>


<div class="wp-block-image">
<figure class="alignright size-full"><a href="https://cloudrf.com/wp-content/uploads/2022/08/RSRP80.dBm_.key.png" rel="lightbox[14169]"><img loading="lazy" decoding="async" width="40" height="213" src="https://cloudrf.com/wp-content/uploads/2022/08/RSRP80.dBm_.key.png" alt="" class="wp-image-14178"/></a></figure>
</div>


<p>The eNodeB was 3m above the ground/roof and the receiver was 1m from the ground with 1dBi gain and a threshold of -120dBm RSRP &#8211; the limit for LTE.</p>



<p>The model used was the Irregular Terrain Model with a reliability of 99% to account for the increased urban noise.</p>



<p>The Received Signal Received Power colour key measured from -80 (Strong signal) to -120 (LTE limit) RSRP dBm.</p>



<p></p>



<h2 class="wp-block-heading">On the street &#8211; Cat A</h2>



<p>With Cat A limits the effective range observed was <strong>a modest 200 to 300m </strong>where there was line of sight. Little better than a domestic WiFi router due to the high path loss present at 3700MHz. Where buildings were obstructing the signal, no coverage was achieved due to their attenuation of the low power signal.</p>



<p>This modelling is more optimistic than the <a href="https://uk.pcmag.com/mobile-phones/141917/is-heliums-new-5g-network-just-hot-air">100m field measurements</a> conducted on live cells in NYC but more conservative than the 1km hexagons found on <a href="https://explorer.helium.com/hotspots/5g_statistics">Helium explorer</a>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_ground-1.jpg" rel="lightbox[14169]"><img loading="lazy" decoding="async" width="1024" height="537" src="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_ground-1-1024x537.jpg" alt="" class="wp-image-14173" srcset="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_ground-1-1024x537.jpg 1024w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_ground-1-300x157.jpg 300w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_ground-1-768x403.jpg 768w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_ground-1-1536x806.jpg 1536w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_ground-1-416x218.jpg 416w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_ground-1.jpg 1848w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption>LTE eNodeB with category A limits at ground level</figcaption></figure>
</div>


<h2 class="wp-block-heading">On the roof &#8211; Cat A and B</h2>



<p>Taking the same 3m mast to a rooftop bar nearby on Broadway to impress VCs we improve the range by up to 100% as expected but also lose local coverage down on the street due to the urban canyons. We&#8217;re still below 400m effective range in most directions.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_roof.jpg" rel="lightbox[14169]"><img loading="lazy" decoding="async" width="1024" height="537" src="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_roof-1024x537.jpg" alt="" class="wp-image-14174" srcset="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_roof-1024x537.jpg 1024w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_roof-300x157.jpg 300w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_roof-768x403.jpg 768w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_roof-1536x806.jpg 1536w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_roof-416x218.jpg 416w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatA_roof.jpg 1848w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption>LTE eNodeB with category A limits on a tall roof</figcaption></figure>
</div>


<p><strong>Cranking the power up to the full 5W</strong> makes very little difference if you don&#8217;t have line of sight. We&#8217;ve improved signal at the places we could already reach but are unable to penetrate new locations. We&#8217;re still below 400m effective range in most directions. Some distant rooftops at 600m are touched.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_roof.jpg" rel="lightbox[14169]"><img loading="lazy" decoding="async" width="1024" height="537" src="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_roof-1024x537.jpg" alt="" class="wp-image-14175" srcset="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_roof-1024x537.jpg 1024w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_roof-300x157.jpg 300w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_roof-768x403.jpg 768w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_roof-1536x806.jpg 1536w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_roof-416x218.jpg 416w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_roof.jpg 1848w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption>LTE eNodeB with category B limits on the same roof</figcaption></figure>
</div>


<h2 class="wp-block-heading">A skyscraper?</h2>



<p>Finally we placed the eNodeB on the Empire State Building at 400m above the city with 10 watts(!) of power. The range was then measured in kilometers but not many. <strong>The effective coverage was 2-3km and then only to rooftops</strong> &#8211; not at street level.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_skyscraper.jpg" rel="lightbox[14169]"><img loading="lazy" decoding="async" width="1024" height="537" src="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_skyscraper-1024x537.jpg" alt="" class="wp-image-14176" srcset="https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_skyscraper-1024x537.jpg 1024w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_skyscraper-300x157.jpg 300w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_skyscraper-768x403.jpg 768w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_skyscraper-1536x806.jpg 1536w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_skyscraper-416x218.jpg 416w, https://cloudrf.com/wp-content/uploads/2022/08/CBRS_CatB_skyscraper.jpg 1848w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption>LTE eNodeB with 5 Watts power on the Empire State Building</figcaption></figure>
</div>


<h2 class="wp-block-heading">Summary</h2>



<ul class="has-large-font-size wp-block-list"><li><strong>Line of sight is <span style="text-decoration: underline;">critical</span> for CBRS</strong>.</li><li><strong>Cat A several meters from the ground could get you 300m &#8211; if you have line of sight</strong></li><li><strong>Cat B on a rooftop can get you 600m </strong></li><li><strong>A skyscraper can get you 3km only</strong></li></ul>



<p></p>
<p>The post <a href="https://cloudrf.com/cbrs-small-cell-propagation/">CBRS small cell propagation</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How not to write a TAK plugin</title>
		<link>https://cloudrf.com/how-not-to-write-a-tak-plugin/</link>
		
		<dc:creator><![CDATA[CloudRF]]></dc:creator>
		<pubDate>Wed, 15 Dec 2021 16:33:01 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://cloudrf.com/?p=11132</guid>

					<description><![CDATA[<p>Team Awareness Kit (TAK) has become the poster-child for defence innovation, transforming mapping, command and control and situational awareness with a relatively lightweight smartphone app. Never in the history of defence procurement have so many forces, nations and equipment vendors achieved tactical interoperability with impressive results. Key to it&#8217;s success is a permissive software license, [&#8230;]</p>
<p>The post <a href="https://cloudrf.com/how-not-to-write-a-tak-plugin/">How not to write a TAK plugin</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><a href="https://en.wikipedia.org/wiki/Android_Team_Awareness_Kit">Team Awareness Kit (TAK) </a>has become the poster-child for defence innovation, transforming mapping, command and control and situational awareness with a relatively lightweight smartphone app.  Never in the history of defence procurement have so many forces, nations and equipment vendors achieved <strong>tactical interoperability</strong> with <a href="https://news.sky.com/story/royal-marines-commandos-force-us-marine-corps-troops-to-surrender-in-training-exercise-12458823">impressive results</a>.</p>



<p>Key to it&#8217;s success is a <strong>permissive</strong> software license, <strong>APIs</strong> and a design focused on <strong>information standards</strong>.</p>



<p></p>



<h2 class="wp-block-heading">2023 Q2 update: We have a ATAK plugin:</h2>



<p>Read this waffle if you want but if you just want a capability on ATAK, get the plugin here:</p>



<p><a href="https://cloudrf.com/atak-plugin">https://cloudrf.com/atak-plugin</a></p>



<h2 class="wp-block-heading">Background: Too many maps</h2>



<p>Historically defence procurement has failed to differentiate between standards (eg. KML) and software (eg. Google Earth) resulting in many duplicate apps, especially <strong>multi-source maps </strong>solving the shortcomings of the previous multi-source map,  which is the military implementation of the famous <em><a href="https://xkcd.com/927/">too-many-standards</a></em> XKCD sketch. The revolving door of senior officers into defence companies didn&#8217;t help the situation. This reached a fever pitch during operations in Afghanistan 2006-2014 where at one point, every service, nation and prime contractor were plugging their own &#8220;multi-source&#8221; map, all of which were trying to solve the same problem, and all of which compounded it. Analysts were motivated to write glue-ware to achieve interoperability, typically with visual basic due to the locked down environment.</p>



<p>In our experience, the enduring military map was none of the above, it was good old Google Earth which could be found at all command levels due to its <strong>simplicity</strong> and assured <strong>interoperability</strong> via KML and HTML <strong>standards</strong>.</p>



<p>ATAK has disrupted a long established pattern of short sighted procurement of incompatible point solutions &#8211; which was long overdue and best of all, the IPR is not owned and controlled by a single contractor.</p>



<h2 class="wp-block-heading">The TAK plugin industry</h2>


<div class="wp-block-image">
<figure class="alignleft size-full is-resized"><a href="https://cloudrf.com/wp-content/uploads/2021/12/plugin.png" rel="lightbox[11132]"><img loading="lazy" decoding="async" src="https://cloudrf.com/wp-content/uploads/2021/12/plugin.png" alt="" class="wp-image-11168" width="205" height="205" srcset="https://cloudrf.com/wp-content/uploads/2021/12/plugin.png 225w, https://cloudrf.com/wp-content/uploads/2021/12/plugin-150x150.png 150w, https://cloudrf.com/wp-content/uploads/2021/12/plugin-100x100.png 100w" sizes="auto, (max-width: 205px) 100vw, 205px" /></a><figcaption class="wp-element-caption">Some plugins are better than others</figcaption></figure>
</div>


<p>TAK is produced and owned by the US Government. Despite <em>most</em> of the client source code being available on the Play store and elsewhere a documented SDK for plugin developers, <strong>plugins require US Government approval.</strong> This approval is more than a bureaucratic hurdle, it is a security, technical and cryptographic approval which requires a code-review and a code signing certificate. There are a limited number of public domain signed plugins and a greater number of private plugins.</p>



<p>Given the cultural change of not just using open source in defence, but publishing and maintaining it, on public app stores it was inevitable there would be a catch to appease committees.</p>



<p>To get US Government approval requires a sponsor aka a contract. There are many firms large and small developing TAK plugins (typically with Java or Kotlin) under contract, including foreign nations under trade agreements. Whilst Android app  development might sound a little 2010 (CloudRF started as a Android app in 2011) it&#8217;s made lucrative by the exclusivity of needing a Government sponsor &#8211; to publish at least.</p>



<h2 class="wp-block-heading">2010 called, they want Java back..</h2>


<div class="wp-block-image">
<figure class="alignright size-large is-resized"><a href="https://cloudrf.com/wp-content/uploads/2021/12/RFSignal_Android_2011.jpg" rel="lightbox[11132]"><img loading="lazy" decoding="async" src="https://cloudrf.com/wp-content/uploads/2021/12/RFSignal_Android_2011-1024x533.jpg" alt="" class="wp-image-11160" width="440" height="229" srcset="https://cloudrf.com/wp-content/uploads/2021/12/RFSignal_Android_2011-1024x533.jpg 1024w, https://cloudrf.com/wp-content/uploads/2021/12/RFSignal_Android_2011-300x156.jpg 300w, https://cloudrf.com/wp-content/uploads/2021/12/RFSignal_Android_2011-768x400.jpg 768w, https://cloudrf.com/wp-content/uploads/2021/12/RFSignal_Android_2011-416x217.jpg 416w, https://cloudrf.com/wp-content/uploads/2021/12/RFSignal_Android_2011.jpg 1248w" sizes="auto, (max-width: 440px) 100vw, 440px" /></a><figcaption class="wp-element-caption">RFSignal for Android (2011)</figcaption></figure>
</div>


<p>Java has had its day in our opinion. It created a generation of software developers who exist in a (JVM) bubble of abstraction far away from the processor for whom an opcode is an alien concept and writing a Hello world! demo on a vanilla machine requires a <a href="https://www.reddit.com/r/ATAK/comments/r6q68e/error_package_orggdalgdal_does_not_exist/">disproportionate amount of IDE massaging and preparation</a>.<strong> </strong> The effort used to be justifiable because of the security the Java sandbox brings. The recent log4j CVE undid that argument pretty well.</p>



<p>We used Java 10 years ago to make our debut app &#8220;<a href="https://www.youtube.com/watch?v=gIh49jTx1hY">RFSignal</a>&#8221; during the app gold rush of 2011 along with the Android SDK. It worked well for the first few releases whilst the app was under active development but the cracks showed when the app transitioned to maintenance. We found the &#8220;Eclipse&#8221; dev environment itself to be a substantial burden and even small one-line changes required an inordinate amount of effort in many places compared with other languages like Python, PHP or C++.  Back then Android was evolving rapidly and keeping up with the latest SDK was a task in itself so we were glad to retire the app in 2015 and move to a SaaS model (and not give Google <strong><span style="text-decoration: underline;">30%</span></strong> of our sales).</p>



<p>We vowed no more Java, and to date have kept our promise except we did reference 1 line from the old app relating to a PNG hack to achieve Android bitmap opacity which was funny &#8211; ten years later.</p>



<p>To be clear <strong>we&#8217;re not criticising ATAK plugins </strong>written in Java &#8211; there is a clear need or them, especially interfaces to hardware which is a great value-add for manufacturers. We are proposing a more agile plugin architecture based around standard and network APIs which <strong>doesn&#8217;t prescribe a programming language</strong> &#8211; or even an OS.</p>



<p>ATAK source code: <a href="https://github.com/deptofdefense/AndroidTacticalAssaultKit-CIV">https://github.com/deptofdefense/AndroidTacticalAssaultKit-CIV</a></p>



<h2 class="wp-block-heading">Standards to the rescue</h2>


<div class="wp-block-image">
<figure class="alignleft size-full is-resized"><a href="https://cloudrf.com/wp-content/uploads/2021/12/standards.jpg" rel="lightbox[11132]"><img loading="lazy" decoding="async" src="https://cloudrf.com/wp-content/uploads/2021/12/standards.jpg" alt="" class="wp-image-11166" width="303" height="227"/></a><figcaption class="wp-element-caption">Standards &gt; software</figcaption></figure>
</div>


<p>We came late to ATAK in late 2020 but were no strangers to information standards, reverse engineering and joining distinct  systems, at no extra cost, which our founder had previously won a national award for in 2012.</p>



<p>We already had a <a href="https://www.youtube.com/watch?v=H7UzjmdfHcs">Google Earth layer </a>(written in PHP) which relied heavily on the KML standard to connect CloudRF to Google Earth. We attempted the same on ATAK 4.1 without success due to limited KML GroundOverlay support back then. We could load on <em>some</em> layer types with a 10 second minimum refresh but advanced network features such as KML&#8217;s <a href="https://developers.google.com/kml/documentation/kmlreference?hl=en#Link">view based </a>Link were not implemented. We use this feature to fetch the viewer&#8217;s bounding box, and center point, in our Google Earth KML interface.</p>



<p>During our research we learnt about the <a href="https://www.mitre.org/sites/default/files/pdf/09_4937.pdf">Cursor-on-Target (CoT) XML schema</a> and how it was implemented within ATAK&#8217;s Geochat functionality. This allowed us to close the loop and handle a chat message from a client at our own TAK server &#8211; without touching Java!! Being able to connect the client to our own server was significant, and exciting, as this is where we could house, <strong>and maintain</strong>, our code instead of a <a href="https://www.reddit.com/r/ATAK/comments/retx64/wasp_tool_no_longer_working/">version-brittle plugin</a>.</p>



<p></p>



<h2 class="wp-block-heading">An open source TAK server&#8230;.with a Python bot</h2>



<p>Realising we needed a TAK server capable of talking CoT we headed to Github and found two open source projects, <a href="https://github.com/FreeTAKTeam/FreeTakServer">FreeTakServer </a>and <a href="https://github.com/tkuester/taky">Taky</a>, both written in Python. We tried both and selected the simpler Taky server which offered a minimal setup necessary for 2 way communication.</p>



<p>You can find an early ATAK capability we published for OSGB coordinates conversion bot <a href="https://github.com/Cloud-RF/ATAK-geobot">over here.</a></p>



<p>One of the nice features about SaaS models is licensing. You can connect software modules via a common protocol with different licenses. This is why we open sourced our server modifications but kept our Python bot private. You can get a head-start for how to build a bot with our open source <a href="https://github.com/Cloud-RF/ATAK-geobot">geobot.</a> </p>



<h2 class="wp-block-heading"></h2>



<p>We extended taky and added some features relating to client authentication, access control, anonymity and CoT. The CoT modification is notable as it extends the namespace (which is permitted in the XML standard) to tag anonymous messages with the originator&#8217;s unique ID. These modified messages are exchanged between the chatbot and the server when sharing shapes and are redundant for regular C2 use.</p>



<p>UPDATE: We no longer use Taky since OG TAK server was published!</p>



<h2 class="wp-block-heading">&#8216;Follow-me&#8217; demo</h2>



<p>This early demo was created with a GPS spoofer (visible in corner). When the position updates, ATAK sends a broadcast which our TAKY server receives. The python bot at the server forwards this to the API and a creates a KML layer &#8211; a standard feature in CloudRF. On ATAK, a network KML layer pulls back the KML on a periodic cycle which is why it is slow to catch up when the marker moves fast.  We have since identified a mechanism to return a KMZ immediately using a <strong>data package</strong>.</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Early ATAK + CloudRF  integration demo" width="980" height="735" src="https://www.youtube.com/embed/3EUfElXitGM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
</div></figure>



<p> </p>



<h2 class="wp-block-heading">SSL, HTTPS and Data packages</h2>



<p>Achieving insecure communication was quick: We published <a href="https://www.youtube.com/watch?v=3EUfElXitGM">a demo </a>of a CoT + KML script which did this in Nov 2020. Achieving secure communication with TLS certificates, which worked on ATAK and for HTTPS was a different matter and required lots of debugging. A lot of time was spent resolving seemingly trivial issues but the key principle we found which unlocked a lot of happenings was adding the right SAN (SubjectAltName) to our web server certificates.</p>



<p>SAN is used as an optional field in SSL certificates to declare alternative names or IP addresses, and is checked by Android&#8217;s SSL client. The open source TAK servers would wrap a script called ROTC.py to generate certificates (without SAN) using a self-signed certificate authority (CA) which despite the manageable security risk involved works well for securing the ATAK server &#8211; and even <strong>mutual authentication which we have implemented</strong>.</p>



<p>When ATAK later makes a request to a HTTPS link to fetch a data package for example, it checks the certificate for a SAN which a third party certificate from a trusted CA typically has.  This tiny little attribute is worth big money as they can add lots in an array and call it a &#8220;wildcard&#8221; certificate. <em>Thankfully LetsEncrypt is disrupting this monopoly.</em></p>



<p>Data packages are zip archives used in TAK to share files. They require a manifest file and a simple folder structure. When a CoT message is delivered to a End User Device (EUD) describing a data package it will fetch it, unpack it and auto-parse the content. We return KMZ files but you can also return XML map files to add map sources for example.</p>



<h2 class="wp-block-heading">Self hosted solution?</h2>



<p> We have a turnkey server with the CloudRF API, OSM tile server and ATAK interface called <a href="https://cloudrf.com/soothsayer/">SOOTHSAYER.</a> It&#8217;s ideal for rescue organisations and first responders who might otherwise be running multiple network services or working areas without internet access.</p>



<h2 class="wp-block-heading">UPDATE: WE NOW HAVE A PLUGIN</h2>



<p>After all this, we went and made a plugin anyway:</p>



<p><a href="https://cloudrf.com/atak-plugin">https://cloudrf.com/atak-plugin</a></p>



<p></p>



<p></p>



<p></p>



<p></p>
<p>The post <a href="https://cloudrf.com/how-not-to-write-a-tak-plugin/">How not to write a TAK plugin</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hosting your own network map</title>
		<link>https://cloudrf.com/hosting-your-own-network-map/</link>
		
		<dc:creator><![CDATA[CloudRF]]></dc:creator>
		<pubDate>Sat, 24 Jul 2021 14:20:36 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://cloudrf.com/?p=7973</guid>

					<description><![CDATA[<p>If you&#8217;re a wireless internet service provider or an organisation who want to show an online coverage map there are different options available depending on your level of skill. The basic option is to do this with an arbitrary polygon on a free map like Google maps but if you want a beautiful and accurate [&#8230;]</p>
<p>The post <a href="https://cloudrf.com/hosting-your-own-network-map/">Hosting your own network map</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>If you&#8217;re a wireless internet service provider or an organisation who want to show an online coverage map there are different options available depending on your level of skill.  The basic option is to do this with an arbitrary polygon on a free map like Google maps but if you want a beautiful and accurate physics based coverage map, <strong>at no extra cost </strong>read on&#8230;</p>



<h2 class="wp-block-heading">Embed code</h2>



<p>The easiest way to add a map to your website or blog is with the embed code function. This is a small code (HTML) snippet which you paste into your website, like WordPress, for example. It requires that your blog supports HTML content.</p>



<p>To use this first you must have a layer in your archive. This could be a single area calculation or a large network mesh created from lots of individual calculations. Select it and click the code icon.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2021/07/embedcode.jpg" rel="lightbox[7973]"><img loading="lazy" decoding="async" width="1009" height="627" src="https://cloudrf.com/wp-content/uploads/2021/07/embedcode.jpg" alt="" class="wp-image-7976" srcset="https://cloudrf.com/wp-content/uploads/2021/07/embedcode.jpg 1009w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode-300x186.jpg 300w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode-768x477.jpg 768w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode-416x259.jpg 416w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode-97x60.jpg 97w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode-145x90.jpg 145w" sizes="auto, (max-width: 1009px) 100vw, 1009px" /></a></figure></div>



<p> You will then be shown your embed code and a notice. </p>



<h2 class="wp-block-heading">Google Maps Key</h2>



<p>The notice says &#8220;<strong>Replace &#8216;GOOGLEMAPSKEY&#8217; with your Google Maps key</strong>&#8220;.  This is necessary as you need a key to share an online map as it&#8217;s licensed, not a free-for-all. You can get a key at no cost from Google if you visit this link:</p>



<p><a href="https://developers.google.com/maps/documentation/javascript/get-api-key">https://developers.google.com/maps/documentation/javascript/get-api-key</a></p>



<p>To test your key works visit a HTML online editor, paste in your embed code and replace GOOGLEMAPSKEY with your long random Google Maps key. If successful you will see your map and your embed code is ready to go on your website!</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2021/07/embedcode1.jpg" rel="lightbox[7973]"><img loading="lazy" decoding="async" width="1024" height="581" src="https://cloudrf.com/wp-content/uploads/2021/07/embedcode1-1024x581.jpg" alt="" class="wp-image-7977" srcset="https://cloudrf.com/wp-content/uploads/2021/07/embedcode1-1024x581.jpg 1024w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode1-300x170.jpg 300w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode1-768x436.jpg 768w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode1-416x236.jpg 416w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode1-106x60.jpg 106w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode1-159x90.jpg 159w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode1.jpg 1331w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></div>



<h2 class="wp-block-heading">Self-hosted (Expert mode)</h2>



<p>The downside to embed code is the layer must be fetched from a server from Europe. For most users this won&#8217;t be a problem but if you are in Australia and your layer is quite large this could result in a blank map for a second or two &#8211; not a great advert if you are a business.</p>



<p>To deliver a faster map to your local customers, host the layer yourself. To do this, take the previously described embed code and extract the long link starting https://api.cloudrf.com/&#8230;</p>



<p>Paste that into a browser to visit the page directly then view the source code. Here you will find a link to a .png image in your archive as well as the necessary Google Maps Javascript.</p>



<p>Copy that code to your own website and download the PNG image. Upload the PNG image to your server and edit the link so it points to the local copy eg. yourcompany.com/files/yourlayer.png</p>



<p>Copy the code between the html tags.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2021/07/embedcode3.jpg" rel="lightbox[7973]"><img loading="lazy" decoding="async" width="1024" height="387" src="https://cloudrf.com/wp-content/uploads/2021/07/embedcode3-1024x387.jpg" alt="" class="wp-image-7978" srcset="https://cloudrf.com/wp-content/uploads/2021/07/embedcode3-1024x387.jpg 1024w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode3-300x113.jpg 300w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode3-768x290.jpg 768w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode3-416x157.jpg 416w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode3-159x60.jpg 159w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode3-238x90.jpg 238w, https://cloudrf.com/wp-content/uploads/2021/07/embedcode3.jpg 1278w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure></div>



<h2 class="wp-block-heading">Terms and attribution</h2>



<p>You can host as many of these maps as you like for no extra cost but unless you have written permission, <strong>attribution is required.</strong> This is already included as a small link on the map but we won&#8217;t object if you want to add your own label too.</p>



<p>We will host your data so long as your account is in credit. If your account is not in credit we will retain the data as per the plan limit which is <strong>two years</strong> in most cases.</p>



<p>If you need your image to be available for lots of website visitors or for longer than 2 years, we strongly recommend self-hosting your PNG layers.</p>



<p></p>
<p>The post <a href="https://cloudrf.com/hosting-your-own-network-map/">Hosting your own network map</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>API 2.0</title>
		<link>https://cloudrf.com/api-2-0/</link>
		
		<dc:creator><![CDATA[CloudRF]]></dc:creator>
		<pubDate>Thu, 24 Jun 2021 13:18:21 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://cloudrf.com/?p=7312</guid>

					<description><![CDATA[<p>We have a new API. This long awaited update brings an OpenAPI 3.0 compliant REST implementation with a redesign of public facing architecture so all requests will go to https://api.cloudrf.com and documentation will be at https://docs.cloudrf.com Human readable requests The old API grew into an exhaustive list of +43 variables starting from only 10 when [&#8230;]</p>
<p>The post <a href="https://cloudrf.com/api-2-0/">API 2.0</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>We have a new API.</p>


<div class="wp-block-image">
<figure class="alignright size-large is-resized"><a href="https://cloudrf.com/wp-content/uploads/2021/06/openapi.png" rel="lightbox[7312]"><img loading="lazy" decoding="async" width="1025" height="512" src="https://cloudrf.com/wp-content/uploads/2021/06/openapi.png" alt="" class="wp-image-7316" style="width:325px;height:162px" srcset="https://cloudrf.com/wp-content/uploads/2021/06/openapi.png 1025w, https://cloudrf.com/wp-content/uploads/2021/06/openapi-300x150.png 300w, https://cloudrf.com/wp-content/uploads/2021/06/openapi-768x384.png 768w, https://cloudrf.com/wp-content/uploads/2021/06/openapi-416x208.png 416w, https://cloudrf.com/wp-content/uploads/2021/06/openapi-120x60.png 120w, https://cloudrf.com/wp-content/uploads/2021/06/openapi-180x90.png 180w" sizes="auto, (max-width: 1025px) 100vw, 1025px" /></a></figure>
</div>


<p>This long awaited update brings an OpenAPI 3.0 compliant REST implementation with a redesign of public facing architecture so all requests will go to https://api.cloudrf.com and documentation will be at https://docs.cloudrf.com</p>



<h2 class="wp-block-heading">Human readable requests</h2>


<div class="wp-block-image">
<figure class="alignright size-large"><a href="https://cloudrf.com/wp-content/uploads/2021/06/humanreadableapi.png" rel="lightbox[7312]"><img loading="lazy" decoding="async" width="439" height="443" src="https://cloudrf.com/wp-content/uploads/2021/06/humanreadableapi.png" alt="" class="wp-image-7315" srcset="https://cloudrf.com/wp-content/uploads/2021/06/humanreadableapi.png 439w, https://cloudrf.com/wp-content/uploads/2021/06/humanreadableapi-297x300.png 297w, https://cloudrf.com/wp-content/uploads/2021/06/humanreadableapi-150x150.png 150w, https://cloudrf.com/wp-content/uploads/2021/06/humanreadableapi-416x420.png 416w, https://cloudrf.com/wp-content/uploads/2021/06/humanreadableapi-100x100.png 100w, https://cloudrf.com/wp-content/uploads/2021/06/humanreadableapi-59x60.png 59w, https://cloudrf.com/wp-content/uploads/2021/06/humanreadableapi-89x90.png 89w" sizes="auto, (max-width: 439px) 100vw, 439px" /></a></figure>
</div>


<p>The <a href="https://documenter.getpostman.com/view/3523402/7TFGb35">old API </a>grew into an exhaustive list of +43 variables starting from only 10 when it was an Android app.  That&#8217;s just the public ones. There&#8217;s more parameters relating to interfaces. We were adding about a dozen variables a year in the early years of the service and turned down many requests for protocol-specific parameters to keep the number manageable and keep the API <strong>signal and technology agnostic.</strong></p>



<p>The new JSON body schema tidies these +40 variables into logical objects which not only align with the interface but can be dropped completely for example in the case of the optional environment object, and defaults used.</p>



<h2 class="wp-block-heading">New endpoints</h2>



<p>The CloudRF API is now at <strong>api.cloudrf.com </strong></p>



<p>Documentation is at <strong><a href="https://cloudrf.com/documentation/developer/">https://cloudrf.com/documentation/developer/</a></strong></p>



<p>We&#8217;ve got OpenAPI / Swagger documentation at<a href="https://api.cloudrf.com/swagger-ui/"> https://cloudrf.com/documentation/developer/</a></p>



<p>Legacy ../API/ endpoints and <a href="https://documenter.getpostman.com/view/3523402/7TFGb35">old API</a> documentation are still active and will be until October 2021.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2021/06/swagger_API.png" rel="lightbox[7312]"><img loading="lazy" decoding="async" width="1024" height="673" src="https://cloudrf.com/wp-content/uploads/2021/06/swagger_API-1024x673.png" alt="OpenAPI" class="wp-image-7313" srcset="https://cloudrf.com/wp-content/uploads/2021/06/swagger_API-1024x673.png 1024w, https://cloudrf.com/wp-content/uploads/2021/06/swagger_API-300x197.png 300w, https://cloudrf.com/wp-content/uploads/2021/06/swagger_API-768x505.png 768w, https://cloudrf.com/wp-content/uploads/2021/06/swagger_API-416x274.png 416w, https://cloudrf.com/wp-content/uploads/2021/06/swagger_API.png 1139w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<h2 class="wp-block-heading">New functions</h2>



<p>Some previously undocumented interface features are now in the new API.  These are exporting user files into GIS formats and <strong>uploading GeoJSON</strong> features as private clutter. These are now documented in API2.0</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://cloudrf.com/wp-content/uploads/2021/06/9bandclutter.jpg" rel="lightbox[7312]"><img loading="lazy" decoding="async" width="900" height="286" src="https://cloudrf.com/wp-content/uploads/2021/06/9bandclutter.jpg" alt="" class="wp-image-7060" srcset="https://cloudrf.com/wp-content/uploads/2021/06/9bandclutter.jpg 900w, https://cloudrf.com/wp-content/uploads/2021/06/9bandclutter-300x95.jpg 300w, https://cloudrf.com/wp-content/uploads/2021/06/9bandclutter-768x244.jpg 768w, https://cloudrf.com/wp-content/uploads/2021/06/9bandclutter-416x132.jpg 416w" sizes="auto, (max-width: 900px) 100vw, 900px" /></a></figure>
</div>


<h2 class="wp-block-heading">New authentication</h2>



<p>The days of sending your unique identifier &#8216;uid&#8217; and your API key in the HTTP request as uid=&#8230;key=&#8230; and then scrubbing them out of presentations are thankfully finished!!!</p>



<p>Now you have one API key which you must  put into a HTTP &#8216;key&#8217; header. This keeps your sensitive credentials separate from your body which contains site parameters.  This also means the path to offline JSON templates is now clear. We&#8217;ve offered templates for years but as rows in a private database, now that the private bits are out of the way <strong>you can confidently share an API request.</strong></p>



<p></p>



<h2 class="wp-block-heading">JSON site templates</h2>



<p>A nice feature about this new API is because the sensitive authentication parameters have been removed, and the entire site/antenna/environment exists as a single JSON object, you can take this away and share it, save it, reuse it, publish it. We&#8217;re going to build on this concept to offer a new style of template system so as well as saving your settings for quick reuse as you can now, you can share your settings.</p>



<p>This will also enable novice API users to create valid requests by fetching a template eg. &#8220;VHF radio.json&#8221; from the library and dropping it into an API client, along with their &#8216;key&#8217; to run that template through their account.</p>



<h2 class="wp-block-heading">Legacy API sunset 1st October 2021</h2>



<p>The legacy API will still run in parallel and will be retired on the 1st October 2021. Please move your projects over to the new API soon and see our documentation and <strong>client code examples on Postman</strong> to do this. </p>



<p>We are publishing more application specific examples to assist with this and will be on hand to help customers migrate. </p>
<p>The post <a href="https://cloudrf.com/api-2-0/">API 2.0</a> appeared first on <a href="https://cloudrf.com">CloudRF</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
