Recently, I had the opportunity to try FEST3D (Aurorasat), a professional software used to design microwave filters and passive components based on waveguide technology. It can analyze and optimize almost every kind of topology found in this field.

I especially appreciated the very large number of examples available out of the box, because as a not-expert in microwave applications, it allowed me to see all the work made by generations of RF engineers. And there is a diversity that I had not suspected!

About the speed of calculations, the software is simply amazing! The approach is to put the components into equations and calculate the solution, unlike EM full 3D simulation programs which are very time consuming. The result is usually obtained in a few seconds, while an EM simulation software take several minutes to get the result, and up to a some hours to complete a full frequency range! Moreover, the results are very close to those obtained using full EM simulation.


Fest3D main interface, reentrant cavity filter example

So, I played with this nice piece of engineering to calculate some band-pass filter, low pass filter and duplexer for our hyper-frequency amateur bands. But, my constraints for Ham bands are not the same that the professional ones. In fact, the pros often need a high bandwidth, and the band pass filters are designed to drop any inter-modulation distortion on the adjacent band. For me, with only some kHz on voice and and less one hundred Hertz using CW, I don’t have these kinds of problems (BTW I can swim 🙂 My constraints are more focused on the construction easiness and the rejection of even and odd harmonics.

Another impressive feature, but totally out of scope for me, is the capability to estimate the maximum permissible power. I can see that my filter can supports up to 2.8kWatts, fun for me, but for sure a precious tool for a doppler radar application or a satellite broadcast design.

I will write a new post soon about these designs but I want to present my new article on slotted antennas first. Hey, first the antenna, and after, the filtering bank 🙂


Interdigital filter blocking a frequency (calculated with Fest3D, ParaView for the render)

More examples here.


My SDR – Nice band pass filter

Braahh… I made a mistake in my last order and I got a 12.1 ohms resistor instead of a 12.1k ohms. By misfortune, the value of this resistor is critical and I can’t replace it by a 10k or something close. It’s used by the internal voltage regulator of the Ethernet chipset (LAN8720A). So, I made an extra order, payed my 11 cents for the component and the rest for the shipping cost :/

Beside, I assembled and tested the first filter. The result is excellent and I can’t expect have a better response. This band pass filter (4 poles, Butterworth) was originally designed to be used on my contest transceiver, with some close antennas in the same area. For this board, I scale it down with a maximum permissible power is 10 Watts (air cooled) on a side band (ex: parasitic TX on the 14 MHz, while the RX is centered on 7MHz).

I use a miniVNA for my measurements and I cannot read below -40dB, but the expected results looks good. The attenuation on 14 MHz should be around 70/75 db. The calculated insertion loss is around 0.5dB, and I measured in practice 0.66 dB, simply great! Some screenshots follows :


The LPF, using Amidon toroids (T37-2), and SMC capacitors


Schematic of the filter, and response (in red, a Monte-Carlo analysis)


Zoom on the top flat, around 0.5dB of insertion loss


S11 response, 1-30MHz (measurements here)


S11, close view on the 40m band (measurements here)


S21 response, 1-30MHz (miniVNA can’t read below -30dB with the directional coupler in place. Measurements here)


S21, close view, -0.66 dB on the flat top (measurements here)

My SDR – Reloaded

I received my new PCB this Friday and started to solder it with a new approach. Instead of working by stages, I soldered every series of components. It’s very fast because the components identification is visual and easy on the computer. It’s a bit boring for the large series, but I the counterpart is I soldered more than 350 surface mount components in less 4.5 hours. I used the solder mask (steel foils cut by laser) to put the right quantity of solder paste and the result is simply excellent. Now, I have to winding the toroids and finalize the board. Some pictures of my new prototype :


Fresh new PCB, top face


Bottom face


Close view on the solder paste pads


The final board soldered, without the inductors and transformers


Bottom face of the final board

My SDR – Work in progress

Yearrrr! I received my PCB Friday, just in time. The quality is here, and it’s another good point for PCB Layout. The day after, I started to solder a large part of the SDR transceiver, but unfortunately, I missed the CODEC in my components order… Braaaa, components are delivered in J+1 ^^


TinySDR borad, my 4 layers PCB


Colors are fine for Christmas 🙂


My SDR 144 – One band, two designs

For my next 2m band SDR transceiver, I plan to build two different architectures, because testing them is probably the best way to decide which is the most valuable for me.

The first will use a classical topology with an FI on 30MHz. The front-end LNA sends the signal to a mixer, the FI was demodulated by my HF Tyloe mixer, converted by a 24 bits ADC and sent true Ehernet on HDSDR. The mixer chosen for this first version is a ADL5350. Nothing exceptional on the performance side, but I’m sure it will do the the job, and it’s an easy way.

The second one is a zero IF transceiver. Regarding the huge amount of cell phone sold by year, we can say now that it’s a classical topology too 🙂 Usually, the mod & demod chips integrates a phase shifter (90°) and I can reuse my PLL design based on a ADF4157. After this stage, the I/Q signal is sent to a OpAmp (LPF + Gain) and after to the ADC. I selected the duo LTC5584/LTC5598 for this design, but at higher frequencies, SKY73012 & SKY73010 should be  fine too.

I cannot prognostic the winner, but I’m sure it will be very interesting to test and compare 🙂


In a few words, I completed my 4 layers board, the gerber files were sent and I’m now waiting for it. This prototype is design to work on the 40m band, because it’s easier for me to debug it at these low frequencies. The next versions will operate at 145MHz and 1.3GHz, with an IQ and a classic mixer. The different parts could be clearly identified on the board (power, microcontroller, ref clock, Ethernet, RX mixer, TX mixer, PA, RX filterbank, TX filterbank) and I tried to keep it as simple as possible.

The next step is to solder SMC components (small 0603 for res & cap) and test the microcode. All the data will send over Ethernet and HDSDR will process it, if everything works fine 🙂


TinySDR, my SDR board, for receiving/transmitting over Ethernet

Update : Production process @ Beta Layout


My SDR – Ethernet link part

I finally started my big SDR project, and this week-end, a major piece has fallen. I wrote the microcode for the PIC32 microcontroller and debugged the communication between the PC software (a plugin for HDSDR) and the device. This part can be resumed to a sound card over Ethernet. Most of SDR hardware required to be close to the computer (ex. USB connection or audio connection to the sound card) and my wish is to build a full SDR system that could be operated remotely and placed close to the antenna. Above all, this is important for the hyperfrequency because the loss in the coaxial cable are important at these frequencies.

The next step is now to design and build the PCB. This is not really a problem and this is the funny part for me. A few more efforts and I will be able to play with my full SDR system 🙂

PIC32 Dev Kit sending the UDP data to HDSDR

qs1r-multirelay source code

As promised, I released the source code of my program. Nothing exceptional, just some lines of code to dispatch the multiplexed IQ output of the receiver into 7 audio channels. For this, I used the qs1r framework from Phil (N8VB) and the Verilog part written by Alex (VE3NEA).

My prog needs few more features and bugs correction, but I already corrected a major bug about a buffer leak. The QS1R buffer and the audio buffer are not perfectly synchronised and moreover, the Window (MME) audio buffers jams sometimes and skips some data. Instead to try to compensate this with an adaptive buffer (which grow rapidly), I simply drop some frames 🙂

The source code & binary (version 0.1 alpha) can be downloaded here, or on my Github : http://github.com/Guenael

The audio relay could be modified to work directly with CwSkimmer. It’s not interesting for the Linux users, but the community that uses CwSkimmer to contribute to ReverseBeaconNetwork could spot CW QSO as usual, and in the same time, take some QRSS captures. The CWSL projet (OL5Q) allows to duplicate the data flow to another application (ex: HDSDR, an audio file recorder) and my qs1r-multirelay could be rewritten to read the shared memory. The RBN community is larger than the QRSS community and some hams could be interested to participate and share their receiver. Unfortunately, I have no feedback about multi-channels grabbers on the KnightsQrss mailing list and I won’t spend more time on this project. The source code is available, anyone can play with 🙂

qs1r receiver board

A few watts more…

I prepare a next project, focused on a low cost (semi)QRO power amplifier. The output power should be around 1kW and I need more 2kW with 50V for the power supply. An easy way is to serialize 4 ATX server power supply to get 48V. But each bloc must be isolated from the ground, to avoid a shortcut (second stage isolation). Moreover, this require some tricks to startup the power supply.

Tiny patch to start the power supply

Finally, everything works fine, but I’m not sure to want this. Of course, it’s safe and this is the easy way, but design and build this part could be interesting.

Testing 2 ATX power supply in serial (24V)

In the same time, I retrieved two copper heatsink (thanks Sean) at the lab for the Mosfets cooling. With a powerful fan, it should be fine. The IMD will not excess -20dB, not great, but definitively better than many dirty setups visible on the ham bands. I will continue to use these IRFP440 for bands below than 15MHz.

The heatsink, Mosfet surface visible here

Grabber 7 bandes et programmation

Je sais pourquoi je n’aime pas la programmation, c’est toujours des prises de têtes sur fond de thread, mutex, références et ça fini à point d’heure… Je me suis encore torturé l’esprit, j’ai peu dormi, mais ça y est, j’ai gagné ! Mon dernier petit prog’ tourne au poil =)

