[{"content":"Book Review - Antenna Handbook by the U.S. Marine Corps One of the cool things about amateur radio is that, on its own, it\u0026rsquo;s not an isolated field. In fact, it\u0026rsquo;s a slice of radiocommunications, which in turn are used both by hobbyists and by industry and the military. Because of that, much of the knowledge created by one of these areas ends up being very useful to the others. In this way, even material produced by the military can be useful for civilians — even from another country — to learn more, and that\u0026rsquo;s exactly what caught my attention in the Antenna Handbook by the U.S. Marine Corps, which is considered publicly available and can be read online here .\n🟠 Warning This book is not about amateur radio, so in a few brief moments it may mention practices we shouldn\u0026rsquo;t follow as amateur operators, such as frequency bands outside our allocation or antennas for specific use. However, its technical knowledge about propagation and antennas is highly connected to our everyday practice, and that\u0026rsquo;s why I still recommend it.\nCover of the Antenna Handbook (MCRP 3-40.3C)\nThe book is a basic compendium on radio communication, focused on how antennas work. But what surprised me was that its first chapters don\u0026rsquo;t deal with antennas, but rather with electromagnetic radiation, atmospheric propagation, transmission lines and many other topics. Something remarkable given its compact size, almost like a pocket book.\nIts approach, although broad, is quite direct and doesn\u0026rsquo;t go into deep electromagnetism calculations, but it\u0026rsquo;s a good introductory text to several topics of radio transmission.\nOverview The operating frequencies covered range from HF to UHF. For each antenna presented, it shows its radiation pattern, how to size it for a given frequency, basic construction characteristics, propagation, and whether it\u0026rsquo;s simpler or more complex to build.\nI found it very interesting that, despite all the progress in modern links such as satellites and other technologies, the book treats HF as an important part of operations, especially when it dedicates a good portion of its pages to ionospheric reflection and NVIS, with antennas dedicated to these frequencies, covering the band up to 30 MHz several times.\nDipole antenna, as presented in the book\nBecause it\u0026rsquo;s a book about military operations and, consequently, talks about field operations, it also becomes interesting for those who do SOTA or POTA operations, as it presents several non-fixed antennas, such as dipoles, inverted Vs, EFHW and many others.\nIt\u0026rsquo;s important to point out that this is not an amateur-radio-specific book, and that\u0026rsquo;s reflected at some points: it mentions military-use frequencies and also covers ways to keep direct communication with other stations without being intercepted. But that\u0026rsquo;s a detail, since the whole book focuses on the technical aspects of antennas.\nSo, is it any good? The book is definitely a well-built manual on radiocommunication, with good practical coverage that brings the theory to the surface when needed to better explain some concepts. I don\u0026rsquo;t think it\u0026rsquo;s a book for those still wanting to become amateur radio operators, precisely because, as I mentioned earlier, it doesn\u0026rsquo;t talk about amateur radio and includes some details that may confuse beginners. On the other hand, it\u0026rsquo;s a very interesting book for those who have already had their first experiences and now want to expand their knowledge even further. It\u0026rsquo;s definitely worth keeping on the shelf (if you have a physical copy) and even taking along on remote operations.\nRemember that the book is freely available on the Marine Corps\u0026rsquo; own website and can be checked out here: https://www.marines.mil/Portals/1/MCRP%203-40.3C%20With%20Erratum%20z.pdf ","permalink":"https://radio.lucaspolo.dev/en/posts/review-antenna-handbook-usmc/","summary":"Review of the Antenna Handbook by the U.S. Marine Corps","title":"Review of the USMC Antenna Handbook"},{"content":"The first time I had a somewhat deeper contact with Morse code was when I read the book The Information by James Gleick. This book is a delight for anyone who wants to learn more about communication and, as the title highlights, information. In a first and brief moment, the book jumps ahead to its final topic, Claude Shannon\u0026rsquo;s Information Theory and how it is the foundation of all our telecom technologies. Right after, the book goes back in time to communication through drums and then advances to the subject of this post, Morse code.\nMorse code, unlike other encoding schemes that spread naturally, was designed. From its very conception there was a concern with compressing the message: the most frequent letters received the shortest sequences. After it was adopted, code tables emerged to reduce whole sentences to short sequences of letters. QSL?*\nTo this day Morse code is highly widespread through CW modulation, thanks to its great energy efficiency for transmitting messages worldwide and its practicality. Until recently, Anatel required learning it for promotion to the B and A amateur radio classes; the topic was removed and now learning it is optional.\nThe resources for learning Morse are extensive, but recently something charmed amateur radio operators: a little board that let you practice while already showing the path to follow:\nThe project is amazing and definitely worth acquiring for anyone interested in Morse who wants to occasionally play with this keyer. However, it\u0026rsquo;s still not that accessible. So, based on the Morse tree, we now have a small tool to practice the code in a simple and practical way. The tool is not meant to replace any other learning path; on the contrary, it helps to complement and to make day-to-day use of Morse easier.\nTo access it, check out Yet another Morse trainer If you have improvement suggestions or find any bugs, send an e-mail to the contact available on the About page.\n*QSL: do you confirm receipt of the message?\n","permalink":"https://radio.lucaspolo.dev/en/posts/another-morse-simulator/","summary":"A simple web tool to practice Morse code, inspired by the Morse tree and the popular PCB trainer.","title":"Yet Another Morse Simulator"},{"content":"Repeaters on MMAR - Radioamador MMAR - Radioamador has introduced the ability to look up repeaters based on geographic location: you just type a coordinate and a search radius. The only thing to watch out for is that, although it\u0026rsquo;s very functional and fast, some repeaters may have incorrect records — there are even coordinates in the middle of the North Atlantic.\nTo look one up, just click Consultar Repetidora in the Opções tab and enter the geographic coordinate. Tip: you can copy it directly from Google Maps, and when you paste it, it will automatically split into latitude and longitude:\nPlotting the locations on a map Seeing the geographic location is already very useful, but it\u0026rsquo;s much more interesting to visualize the points on a map. To do that you can use a script to render the locations on the map, and you can see the result below:\nOpen the repeaters map in full screen The script that generates this map, based on the CSV file you can retrieve from the MMAR - Radioamador lookup, is shown below. To run it, just execute the command uv run plot.py in the same directory as the CSV named repetidoras.csv:\n# /// script # dependencies = [ # \u0026#34;pandas\u0026#34;, # \u0026#34;folium\u0026#34;, # \u0026#34;datetime\u0026#34; # ] # /// import pandas as pd import folium from folium.plugins import MarkerCluster, Search from datetime import datetime # 1. Load data df = pd.read_csv(\u0026#39;repetidoras.csv\u0026#39;, sep=\u0026#39;;\u0026#39;) # 2. Create map (no default tiles: layers are added below) mapa = folium.Map( location=[-15.7801, -47.9292], zoom_start=4, max_zoom=13, tiles=None ) # 2.1 Background layers (map selector to view states/cities) # Voyager is the default: shows city names and main roads while staying light. folium.TileLayer(\u0026#39;CartoDB voyager\u0026#39;, name=\u0026#39;Voyager (cities and roads)\u0026#39;).add_to(mapa) folium.TileLayer(\u0026#39;OpenStreetMap\u0026#39;, name=\u0026#39;OpenStreetMap (detailed streets)\u0026#39;).add_to(mapa) folium.TileLayer(\u0026#39;CartoDB positron\u0026#39;, name=\u0026#39;Light (CartoDB Positron)\u0026#39;).add_to(mapa) folium.TileLayer( tiles=\u0026#39;https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\u0026#39;, attr=\u0026#39;Esri, Maxar, Earthstar Geographics\u0026#39;, name=\u0026#39;Satellite (Esri)\u0026#39; ).add_to(mapa) # 2.2 Label overlay (city and road names) — useful over satellite folium.TileLayer( tiles=\u0026#39;https://{s}.basemaps.cartocdn.com/rastertiles/voyager_only_labels/{z}/{x}/{y}{r}.png\u0026#39;, attr=\u0026#39;\u0026amp;copy; OpenStreetMap, \u0026amp;copy; CARTO\u0026#39;, name=\u0026#39;Labels (cities and roads)\u0026#39;, overlay=True, control=True, show=False ).add_to(mapa) # 3. Add the reference date (floating text) data_hoje = datetime.now().strftime(\u0026#34;%d/%m/%Y\u0026#34;) texto_data = f\u0026#34;\u0026#34;\u0026#34; \u0026lt;div style=\u0026#34;position: fixed; bottom: 50px; left: 50px; width: 200px; height: 30px; background-color: white; border:2px solid grey; z-index:9999; font-size:14px; padding: 5px; text-align: center;\u0026#34;\u0026gt;\u0026amp;nbsp; Generated on: {data_hoje} \u0026lt;/div\u0026gt; \u0026#34;\u0026#34;\u0026#34; mapa.get_root().html.add_child(folium.Element(texto_data)) # 3.1 Make the cluster bubbles semi-transparent (see cities underneath) css_clusters = \u0026#34;\u0026#34;\u0026#34; \u0026lt;style\u0026gt; .marker-cluster { background-clip: padding-box; } .marker-cluster-small { background-color: rgba(110, 204, 57, 0.45); } .marker-cluster-small div { background-color: rgba(110, 204, 57, 0.75); } .marker-cluster-medium { background-color: rgba(240, 194, 12, 0.45); } .marker-cluster-medium div { background-color: rgba(240, 194, 12, 0.75); } .marker-cluster-large { background-color: rgba(241, 128, 23, 0.45); } .marker-cluster-large div { background-color: rgba(241, 128, 23, 0.75); } /* Responsive: compact search and layer selector on small/portrait screens */ @media (max-width: 600px) { .leaflet-control-search .search-input { width: 130px; font-size: 12px; } .leaflet-control-search { margin-right: 6px !important; } .leaflet-control-layers-expanded { max-width: 150px; max-height: 40vh; overflow-y: auto; font-size: 12px; padding: 6px 8px; line-height: 1.3; } .leaflet-control-layers label { margin-bottom: 2px; } .leaflet-top.leaflet-right { max-width: 55vw; } } \u0026lt;/style\u0026gt; \u0026#34;\u0026#34;\u0026#34; mapa.get_root().html.add_child(folium.Element(css_clusters)) # 4. Marker cluster: expands overlapping markers (same address) on click marker_cluster = MarkerCluster( name=\u0026#34;Repeaters\u0026#34;, options={ # At max zoom, clicking \u0026#34;opens\u0026#34; (spiderfy) the stacked markers \u0026#34;spiderfyOnMaxZoom\u0026#34;: True, \u0026#34;zoomToBoundsOnClick\u0026#34;: True, # A larger distance between the spiderfy \u0026#34;legs\u0026#34; makes repeaters easier to tell apart \u0026#34;spiderfyDistanceMultiplier\u0026#34;: 2, # Cluster only very close markers, reducing clutter \u0026#34;maxClusterRadius\u0026#34;: 40, }, ).add_to(mapa) # 4.1 GeoJSON layer used by the search (properties are searchable in JS) features = [] for _, linha in df.iterrows(): info = f\u0026#34;\u0026lt;b\u0026gt;{linha[\u0026#39;Indicativo\u0026#39;]}\u0026lt;/b\u0026gt;\u0026lt;br\u0026gt;Freq: {linha[\u0026#39;Frequência de Operação\u0026#39;]}\u0026#34; # Visual marker (inside the cluster) folium.Marker( location=[linha[\u0026#39;Latitude\u0026#39;], linha[\u0026#39;Longitude\u0026#39;]], popup=folium.Popup(info, max_width=300), icon=folium.Icon(color=\u0026#39;blue\u0026#39;, icon=\u0026#39;tower\u0026#39;, prefix=\u0026#39;fa\u0026#39;) ).add_to(marker_cluster) # Feature for callsign search features.append({ \u0026#34;type\u0026#34;: \u0026#34;Feature\u0026#34;, \u0026#34;geometry\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;Point\u0026#34;, \u0026#34;coordinates\u0026#34;: [linha[\u0026#39;Longitude\u0026#39;], linha[\u0026#39;Latitude\u0026#39;]], }, \u0026#34;properties\u0026#34;: { \u0026#34;Indicativo\u0026#34;: str(linha[\u0026#39;Indicativo\u0026#39;]), \u0026#34;popup\u0026#34;: info, }, }) geojson_busca = folium.GeoJson( {\u0026#34;type\u0026#34;: \u0026#34;FeatureCollection\u0026#34;, \u0026#34;features\u0026#34;: features}, name=\u0026#34;Search by callsign\u0026#34;, show=False, # search-only layer; does not clutter the map # Invisible marker: the Search plugin requires a visible layer, but we don\u0026#39;t # want dots covering the map. The popup still works when a match is found. marker=folium.CircleMarker( radius=0, opacity=0, fill=False, fill_opacity=0, stroke=False ), popup=folium.GeoJsonPopup(fields=[\u0026#34;popup\u0026#34;], labels=False), ).add_to(mapa) # 5. Search centers and applies a moderate zoom, opening the popup Search( layer=geojson_busca, search_label=\u0026#39;Indicativo\u0026#39;, geom_type=\u0026#39;Point\u0026#39;, placeholder=\u0026#34;Search callsign...\u0026#34;, collapsed=False, search_zoom=12, ).add_to(mapa) # 6. Layer control (switch background maps) folium.LayerControl(collapsed=False).add_to(mapa) mapa.save(\u0026#39;mapa_repetidoras.html\u0026#39;) print(f\u0026#34;Map generated successfully! Reference date: {data_hoje}\u0026#34;) ","permalink":"https://radio.lucaspolo.dev/en/posts/mmar-repeater-lookup/","summary":"Repeater lookup added to MMAR - Radioamador","title":"Looking up repeaters on MMAR and plotting them on a map"},{"content":"Who I am Hello! My name is Lucas Polo, I go on the air as callsign PU2SXR, and I\u0026rsquo;m the author of this blog.\nHere I share experiences, antenna projects, notes on propagation, equipment and the culture surrounding this hobby that brings together electronics, science and the thrill of making contacts around the world.\nContact Suggestions, corrections and idea exchanges are always welcome:\nE-mail: contato@lucaspolo.dev GitHub: github.com/lucaspolo 73!\n","permalink":"https://radio.lucaspolo.dev/en/sobre/","summary":"\u003ch2 id=\"who-i-am\"\u003eWho I am\u003c/h2\u003e\n\u003cp\u003eHello! My name is \u003cstrong\u003eLucas Polo\u003c/strong\u003e, I go on the air as callsign \u003cstrong\u003ePU2SXR\u003c/strong\u003e, and I\u0026rsquo;m\nthe author of this blog.\u003c/p\u003e\n\u003cp\u003eHere I share experiences, antenna projects, notes on propagation, equipment and\nthe culture surrounding this hobby that brings together electronics, science and\nthe thrill of making contacts around the world.\u003c/p\u003e\n\u003ch2 id=\"contact\"\u003eContact\u003c/h2\u003e\n\u003cp\u003eSuggestions, corrections and idea exchanges are always welcome:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eE-mail:\u003c/strong\u003e \u003ca href=\"mailto:contato@lucaspolo.dev\"\u003econtato@lucaspolo.dev\u003c/a\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGitHub:\u003c/strong\u003e \u003ca href=\"https://github.com/lucaspolo\"\u003egithub.com/lucaspolo\u003c/a\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003e73!\u003c/em\u003e\u003c/p\u003e","title":"About"},{"content":"73 and welcome! This is the first post of Radio, a blog dedicated to amateur radio. If you enjoy putting signals on the air, experimenting with antennas, or you\u0026rsquo;re simply fascinated by the idea of talking to the other side of the world using radio waves, you\u0026rsquo;re in the right place.\nWhat is amateur radio? Amateur radio is a technical and scientific hobby in which licensed operators use the radio frequency spectrum to communicate, experiment and learn. It goes far beyond \u0026ldquo;talking on the radio\u0026rdquo;: it involves electronics, ionospheric propagation, antenna building, digital operation and even satellite communication.\nWhat you\u0026rsquo;ll find here Antennas: building, tuning and measurements. Propagation: how space and ionospheric conditions affect your contacts. Equipment: radios, accessories and modifications. Operating: digital modes, DX, contests and best practices. Experiences: reports of builds, activations and memorable contacts. Feel free to follow the upcoming posts. Good DX and see you next time!\n73!\n","permalink":"https://radio.lucaspolo.dev/en/posts/welcome-to-radio/","summary":"The first post of the Radio blog — about what amateur radio is and what you will find around here.","title":"Welcome to Radio"}]