<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[KN4VHM Blog]]></title><description><![CDATA[KN4VHM Workin' on some GSM]]></description><link>https://blog.kn4vhm.com/</link><image><url>https://blog.kn4vhm.com/favicon.png</url><title>KN4VHM Blog</title><link>https://blog.kn4vhm.com/</link></image><generator>Ghost 4.48</generator><lastBuildDate>Sun, 19 Apr 2026 23:31:22 GMT</lastBuildDate><atom:link href="https://blog.kn4vhm.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[SDR and DSP Resources]]></title><description><![CDATA[<p>I have done quite a bit of mucking around with SDR stuff, so friends and other I have worked with often wonder what resources they could look at. This is my list. It has a bias towards some cellular stuff.</p><p>&#x200C; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#x200C;</p><p><strong>General Tutorial</strong></p>]]></description><link>https://blog.kn4vhm.com/some-sdr-resources/</link><guid isPermaLink="false">645966b304f230000185a18b</guid><category><![CDATA[SDR]]></category><category><![CDATA[DSP]]></category><category><![CDATA[Resources]]></category><category><![CDATA[Cellular]]></category><category><![CDATA[GSM]]></category><dc:creator><![CDATA[Erik Fong]]></dc:creator><pubDate>Mon, 08 May 2023 21:25:56 GMT</pubDate><content:encoded><![CDATA[<p>I have done quite a bit of mucking around with SDR stuff, so friends and other I have worked with often wonder what resources they could look at. This is my list. It has a bias towards some cellular stuff.</p><p>&#x200C; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#x200C;</p><p><strong>General Tutorial For Getting Familiar with SDR:</strong></p><p>&#x200C; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; <a href="https://greatscottgadgets.com/sdr/"> &#xA0;Software Defined Radio with HackRF - Great Scott Gadgets &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0;Great Scott Gadgets</a></p><ul><li>&#x200C;</li></ul><p>&#x200C; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#x200C;</p><p><strong>Understanding the Sampling:</strong></p><p>The sampling of an SDR goes against what you might learn in some DSP courses. There is a good reason for this, and the following resources explain why SDRs don&apos;t seem to respect the Nyquist Rate.&#x200C;&#x200C;<a href="https://www.youtube.com/watch?v=JuuKF1RFvBM">https://www.youtube.com/watch?v=JuuKF1RFvBM</a>&#x200C;&#x200C;<a href="https://www.analog.com/media/en/analog-dialogue/volume-51/number-1/articles/complex-mixers-zif-architecture-advanced-algorithms-black-magic-next-generation-sdr-transceivers.pdf">https://www.analog.com/media/en/analog-dialogue/volume-51/number-1/articles/complex-mixers-zif-architecture-advanced-algorithms-black-magic-next-generation-sdr-transceivers.pdf</a></p><p>&#x200C; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#x200C;</p><p>Good EE Youtube Channels (Some you may know): Not directly related to SDR, but some good general knowledge. Some of the YouTubers make some good videos about their use of SDR.&#x200C;&#x200C;<a href="https://www.youtube.com/c/AndreasSpiess">https://www.youtube.com/c/AndreasSpiess</a>&#x200C;&#x200C;<a href="https://www.youtube.com/c/BenEater">https://www.youtube.com/c/BenEater</a>&#x200C;&#x200C;<a href="https://www.youtube.com/c/Analogzoo">https://www.youtube.com/c/Analogzoo</a>&#x200C;&#x200C;<a href="https://www.youtube.com/c/EevblogDave">https://www.youtube.com/c/EevblogDave</a>&#x200C;&#x200C;<a href="https://www.youtube.com/c/Electroboom">https://www.youtube.com/c/Electroboom</a>&#x200C;&#x200C;<a href="https://www.youtube.com/c/greatscottlab">https://www.youtube.com/c/greatscottlab</a>&#x200C;&#x200C;<a href="https://www.youtube.com/c/HB9BLAWireless">https://www.youtube.com/c/HB9BLAWireless</a>&#x200C;&#x200C;<a href="https://www.youtube.com/c/IMSAIGuy">https://www.youtube.com/c/IMSAIGuy</a>&#x200C;&#x200C;<a href="https://www.youtube.com/c/Thesignalpath">https://www.youtube.com/c/Thesignalpath</a></p><p>&#x200C; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#x200C;</p><p>GSM Sniffing Videos:&#x200C;&#x200C;While I have not gotten around to putting the info on this blog, I have done quite a bit messing around with GSM stuff with the intent to use it for amatur radio emergency communications.&#x200C;&#x200C;<a href="https://www.youtube.com/watch?v=3dridHDUHJQ&amp;list=PLRovDyowOn5F_TFotx0n8A79ToZYD2lOv">https://www.youtube.com/watch?v=3dridHDUHJQ&amp;list=PLRovDyowOn5F_TFotx0n8A79ToZYD2lOv</a>&#x200C;&#x200C;<a href="https://www.youtube.com/watch?v=fQSu9cBaojc">https://www.youtube.com/watch?v=fQSu9cBaojc</a></p><p>&#x200C; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#x200C;</p><p>GNU Radio&#x200C;&#x200C;<a href="https://www.gnuradio.org/">https://www.gnuradio.org/</a>&#x200C;&#x200C;i very highly recommend using Linux for GNURadio Stuff, and you should probably build it from source and install it to a custom rather than using packages. I have spent way to much time dealing with a mess of incompatibilities.</p><p><a href="https://github.com/ptrkrysik/gr-gsm">https://github.com/ptrkrysik/gr-gsm</a></p><p>&#x200C; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#x200C;</p><p>Potential LTE Solutions</p><p><a href="https://docs.srslte.com/en/latest/index.html">https://docs.srslte.com/en/latest/index.html</a>&#x200C;&#x200C;<a href="https://osmocom.org/">https://osmocom.org/</a>&#x200C;&#x200C;<a href="https://sysmocom.de/">https://sysmocom.de/</a>&#x200C;&#x200C;<a href="http://openbts.org/">http://openbts.org/</a></p><p>GSM Only Solution (Provides some LTE stuff, but it is not open source)&#x200C;&#x200C;<a href="https://yatebts.com/">https://yatebts.com/</a></p><p>My Docker container for this (may not be built properly)&#x200C;&#x200C;<a href="https://hub.docker.com/r/quantump/yatebts">https://hub.docker.com/r/quantump/yatebts</a></p><p>&#x200C; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#xA0; &#x200C;</p><p>Ham Radio Digital Modes Software</p><p><a href="http://www.w1hkj.com/">http://www.w1hkj.com/</a> (Has a large range of modem selections)&#x200C;&#x200C;<a href="https://github.com/wb2osz/direwolf">https://github.com/wb2osz/direwolf</a> (An FSK modem with some higher data rate options using PSK that I have never gotten to work, often used with APRS)&#x200C;&#x200C;<a href="https://physics.princeton.edu/pulsar/k1jt/wsjtx.html">https://physics.princeton.edu/pulsar/k1jt/wsjtx.html</a> (Some very very weak signal modems, my favorite to mess around with)</p><p>A YouTube playlist I often share with others.</p><p>&#x200C;<a href="https://youtube.com/playlist?list=PLi2vdbZIXSX0fBWIptnKW4h6PAldM5u3h&amp;feature=shared">https://youtube.com/playlist?list=PLi2vdbZIXSX0fBWIptnKW4h6PAldM5u3h&amp;feature=shared</a></p><ul><li>&#x200C;</li></ul>]]></content:encoded></item><item><title><![CDATA[SoftEther VPN Behind HAProxy]]></title><description><![CDATA[<p>Thought I would share because the other other related source I know of is <a href="https://forum.softether.org/viewtopic.php?t=7261">this</a>. For those who don&apos;t know, SoftEther VPN is a VPN software that disguises itself as https traffic to be able to hide it&apos;s presence, so I wanted to be able to</p>]]></description><link>https://blog.kn4vhm.com/softether-vpn-behind-haproxy/</link><guid isPermaLink="false">629bfca3ed954b0001641b7a</guid><dc:creator><![CDATA[Erik Fong]]></dc:creator><pubDate>Sun, 05 Jun 2022 01:01:10 GMT</pubDate><content:encoded><![CDATA[<p>Thought I would share because the other other related source I know of is <a href="https://forum.softether.org/viewtopic.php?t=7261">this</a>. For those who don&apos;t know, SoftEther VPN is a VPN software that disguises itself as https traffic to be able to hide it&apos;s presence, so I wanted to be able to host both it and a normal webserver on port 443. Below is a rough copied version of my HAProxy config that I made to do this. &#xA0; </p><figure class="kg-card kg-code-card"><pre><code>defaults
timeout client 30s
timeout server 30s
timeout connect 5s

frontend ft_tcp
    mode tcp
    bind *:443

    #delay required so it has time to actually get the required information for the SE backend
    tcp-request inspect-delay 5s
    #Don&apos;t know what this is for
    tcp-request content accept if { req_ssl_hello_type 1 }

    #Redirect traffic to the softether server if the subdomain is &quot;xyz&quot;
    use_backend bk_softether if { req_ssl_sni -i xyz.kn4vhm.com }
    #Otherwise use the normal https backend
    default_backend bk_tcp_to_https

backend bk_softether
  mode tcp
  server server-se ip.to.softether.server:443

backend bk_tcp_to_https
    mode tcp
    #Because I have to casecade the connection, I need send-proxy to preserver the client ip or else %[src] evaluates to 127.0.0.1
    server haproxy-https 127.0.0.1:8443 check send-proxy

frontend ft_https
    mode http
    #Accept-proxy to get proper client information
    bind *:8443 ssl crt /path/to/certificate.pem accept-proxy

	#Do any other backend routing for other subdomains here and not in the first frontend as it is tcp based instead of http (ie see &quot;mode tcp&quot; and &quot;mode http&quot;</code></pre><figcaption>example haproxy.cfg some items are missing like any global declaratons, or other backends that I am using</figcaption></figure>]]></content:encoded></item><item><title><![CDATA[HF Band Pass Filter]]></title><description><![CDATA[<p>Analysis of the BPF-E16 HF Bandpass Filter I got: bought from <a href="https://www.mouser.com/ProductDetail/Mini-Circuits/BPF-E16%2b">here</a>.</p><hr><p>Center Frequency: 7.18032 MHz<br>Bandwidth (-3 dB): 29.5420 MHz<br>Bandwidth (-6 dB): 30.1158 MHz<br>Quality Factor: 0.24<br>Low Cutoff Frequency (-3.4 dB): 1.65275 MHz<br>-6 dB Point: 1.55381 MHz<br>-60 dB</p>]]></description><link>https://blog.kn4vhm.com/hf-band-pass-filter/</link><guid isPermaLink="false">60600187b6853e000145a29e</guid><category><![CDATA[HF]]></category><category><![CDATA[Filters]]></category><dc:creator><![CDATA[Erik Fong]]></dc:creator><pubDate>Sun, 28 Mar 2021 04:22:59 GMT</pubDate><media:content url="https://blog.kn4vhm.com/content/images/2021/03/P_20210328_001902_2.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.kn4vhm.com/content/images/2021/03/P_20210328_001902_2.jpg" alt="HF Band Pass Filter"><p>Analysis of the BPF-E16 HF Bandpass Filter I got: bought from <a href="https://www.mouser.com/ProductDetail/Mini-Circuits/BPF-E16%2b">here</a>.</p><hr><p>Center Frequency: 7.18032 MHz<br>Bandwidth (-3 dB): 29.5420 MHz<br>Bandwidth (-6 dB): 30.1158 MHz<br>Quality Factor: 0.24<br>Low Cutoff Frequency (-3.4 dB): 1.65275 MHz<br>-6 dB Point: 1.55381 MHz<br>-60 dB Point: 1.11850<br>High Cutoff Frequency (-3 dB): 31.1947 MHz<br>-6 dB Point: 31.6696 MHz<br>-60 dB Point: 37.7024 MHz</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.kn4vhm.com/content/images/2021/03/HF_Bandpass_S21_Gain.png" class="kg-image" alt="HF Band Pass Filter" loading="lazy" width="384" height="460"><figcaption>S21 Gain (dB)</figcaption></figure><p></p>]]></content:encoded></item><item><title><![CDATA[BladeRF HF Experimentation- Exp1]]></title><description><![CDATA[<p>This post should be part of a series of posts that help document my experiments for using the <a href="https://www.nuand.com/bladeRF-brief.pdf">BladeRF x40</a> on HF (3-30 MHz) with the <a href="https://github.com/Nuand/bladeRF/wiki/Getting-Started%3A-XB200-Transverter-Board">XB-200</a> transverter board. </p><p>Note: it is poorly written, I will improve my organization and writing as I figure out more things and do more</p>]]></description><link>https://blog.kn4vhm.com/bladerf-hf-experimentation-1/</link><guid isPermaLink="false">60497ddf2e61e80001010d16</guid><category><![CDATA[BladeRF]]></category><category><![CDATA[HF]]></category><category><![CDATA[SDR]]></category><category><![CDATA[FT8]]></category><category><![CDATA[Filters]]></category><category><![CDATA[BladeRF HF Experimentation]]></category><dc:creator><![CDATA[Erik Fong]]></dc:creator><pubDate>Sat, 13 Mar 2021 08:36:42 GMT</pubDate><content:encoded><![CDATA[<p>This post should be part of a series of posts that help document my experiments for using the <a href="https://www.nuand.com/bladeRF-brief.pdf">BladeRF x40</a> on HF (3-30 MHz) with the <a href="https://github.com/Nuand/bladeRF/wiki/Getting-Started%3A-XB200-Transverter-Board">XB-200</a> transverter board. </p><p>Note: it is poorly written, I will improve my organization and writing as I figure out more things and do more experiments. This post will probably be edited every once and a while as I improve and organize things.</p><p><strong>General Method</strong><br>I will be using the <a href="https://physics.princeton.edu/pulsar/k1jt/wsjtx.html">WSJT-X </a>software for this series of experiments because a) many people use it, b) some modes have a standard set of data it gives, and c) many signals can be received from far away; So, I can create a nice set of data points :)<br><br>The signal is received by the BladeRF, demodulated in GQRX, and audio is looped back into WSJT-X (<a href="https://www.rtl-sdr.com/tutorial-setting-up-a-low-cost-qrp-ft8-jt9-wspr-etc-monitoring-station-with-an-rtl-sdr-v3-and-raspberry-pi-3/">Guide I semi-followed</a>). </p><hr><p>This first experiment was conducted on March 10, 2021</p><h3 id="experimental-setup-">Experimental Setup:</h3><p>Mode: FT8 on 40 Meters (7.074 MHz)<br>Icom: Preamp 2, Receive Filter 1.8 kHz, Untuned, Random Wire Antenna<br>BladeRF: Bandwidth 10 MHz, GQRX Audio Gain -15 dB, Random Magnet Wire 		Antenna (appx. 40 M)<br>Filter Path: Antenna &gt; AM reject filter &gt; FM reject filter &gt; LNA &gt; BladeRF RXANT 		(J12) port; RXFILT (J8) &gt; <a href="https://blog.kn4vhm.com/hf-multi-band-pass-filter-analysis/">HF band pass filter</a> &gt; RXFILT-ANT (J9)</p><hr><h3 id="data">Data</h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.kn4vhm.com/content/images/2021/03/Exp1-GridImage.png" class="kg-image" alt loading="lazy" width="992" height="744" srcset="https://blog.kn4vhm.com/content/images/size/w600/2021/03/Exp1-GridImage.png 600w, https://blog.kn4vhm.com/content/images/2021/03/Exp1-GridImage.png 992w" sizes="(min-width: 720px) 720px"><figcaption>Map of Signals received from Grid Squares. Red:Icom Blue:BladeRF Purple:Both,<a href="https://files.kn4vhm.com/BladeRF-HF-Experiment/Experiment1/Exp1-Interactive-Map.html"> Interactive map here</a></figcaption></figure><p>	As we can see from the above map, the Icom heavily out preformed the BladeRF. This is probably due to the better filtering on the Icom, which is expected. One purpose of these is experiments is to find a good filter configuration to help increase the sensitivity for the BladeRF. There are some strange outliers like grid squares PH64 and QO53 (also RR73 but no signal was probably received from there, that was just laziness on me not removing it).</p><p>You can find the raw data <a href="https://files.kn4vhm.com/BladeRF-HF-Experiment/Experiment1/">here</a>: these are the logs from WSJT-X. They probably could be formatted better, as I just coped and pasted from the program (there probably is a better way to export it). So far not much data analysis has been done, but I will probably continuously update this post as a do stuff.</p><p>Some info on the image and interactive map: The data processing was done by an R script written by my friend Nick (KM4YHI): It can be found <a href="https://files.kn4vhm.com/BladeRF-HF-Experiment/grid2latlon-V1.R">here</a>. This script will be updated as more features are added. As of right now, I just made a list out of every grid square that appears in the data, and I cross reference data &#xA0;received &#xA0;from the Icom and BladeRF to get a general idea of what has been received from what.</p><p></p>]]></content:encoded></item><item><title><![CDATA[HF Multi-Band Pass Filter Analysis]]></title><description><![CDATA[Data for this HF filter I got. I will update this as measurements are taken]]></description><link>https://blog.kn4vhm.com/hf-multi-band-pass-filter-analysis/</link><guid isPermaLink="false">604987972e61e80001010d6e</guid><category><![CDATA[Filters]]></category><category><![CDATA[HF]]></category><dc:creator><![CDATA[Erik Fong]]></dc:creator><pubDate>Thu, 11 Mar 2021 03:21:50 GMT</pubDate><media:content url="https://blog.kn4vhm.com/content/images/2021/03/P_20210310_221458.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.kn4vhm.com/content/images/2021/03/P_20210310_221458.jpg" alt="HF Multi-Band Pass Filter Analysis"><p>Data for this HF filter I got. I will update this as measurements are taken.<br>Filter purchased from <a href="https://janielectronics.com/index.php?route=product/product&amp;product_id=55">here</a>.</p><hr><h3 id="1-6-2-5-mhz-option">1.6-2.5 MHz Option</h3><hr><h3 id="2-5-4-7-mhz-option">2.5-4.7 MHz Option</h3><hr><h3 id="4-7-7-5-mhz-option">4.7-7.5 MHz Option</h3><p>Center Frequency: 6.11414 MHz<br>Bandwidth (-3 dB): 3.8439 MHz<br>Bandwidth (-6 dB): 4.13460 MHz<br>Quality Factor: 1.59<br>Low Cutoff Frequency (-3 dB): 4.48714 MHz<br>-6 dB Point: 4.35663 MHz<br>-60 dB Point: N/A<br>High Cutoff Frequency (-3 dB): 8.33107 MHz<br>-6 dB Point: 8.49124 MHz<br>-60 dB Point: 13.8656 MHz</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://blog.kn4vhm.com/content/images/2021/03/HF_MBPF_2_S21_Gain.png" class="kg-image" alt="HF Multi-Band Pass Filter Analysis" loading="lazy" width="384" height="460"><figcaption>S21 Gain for 4.7-7.5 MHz filter option</figcaption></figure><hr><h3 id="7-5-14-5-mhz-option">7.5-14.5 MHz Option</h3><hr><h3 id="14-5-21-5-mhz-option">14.5-21.5 MHz Option</h3><hr><h3 id="21-5-33-mhz-option">21.5-33 MHz Option</h3><hr><h3 id="33-56-mhz-option">33-56 MHz Option</h3>]]></content:encoded></item></channel></rss>