J’ai écrit une application pour le qs1r, un récepteur SDR à conversion directe. Pour faire court, le programme relaye 7 réceptions différentes dans des câbles audio virtuels. Ceci permet de faire tourner derrière des programmes comme SpectrumLab, et ainsi générer des captures de waterfall QRSS.

Le gros du travail avait déjà été fait en amont par Alex (VE3NEA) qui à écrit le code Verilog pour le FPGA qui permet de downsampler 7 streams (cordic, décimation cic & filtrage). Lui-même à utilisé le framework open source de Phil (N8VB) qui à conçu et commercialisé le qs1r.

Le récepteur qs1r

Au passage, un gros merci à Alex, a qui j’avais demandé l’année passée de publier une partie de son code verilog. Depuis ce moment, je n’avais pas trouvé le temps de réaliser ces quelques lignes de code, mais j’ai enfin fini par m’y attaquer.

Un peu plus techniquement, j’utilise le framework QT avec GCC. La compilation est faite pour le moment pour Windows, mais le code est facilement portable sur Linux ou Mac (merci QT ! 🙂

Actuellement, je teste la stabilité du programme sur une semaine et ceci pour 3 bandes. Ensuite, après quelques petits correctifs (méthode push plutôt que pull, nettoyage du code et commentaire, etc…) je mettrais le source sur mon github ainsi qu’une release pour les binaires.

Voici un petit aperçu : (initialement 40m, 30m et 20m, mais les fréquences changent en fonction des demandes)

Dans les possibles évolutions, le programme pourrait être modifié pour fonctionner derrière CwSkimmer et sortir en plus des spots CW, des captures QRSS. Comme la communauté Skimmer/ReverseBeaconNetwork est assez peuplée et que le qs1r est largement utilisé, ceci pourrait donner un coup de boost aux activités QRSS.

Par ailleurs, le soft QRSS VD (de Scott, AJ4VD) pourrait être modifié pour accepter directement les données du qs1r sans passer par des câbles audio virtuels (VAC pour Windows, Jack pour Linux).

L’interface de configuration

Pour terminer, un rappel de la page du grabber installé à Foulab (VA2LTF). Pour le moment, je laisse tourner 3 bandes, et prochainement, plein pot sur 7 bandes 🙂

Multiband QRSS grabber

Update : Je l’ai passé en 7 bandes, ça fait plaisir à voir sur une seule page 🙂


J’ai mesuré l’IMD de mon petit PA maison et les résultats sont assez conformes à la simulation mais aussi aux reports que j’ai en digimodes. Le chiffre est tombé, c’est -18 d’IMD. Rien d’exceptionnel ou de remarquable car les bons PA push-pull classe AB font -32/-35 dB. Il faut noter que j’en n’utilise pas des Mosfet à 80 dollars pièce, mais des Mosfet d’alim à découpage qui font 2 dollars chacun ! Ahh tout de suite c’est plus compréhensible 🙂

Mesure de l’IMD à partir d’une modulation PSK-31, laissée tournée à vide et affichant un dual tone.

Pour la mesure elle-même, j’ai utilisé Spectrum lab avec un autre RX. L’IMD se fait habituellement avec un tone spacing de 5k ou 20k, mais j’ai été plus agressif et j’ai pris le deux tons du PSK-31. J’aurais peut-être gagné 1 point ou 2 avec des écarts plus standards…

Le PA s’adapte facilement en version 1kW et je devrais m’en faire une version prochainement. Pour la couverture des bandes amateur, il est par contre limité au max à la bande des 20m, car les résultats s’effondrent littéralement à 15 MHz. C’est l’entrée des Mosfets qui pose problème car la gâte à une capacité trop élevée. Mais bon, ça donne déjà quelques bandes pour pas cher 🙂

PA upgrade

J’ai bossé à améliorer mon petit PA avant le Field day de ce week-end. J’ai a présent un joli contrôle de puissance intégré avec la puissance transmise et réfléchie.

Les deux transfo des wattmeters visibles en gros plan

Le tout arrive sur deux galva pour un style tout smooth 🙂

Hey, le coté oldschool à du bon 🙂

En amont du Wattmeter, j’ai posé un filtre passe-bas 5 pôles. On voit clairement les 2 tores T130-2 sur la photo.

Filtre 5 poles avec les 2 tores Amidon

Au final, voilà la board du prototype. Le tout reste très simple, mais j’ai rencontré pas mal de problèmes intéressent et j’ai mis le doigt sur la réalité des spec’ constructeur. Prochainement, je ferais un CI plus propre en gardant le principe d’un PA par bande. En effet, le prix des Mosfet est ici ridiculement bas (mosfet d’alim à découpage) et parmi les éléments les plus chers, on trouve les tores et les relais. Alors tant qu’à faire, j’aime autant faire un PA dédié.

Concernant les perfs, la sortie est moins élevée que je que j’attendais, mais le bon coté est que l’IMD est meilleur que prévu 🙂 En PSK, je reçois des -27, -29 dB d’IMD et je n’en espérais pas autant. Update : Les reports sont soit vers -30, soit vers -20dB, et l’expérience m’a montré que l’IMD est vers -20. Ne pas croire tout ce que les gens peuvent dire 🙂 La polarisation est la même pour les deux Fets et les puristes auraient mis 2 polars ajustables, mais l’IMD me convient et j’aurais plus peur au final de dégrader la solution et d’avoir un système plus difficile à régler.

Nouvelle mouture de mon prototype, toujours en fonction et qui à déjà passé 1 contest et le Field day

Je mettrais le schéma du PA et le typon une fois le projet finalisé. Avant ceci, il me reste 2 gros morceaux à abattre, l’alimentation (actuellement, j’utilise une alim à découpage du commerce) et le frontend SDR sur IP. Le but est d’avoir une solution TRX amplifié autonome, directement utilisable avec un ordinateur connecté sur un réseau local. De cette façon, le TRX peut-être mis plus près de l’antenne, voire à l’extérieur, ce qui est un bon point pour les évolutions vers les hyperfréquences.

Je ne lâche pas mon idée et j’y bosse ^^


Nouveau petit balun pour l’alimentation décentrée d’un dipôle de 42m. Deux tores Amidon T200-6 pour adapter 50 vers 200 ohms. La bestiole devrait pouvoir encaisser 1kW si je ne me suis pas vautré 🙂

Le balun assemblé, sortie N-femelle