1. Abstract
This document describes preliminary spectrum occupancy measurements performed at Arclabs, Carriganore, Waterford, Ireland. The measurements took place from May through September 12, 2011. Measurements were taken at frequencies from 30MHz to 1000MHz. The measurements were split up into well known bands [COMREG0890R2] [SSC2007]. Each band was measured for one week. This study PDFattempts to determine what frequency bands have low utilisation (i.e. White Spaces) and potentially points towards further investigations that may reveal candidate frequency bands for spectrum sharing.
2. Introduction
The production of wireless devices is increasing rapidly. People are switching to wireless mice, keyboards, headsets, and many more. Wireless Internet connections are becoming increasingly popular. Devices such as GPS navigators and smart phones are getting cheaper and more plentiful. Not only are the amount of these devices increasing rapidly, but the amount of data being transferred by them is increasing. The result of all this is that the Radio Frequency (RF) spectrum is getting more crowded and at an ever increasing rate. At the moment the allocation standards for RF spectrum is highly inefficient. Devices are only assigned specific frequencies, but the time domain is not taken into account, this means that some bands of spectrum are unoccupied for most of the time. It would be highly beneficial for the future if the allocation process of RF spectrum took other factors into account, not just the frequency domain [CAVE2011]. The current trend cannot continue indefinitely.
This report details some spectrum occupancy measurements conducted at the ArcLabs Research & Innovation Building, West Campus, Waterford Institute of Technology, Carriganore, County Waterford from May through to September 2011.
Fig 1 shows views from the measurement site. With the N25 just visible above the roof line in the first picture.
2.1. Measurement Goals
The main goal was to compile a weeks worth of spectrum data for each RF band analyzed, in the 30MHz to 1000MHz range. This preliminary work has provided a starting point for future surveys to be conducted.
The following information being determined:
-
Background noise level.
-
Utilization levels of the RF bands.
-
Spectrum gap widths.
-
Spectrum gap durations.
And, potentially, an insight into how fully the spectrum is being used.
3. Measurement Equipment
3.1. Equipment Description
The equipment used for measurement in this study consisted of a Tektronix SA2600 Spectrum Analyzer [SA2600], a Discone antenna (Diamond D-130J), a virtual machine and a desktop computer. The Discone antenna was used to measure signals between 25MHz and 1Ghz. LMR-400 COAX cable was used to connect the Discone to the Spectrum Analyzer. The virtual machine and desktop computer were used to post-process the data.
Test data was collected for a period of time to identify strong signals that could overload the Spectrum analyzer. Potential sources included an Amateur Radio UHF Voice Repeater, on 433.275Mhz, and Amateur Radio VHF Digital Repeater on 144.800Mhz, both at Carraigpherish, approximately 2.5 kilometers away. Also, a pager system operating at Gracedieu, approximately 4 kilometers away.
3.2. Measurement Location
The measurements are being taken at the point marked TSSG on the map. The Amateur Voice Repeater and Digital Repeater are at the location marked Carrickpherish Mast. The pager system is the third location marked Gracedieu Mast. It is clear that the measurements were taken in a suburban area approximately 5km from the centre of Waterford City.
3.3. Data Collection
Data was collected from 30MHz to 1000MHz. The data was divided into 15 bands, similarly to [SSC2007]. One week of data was collected for each band. Long duration measurements began on April 25, 2011 and finished September 12, 2011. One week of data was collected for each band. We deemed this a reasonable length of time to get a more detailed picture of the activity in a band.
In March 2011, whilst we were preparing for the tests. Tektronix [TEK] (through the equipment supplier [IMEX]) provided us with a beta firmware which allowed us to analyze a chunk of spectrum wider than 20Mhz. This greatly simplified our work. Scripts were written which instructed the spectrum analyzer to record max-hold data for one minute for the desired RF band, and, when the minute was up, the script instructed the max hold data to be placed in a Comma-Separated Value (CSV) [RFC4180] file and saved to a specific location on the computer. The script looped 10080 times (60 x 24 x 7), to give a full weeks worth of data.
The table below shows the SA2600 settings as reported in the data files. Estimated COAX loss has also been included in this table. The data presented is as measured by the spectrum analyzer, and not corrected for COAX loss.
Start Freq. (MHz) |
Stop Freq. (MHz) |
RBW (kHz) |
Attenuation (dB) |
Ref Level (dBm) |
Estimated Coax Loss |
30 |
54 |
0.711 |
30 |
0 |
1.5 (54MHz) |
54 |
88 |
0.711 |
30 |
0 |
1.9 (88MHz) |
108 |
138 |
0.711 |
30 |
0 |
2.4 (138MHz) |
138 |
174 |
0.711 |
30 |
0 |
2.8 (174MHz) |
174 |
216 |
0.711 |
30 |
0 |
3.1 (216MHz) |
216 |
225 |
0.711 |
30 |
0 |
3.1 (225MHz) |
225 |
406 |
0.711 |
30 |
0 |
4.3 (406MHz) |
406 |
470 |
0.711 |
30 |
0 |
4.6 (470MHz) |
470 |
512 |
0.711 |
30 |
0 |
4.8 (512MHz) |
512 |
608 |
0.711 |
30 |
0 |
5.3 (608MHz) |
608 |
698 |
0.711 |
30 |
0 |
5.7 (698MHz) |
698 |
806 |
0.711 |
30 |
0 |
6.1 (806MHz) |
806 |
902 |
0.711 |
30 |
0 |
6.5 (902MHz) |
902 |
928 |
0.711 |
30 |
0 |
6.6 (928MHz) |
928 |
1000 |
0.711 |
30 |
0 |
6.9 (1000MHz) |
The Coaxial cable used was LMR-400 with a length from the Antenna to the SA2600 spectrum analyzer of 50.6m (166feet).
4. Data Processing
4.1. Introduction
This section describes the steps taken to produce the spectrum occupancy graphs and values.
The open source, cross-platform numerical computational package Scilab [SCILAB] was used for all processing after completing Step 1.
4.2. Step 1 - Generate Raw CSV files
The SA2600 Command Macro Tool Software interface was used to send instructions to the SA2600. A script was written which instructed the spectrum analyzer to record from a specified lower frequency to a specified upper frequency (frequency band), and the duration of this this analysis was a full week. For each minute in the week, the script instructed the SA2600 to save the max hold values of the frequency band in a CSV file. Once the values were saved, the max hold values were reset so that the next minute of max hold values could be obtained.
The end result of running this script for a week is 10080 (60 x 24 x 7) new CSV files, each containing one minutes worth of data.
4.3. Step 2 - Clean up CSV files
As the CSV files produced by the spectrum analyzer had more data than just the max hold values, including spectrum analyzer settings and other information, they had to be stripped of this extra information for efficient processing.
This was a simple step as all of the CSV files had exactly the same structure, and they all contained 501 values which corresponded to a max hold value in dBm from the lowest to highest frequency in the band of interest. The script was basically a loop, which picked out these 501 values and saved them to a new CSV file. This was done for all 10080 files for each band analyzed.
At this point the newly generated CSV files contained no extraneous data except the values of interest, which simplified the process and shortened further processing times.
4.4. Step 3 - Generate Matrix of data
A script was written which does the following:
-
A matrix of zeros, of dimensions 10080 x 501 is created.
-
A loop that goes from 1 to the number of samples (10080) is used to pick out the data from each CSV file.
-
This data is then placed in the appropriate row in the matrix.
Each row in the matrix now contained one minutes worth of max hold data from the saved CSV files.
All the data for the week of analysis was now conveniently stored in a matrix rather than thousands of files.
4.5. Step 4 - Calculate average noise floor
The signal to noise ratio in a receiver is the signal power divided by the average noise power in the receiver. In order for a receiver to detect a signal the signal must exceed a threshold. In this work we first initially looked for an average for the entire matrix of values. We extracted the minimum and maximum signal levels, and began a successive approximation in the search for the noise floor. 3dbm was added to this value and used this was used as the threshold for signal detection. This method appears to have given a reasonable estimate for the noise floor.
4.6. Step 5 - Data compression
Without this step the waterfall plot would have to assign a colour to every unique value in the matrix. This would have taken quiet some time for no obvious benefit, as there is not enough resolution in the plot area to display all this detail. This script calculates a compression factor which is used to compresses the data such that it retains as much detail as possible with minimum processing time. For example a compression factor of 2 will take every two rows of data in the matrix of data, and get the highest of these two rows and put this into a new matrix (i.e. performing a logical AND of max-hold values), it will do this for row 3 and 4, row 5 and 6, and so on, thus the sizes of the matrix is divided by two. Consequently, the amount of values to be assigned a colour in the waterfall plot is divided by two.
The compression factor that is used for the waterfall plots in this report is 30. The result of this is a waterfall plot displaying max hold data for every 30 minute interval over a week.
4.7. Step 6 - Generate max-hold values
In order to get the max hold data for the entire set of data, a script was written which does the following. The first minute of max hold data is saved in a max hold data array, a for loop then steps through each of the remaining sets of data for each minute, on encountering a value that exceeds the current value, replaces the current value with the new value.
When finished, the max hold array holds the 501 max hold values of the frequencies for the entire weeks worth of data. This data was then used to generate the max hold plot later.
4.8. Step 7 - Generate duty-cycle values
A script was written which does the following. A duty cycle array of 501 zeros is created. A for loop then, steps through each set of data for each minute, where the value in the array exceeds the calculated threshold (noise floor), adds the value 1 to the duty cycle array in the position corresponding to the particular frequency that has exceeded the threshold. The script then divides the duty cycle array by the number of minutes of data (10080 in this case), to obtain the fraction of time that each frequency exceeded the threshold. After this step the duty cycle array holds the 501 duty cycle values of the frequencies for the entire weeks worth of data. This data was used to generate the duty cycle plot later.
4.9. Step 8 - Calculation of percentage occupancy
The script simply gets the average of the duty cycle array (described in the previous section) and divides that by the number of samples of data we have (10080 for the weeks worth of data), then multiplies this value by 100 and this yields the average percentage of spectrum occupancy over time and frequency. Thus an average percentage of spectrum occupancy for the week is obtained.
4.10. Stage 9 - Generation of final plots
In all of the plots the x-axis represents frequency, so an array (x) is created, containing values from the lowest to the highest frequency, the values are linearly spaced, and there is 501 values in x, as this is the number of data values that each minute of data contains. Next an array (y) is created and serves as the y-axis for the waterfall plot. The amount of rows of data in the matrix containing the waterfall plot information determines the values on the y-axis(time). However the compression factor (30) will have altered the amount of rows in the matrix and thus each row now represents 30 minute. The y-axis array is a linear array between zero and the max time, containing 10080/(compress factor) amount of values. Next the colour gradient for the waterfall plot is defined. No colour gradient existed in Scilab that would represent the spectrum to our satisfaction, so one was generated. The legend contains a white section which represents values that fall below the threshold, and a coloured section which is used to visually indicate just how much the signal exceeded the detection threshold. The coloured section of the legend was fully red at the top (strongest signal), and the amount of red dropped off linearly to zero by the mid point. The bottom section of the legend was fully blue, and the amount of blue dropped off linearly to zero by the mid point of the coloured section of the legend. The very centre of the coloured section of the colour bar was fully green, the amount of green in the legend dropped of linearly to zero in both directions from the centre, and reached zero at the midpoint between the centre and each end of the legend. The script then plots the legend in the appropriate position.
The waterfall plot is then generated including its titles and axis labels, these are then set to the preferred font size and style. Next the duty cycle plot is produced, which is simply a line plot of the duty cycle array (discussed in Step 7 above). The max hold plot is produced, which is just a line plot of the max hold array(discussed in Step 6 above).
Finally a graphic with the three desired plots for the study are saved as an image in a selected folder.
5. Spectrum Occupancy Measurements
This section contains the plots of our spectrum occupancy measurements
5.1. Plot description
5.1.1. Max Hold Plot
This plot represents the maximum power value measured for each frequency (i.e. max hold) during the measurement period. The red dashed line running across the Max Hold plot indicates the detection threshold for this particular band of frequencies. The method for obtaining the threshold is described in the Step 4 - Calculate average noise floor.
5.1.2. Waterfall Plots
This plot shows the variation in spectrum occupancy over frequency and time. A frequency is considered occupied when the power measured for that frequency exceeds a specified threshold. The threshold for detection has to be sufficiently high such that there is a low probability that noise will be detected as a signal, it also has to be sufficiently low such that there is a high probability that all signals will be detected.
In order to have a high probability of detecting signals and a low probability of detecting noise as a signal, 3 dBm was added to the average value of the noise and this was set as the detection threshold for each band analyzed. This is used for all the measurements. From visually inspecting the max hold graphs, it is apparent that the threshold value is very close to the peak noise values, very small signals are noticed (This is apparent when observing the 54MHz to 88MHz plots), the probability of detecting noise as a signal is very low (less than 1% in most cases), which can be seen from looking at the duty cycle graphs.
5.1.3. Duty Cycle Plots
The Duty Cycle plots show the fraction of time that the particular frequency is above the specified threshold, i.e. the fraction of time that each frequency is considered occupied. If the fraction of time is 1, then the signal was on for the entire period of measurement.
6. Conclusion
This document describes spectrum occupancy measurements preformed at Arclabs, Carriganore, Waterford, Ireland from April 11th through September 12, 2011. Measurements were made in all bands in the 30 MHz to 1000 MHz range. All data from this experiments are available, please contact the authors at the email address at the top of this document.
6.1. Strong signals or Potential Overload
As mentioned in Section 3.1. There is visible strong signals on 144.800MHz, this is due in part to a Digital Repeater approximately 2.5km away, but also to the transceiver in the vehicle of one of the Authors. There are a few instances where this transceiver may have caused overload on the spectrum analyzer (i.e. as the vehicle passed in the morning or evening -10.9dBm).
6.2. Spectrum Occupancy Upper Bounds
Based on the results of the study, we conclude that the average spectrum usage during the measurement period was 1.05%. Occupancy varied from less than 0.02% to 4.08% in the measurement area as shown in the Table and bar graph below.
6.3. Summary
ArcLabs is situated approximately 5 kilometers from the centre of Waterford City, Irelands 5th Largest City. In the spectrum examined. Overall spectrum occupancy Spectrum occupancy is very low at Arclabs, Carriganore, Waterford, Ireland.
6.4. Percentage Spectrum Occupancy Bar Chart
Start Freq. (MHz) |
Stop Freq. (MHz) |
Span (MHz) |
Spectrum Band Alloc. |
Spectrum Fraction Used |
Occupied Spectrum (MHZ) |
Average % Occupied |
30 |
54 |
24 |
Amateur, Others |
0.1662 |
0.03989 |
0.17 |
54 |
88 |
34 |
TV, RC |
0.883689 |
0.2856 |
0.84 |
108 |
138 |
30 |
Aeronautical |
0.0058 |
0.175 |
0.58 |
138 |
174 |
36 |
Aeronautical |
0.0110 |
0.395 |
1.09 |
174 |
216 |
42 |
TV |
.038695823 |
1.6254 |
3.87 |
216 |
225 |
9 |
Broadcasting |
0.0102826 |
0.093 |
1.03 |
225 |
406 |
181 |
Fixed Mobile, Aero, others |
.009308367 |
1.6833 |
0.93 |
406 |
470 |
64 |
Amateur, Fixed, Mobile, Radiolocation |
.0026158 |
0.1664 |
0.26 |
470 |
512 |
42 |
Broadcasting |
.0038776 |
0.1629 |
0.388 |
512 |
608 |
96 |
Broadcasting |
.000178413 |
0.0192 |
0.02 |
608 |
698 |
90 |
Broadcasting |
.001686508 |
0.153 |
0.17 |
698 |
806 |
108 |
Broadcasting |
.005630406 |
0.6048 |
0.56 |
806 |
902 |
96 |
Broadcasting |
.004011422 |
0.384 |
0.40 |
902 |
928 |
26 |
GSM, Land Mobile |
.001852644 |
0.0494 |
0.19 |
928 |
1000 |
72 |
Broadcasting |
.040795195 |
2.9376 |
4.08 |
7. Acknowledgements
The authors would like to thank Patrick Connally of IMEX Systems Limited [IMEX], Li Cui of Tektronix in the USA [TEK], Dr David Malone of NUIM, and Brendan Minish of Westnet Networks, for their invaluable assistance in the preparation of this report. This project was partly funded by the HEA Research Facilities Enhancement Scheme 2008.
-
[COMREG0890R2] Radio Frequency Plan for Ireland. Retrieved August 1, 2011 from http://www.comreg.ie/_fileupload/publications/Comreg0890R2.pdf
-
[SSC2007] Dublin Ireland, Spectrum Occupancy Measurements Report. Retrieved August 1, 2011 from http://www.sharedspectrum.com/wp-content/uploads/Ireland_Spectrum_Occupancy_Measurements_v2.pdf
-
[CAVE2011] The unfinished history of usage rights for spectrum. Retrieved August 20, 2011 from http://dx.doi.org/10.1109/DYSPAN.2011.5936231
-
[SA2600] H600/SA2600 Handheld Spectrum Analyzer. Retrieved August 1, 2011 from http://www.tek.com/products/spectrum-analyzer/sa2600/
-
[TEK] Tektronix. Retrieved August 1, 2011 from http://www.tek.com/
-
[IMEX] IMEX Test and Measurement. Retrieved August 1, 2011 from http://www.imex.co.uk/test-and-measurement
-
[RFC4180] Y. Shafranovich, Common Format and MIME Type for Common-Separated Values (CSV) Files, retrieved August 1, 2011 from http://www.ietf.org/rfc/rfc4180.txt
-
[SCILAB] - SciLab. Retrieved August 2, 2011 from http://www.scilab.org/