Archives par mot-clé : Analyseur de spectre

Un analyseur de spectre prix plancher avec un dongle RTL-SDR

Hans Van Ingelgom - FIltre hélicoïdal (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2014/04/helixfilter NULL.png)Afin d’étudier un filtre 137 MHz, Hans Van Ingelgom s’est construit un analyseur de spectre avec un dongle RTL-SDR (http://hansvi NULL.be/wordpress/?p=91). Comme générateur de bruit, il utilise un simple générateur de courant dans une diode Zener. Habituellement les dongles RTL2832 (http://xv4y NULL.radioclub NULL.asia/2012/03/23/un-recepteur-sdr-vhf-uhf-pour-20/) n’autorisent qu’une largeur d’échantillonage de quelques MHz. Un programme comme RTLSDR scanner (http://eartoearoak NULL.com/software/rtlsdr-scanner) permet de faire différente mesures et de les rabouter pour avoir une vue plus large. Le programme est écrit en Python et est multi-plateforme.

Elecraft annonce le PX3, panadapter additionnel pour le KX3

Elecraft PX3 Panadapter (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2014/04/Elecraft-PX3-Panadapter NULL.jpg)Elecraft a profité de la convention DX internationale de Visalia (http://dxconvention NULL.org/) pour annoncer un nouveau produit. Il s’agit d’un module additionnel pour le transceiver HF portable KX3. Ce nouveau PX3 est un panadapter (adaptateur panoramique) qui permet d’avoir une visualisation du spectre HF autour de la fréquence de travail du transceiver (http://www NULL.elecraft NULL.com/manual/PX3%20Data%20Sheet%20rev%20B1a NULL.pdf). L’équivalent de ce qu’est le P3 pour la ligne K3 (http://www NULL.elecraft NULL.com/P3/p3 NULL.htm). Le prix est de 499,95$ pour la version kit et 569,95$ pour la version pré-assemblée (http://www NULL.elecraft NULL.com/elecraft_prod_list NULL.htm#px3). Les caractéristiques sont les suivantes :

  • Affichage rapide et couleur du spectre HF
  • Mise en oeuvre simple plug-and-play (mais qui implique vraisemblablement des fils “volants)
  • Gamme dynamique (dynamic range) élevée et largeur de visualisation jusque 200 KHz
  • Permet de détecter des signaux juste au niveau du plancher de bruit du KX3
  • Alimentation électrique flexible (8 à 15V)
  • Consommation faible (typiquement 140mA à 13,8V) 

 Merci à K4SWL de QRPer.com pour l’information (http://qrper NULL.com/2014/04/elecraft-announces-the-new-px3-panadapter/).

Un wobuloscope à partir d’un Raspberry Pi et d’un DDS

MI0IOU Wobuloscope Raspberry Pi (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2013/10/MI0IOU_wobby1 NULL.jpg)Aujourd’hui, les “vrais techniciens” ne jurent que par l’analyseur de spectre ou l’analyseur de réseau vectoriel (VNA). Ces équipements sont devenus relativement bon marché et des versions “simplifiées” du dernier sont même à la portée de toutes les bourses radioamateurs ou presque. Toutefois, il fut un temps où ces équipements étaient rares et où le Wobuloscope était l’équipement de choix pour les amateurs. Largement suffisant pour caractériser un filtre ou un circuit oscillant, j’ai mis les mains sur un appareil vintage lorsque je préparais ma licence au radio-club RCNEG de F6KKU (merci à F6GUB et F9ZS(SK) au passage).

Tom de MI0IOU a conçu un équipement équivalent mais en le remettant à la mode grâce au Raspberry Pi et aux modules DDS AD9850 d’origine chinoise (http://asliceofraspberrypi NULL.blogspot NULL.co NULL.uk/2013/10/raspberry-pi-wobbulator-introduction NULL.html). Le RPi pilote le DDS et en fait varier la fréquence, et il effectue la lecture d’un signal “redressé” par un circuit de détection simple. Le RPi n’ayant pas d’entrée analogique, un module convertisseur analogique-numérique (ADC) est nécessaire. La couverture est uniquement pour les bandes HF, mais c’est suffisant pour la plupart d’entre nous. Des exemples de mesures sont disponibles sur le blog de MI0IOU (http://asliceofraspberrypi NULL.blogspot NULL.co NULL.uk/2013/10/using-raspberry-pi-wobbulator-to-test_28 NULL.html). Tom met aussi à disposition le code Python à installer sur le Raspberry Pi.

Je vais vous avouer que j’avais commencé à travailler sur un circuit similaire en utilisant un LaunchPad MSP430. L’idée était de reprendre mon code de contrôle de l’AD9850 (http://xv4y NULL.radioclub NULL.asia/2013/03/19/code-source-vfo-avec-dds-ad9850ad9851-et-launchpad-msp430/) et de faire la lecture avec le port ADC du micro-contrôleur. L’affichage était en texte sur l’écran d’un micro-ordinateur connecté au MSP430 part le port USB. Faute de temps libre pour ce type de projet, celui-ci est passé en voie de garage tout comme celui de kit station météo complète (http://xv4y NULL.radioclub NULL.asia/2013/02/04/station-meteo-avec-serveur-web-code-source/) avec modules sans-fil et pression atmosphérique.

Mise à jour du firmware pour le FTdx-3000 de Yaesu

FTDX-3000D Yaesu Musen (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/09/H0-011670A NULL.jpg)Une mise à jour importante a été publiée par Yaesu pour son transceiver de milieu de gamme. La nouvelle du logiciel interne du FTdx-3000d (Ver. 01-14 MAIN CPU (FSW08 Ver1.01) and Ver. 01-07 TFT (07/01/13)) (http://yaesu NULL.com/downloadFile NULL.cfm?FileID=7888&FileCatID=42&FileName=FTDX3000%5FUpdate%5FJuly1 NULL.zip&FileContentType=application%2Fx%2Dzip%2Dcompressed) offre comme principale amélioration de pouvoir afficher l’analyseur de spectre en plein écran, améliorant notablement la visibilité (il faut maintenir SELECT appuyé pendant 1 seconde). L’autre modification étant la possibilité de changer la fréquence quand on opère en split via la touche TXW. Attention toutefois à bien lire le manuel d’installation des mises à jour car la procédure choisi par Yaesu n’est pas la plus simple à mettre en oeuvre.

Yaesu FT-950 avec panadapter SDR RTL2832U par N3JON

Dans cette petite vidéo TIm N3JON montre son installation pour la HF. Il connecte directement la sortie IF intégrée à son transceiver décamètrique FT-950 à un dongle RTL2832U + R820T utilisé comme récepteur SDR. Le logiciel utilisé est HDSDR qui gère parfaitement ce type de clé USB prévue à l’origine pour recevoir la télévision numérique terrestre en mode DVB-T. HDSDR (http://xv4y NULL.radioclub NULL.asia/2013/04/19/mise-a-jour-de-hdsdr-version-2-61/) permet une vue simultanée waterfall et analyseur de spectre à la fois pour la RF et l’audio.

Vidéo N3JON panadapter FT-950 (http://www NULL.youtube NULL.com/watch?v=WSKIkOlqQ9M)

Analyseur de spectre 1Ghz à 149$ chez TI Deals (Digi-Key)

Analyseur de Spectre SA430 Texas InstrumentsPromotion intéressante sur la boutique TI Deals de Digi Key. Ils y proposent un analyseur de spectre RF à brancher sur un PC via un port USB. Ce n’est pas à proprement parler ce que l’on attend d’un analyseur de spectre car la couverture n’est pas totale (mais comprend la bande des 70cm) et on passe par une numérisation du signal.

C’est en fait un boîtier qui repose sur un circuit avec micro-contrôleur CC430 très spécialisé de chez Texas Instruments qui dispose de capacité de réception dans les bandes UHF. Le prix et les caractéristiques peuvent le rendre toutefois très intéressant pour certains besoins, à vous de juger suivant les informations détaillées du site de TI (http://www NULL.ti NULL.com/tool/msp-sa430-sub1ghz?DCMP=sa430&HQS=sa430).

Présentation du Panadapter SmartSDR par FlexRadio

Voici une présentation en vidéo des nouveautés apportées par le nouveau Panadapter (spectroscope HF) de FlexRadio appelé SmartSDR et qui sera le coeur de l’interface homme-machine pur piloter les transceivers de la série FlexRadio 6000.

Video SmartSDR par FlexRadio (http://www NULL.youtube NULL.com/watch?v=O6_nkQtNHEI)

 

Spectroscope Audio avec Arduino

[GTranslate]

Si vous souhaitez réaliser ce montage, je propose sur ma boutique en ligne un kit facile à monter contenant tous les composants nécessaires avec la carte micro-contrôleur préprogrammé (http://xv4y NULL.radioclub NULL.asia/boutique/?slug=product_info NULL.php&products_id=29).

Arduino Spectrum Scope FFT XV4Y (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/10/100_3300 NULL.jpg)Je vous l’avais dit, c’est une petite idée qui me trottait dans la tête depuis quelques temps et j’ai enfin pu la mettre en application. Le montage (ou plutôt le programme car de montage il y en a peu) que vous propose affiche le spectre d’un signal audio de 150 Hz à 3150 Hz en vous donnant le niveau maxi et la bande de fréquence où celui-ci se trouve. Ce n’est pas un analyseur de spectre à proprement dit, puisqu’il utilise la Transformée de Fourier Rapide (http://fr NULL.wikipedia NULL.org/wiki/Transformée_de_Fourier_rapide) à point fixe sur des entiers. En pratique ça fait la même chose…

Le but, c’est de faire joli et d’impressionner les filles d’aider l’opérateur télégraphie à ajuster son VFO pour se caler sur la fréquence de la station reçue (faire le battement nul, quoi).

Pour le réaliser, vous avez besoin :

  1. d’un Arduino avec ATMega168 ou ATMega328,
  2. Arduino Spectrum Scope FFT XV4Yd’un écran LCD 16×2 avec contrôleur Hitachi HD44780 ou compatible
  3. de fils et cavaliers en bon nombre
  4. d’une capacité de 10µF/16V (valeur non critique) avec le point froid (le “-“) sur l’entrée A0 de l’Arduino pour coupler l’audio de votre récepteur au montage
  5. du programme que je mets à disposition ci-dessous que vous allez compiler et télécharger dans l’Arduino

Je vais être franc, je n’ai pas beaucoup écrit de lignes de code pour faire ce programme et je me suis basé sur des librairies existantes. Mon talent (si j’en ai un) est de faire que ça marche! Toutes les références de librairies sont indiquées dans les sources et je vous conseille de vous reporter à leurs documentations respectives.

Arduino Spectrum Scope FFT générateur BF NE555 XV4Y (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/10/100_3298 NULL.jpg)Les niveaux audio attendus sont entre 0 et 5V (ceux de l’ADC de l’Arduino). Vous pouvez changer l’échelle d’affichage en fonction de ce que vous mettez en entrée. Par exemple, la sortie audio fixe du port ACC du TS-590s donne 1,2V maximum, donc je mettrais le paramètre MAX_AUDIO à 256. Pour mes essais (et les photos), j’ai fait un petit montage générateur BF à base de NE555 (http://electroniccircuitsforbeginners NULL.blogspot NULL.com/2009/12/tone-generator-circuit NULL.html). Celui-ci fourni un beau signal carré plein d’harmoniques qui fait très beau sur l’afficheur!

Ce programme est libre d’utilisation et de modification dans le cadre de la licence GNU GPL v3 (http://www NULL.gnu NULL.org/licenses/gpl NULL.html). Toute inclusion dans un produit commercial ou un kit de composant est sujette à autorisation préalable de l’auteur (moi) et au respect des licences des autres librairies. J’apprécie tous commentaires ou toutes idées d’amélioration!

/*
Arduino HAM Audio Spectrum v1.01
By Yannick DEVOS - XV4Y
http://xv4y.radioclub.asia/

Copyright 2012 Yannick DEVOS under GPL 3.0 license
Any commercial use or inclusion in a kit is subject to author approval

====
This program act as an audio Spectrum scope for the low frequency range
It is aimed at help HAM operators to "zero beat" a CW station

You just need to feed some audio (5V peak) into Analog Input 0 of an Arduino board and connect an LCD display.

The display is on a 16x2 LCD Display with HD44780 compatible driver, use the traditional 4 bits interface on pins 12,11,5,4,3,2
It as a graphical display for 20 spectrum bands and also display the numbers for the highest received signal and its band
Frequency is displayed in 20 150 Hz band between 150Hz and 3150Hz

In order to compile this program with Arduino 1.0.1, you will need to install 3 libraries :
- New LiquidCrystal
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
- LCDBitmap
http://arduino.cc/playground/Code/LCDBitmap
- Fixed FFT lib for Arduino 1.0
http://code.google.com/p/neuroelec/downloads/detail?name=ffft_library_for_Arduino_1.0.zip&can=2&q=

It is based on various works, please see below.

====
Revision history :
v1.00    2012-10-10
         First release
v1.01    2012-10-11
         Adding the F_STEP parameter and explaining how to change the sample rate    

====
This Example acquire analog signal from A0 of Arduino, and Serial out to Processing application to visualize.
Tested with preamplified audio data. Take a look at http://www.youtube.com/watch?v=drYWullBWcI

Analog signal is captured at 9.6 KHz, 64 spectrum bands each 150Hz which can be change from adcInit()
Load the this file to Arduio, run Processing application.

Original Fixed point FFT library is from ELM Chan, http://elm-chan.org/works/akilcd/report_e.html
A way to port it to the Arduino library and most demo codes are from AMurchick http://arduino.cc/forum/index.php/topic,37751.0.html
Processing app is based on codes from boolscott http://boolscott.wordpress.com/2010/02/04/arduino-processing-analogue-bar-graph-2/

====
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You can download a copy of the GNU General Public License at <http://www.gnu.org/licenses/>
*/

#include <stdint.h>
#include <ffft.h>
#include <Wire.h>
#include <LiquidCrystal.h>
#include <LCDBitmap.h>

// Here a few things that yoy may want to change

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  // You can change this settings to your convenance, please see the library documentation

LCDBitmap bitmap(&lcd, 0, 0);

#define  IR_AUDIO  0    // ADC channel to capture
#define  F_STEP    150  // Width of the frequency bands in Hertz. This constant is only for display. To actually change the
                        // the size of the bands you have to change the FFT_N constant in ffft.h.
                        // 64 gives 300Hz (6300Hz displayed), 128 gives 150Hz (3150Hz displayed), 256 gives 75Hz.
                        // More samples means slower execution. Values higher than 256 do not seem to work. SRAM exhaustion ?
#define  MAX_AUDIO 512  // The maximum audio level you're expecting (for scaling), 5V is 1023
#define  OFFSET    1    // Spectrum band offset for display, first band has a lot of 50Hz hum so we skip it
#define  REFR_RATE 10   // Rate for refreshing the numerical display

// There are no user settings that you can modify here below

volatile  byte  position = 0;
volatile  long  zero = 0;
volatile  int   val, j, max_i, max_val, refresh;

byte graph[20];

int16_t capture[FFT_N];			/* Wave captureing buffer */
complex_t bfly_buff[FFT_N];		/* FFT buffer */
uint16_t spektrum[FFT_N/2];		/* Spectrum output buffer */

void setup() {
  lcd.begin(16,2);
  lcd.home ();

  adcInit();
  adcCalb();

  lcd.clear();
  bitmap.begin();
}

void loop() {
   if (position == FFT_N) {
     fft_input(capture, bfly_buff);
     fft_execute(bfly_buff);
     fft_output(bfly_buff, spektrum);

     max_val = max_i = 0;

     for (byte i = 0; i < 21; i++) {                 // We are capturing more (64 bands) than we can actually display (only 20)...
        j = i+OFFSET;
        val = map(spektrum[j],0,MAX_AUDIO,0,16);   // Scaling for display, only 16 dots high
        graph[i] = val;
        if (spektrum[j]>max_val) {          // Save the higher values for further display it
          max_val = spektrum[j];            // The value
          max_i = j;                        // Its band
        }
     }

    // Here we draw the graph
    bitmap.barGraph(20, graph, ON, UPDATE);

    // Here we display the highest numerical value but not each cycle because it flickers
    refresh++;
    if (refresh == REFR_RATE) {
      lcd.setCursor ( 4, 0 );
      lcd.print("Max F:    ");
      lcd.setCursor ( 10, 0 );
      lcd.print((max_i+1)*F_STEP);
      lcd.setCursor ( 14, 0 );
      lcd.print("Hz");
      lcd.setCursor ( 4, 1 );        // go to the next line
      lcd.print("Value:    ");
      lcd.setCursor ( 10, 1 );
      lcd.print(max_val*5);
      lcd.setCursor ( 14, 1 );
      lcd.print("mV");
      refresh = 0;
    }
    position = 0;
  }
}

// free running ADC fills capture buffer
ISR(ADC_vect) {
  if (position >= FFT_N)
    return;

  capture[position] = ADC + zero;
  if (capture[position] == -1 || capture[position] == 1)
    capture[position] = 0;

  position++;
}

void adcInit() {
  /*  REFS0 : VCC use as a ref, IR_AUDIO : channel selection, ADEN : ADC Enable, ADSC : ADC Start, ADATE : ADC Auto Trigger Enable, ADIE : ADC Interrupt Enable,  ADPS : ADC Prescaler  */
  // free running ADC mode, f = ( 16MHz / prescaler ) / 13 cycles per conversion 
  ADMUX = _BV(REFS0) | IR_AUDIO; // | _BV(ADLAR); 
//  ADCSRA = _BV(ADSC) | _BV(ADEN) | _BV(ADATE) | _BV(ADIE) | _BV(ADPS2) | _BV(ADPS1) //prescaler 64 : 19231 Hz - 300Hz per 64 divisions
  ADCSRA = _BV(ADSC) | _BV(ADEN) | _BV(ADATE) | _BV(ADIE) | _BV(ADPS2) | _BV(ADPS1) | _BV(ADPS0); // prescaler 128 : 9615 Hz - 150 Hz per 64 divisions, better for most music
  sei();
}

void adcCalb() {
  lcd.setCursor ( 0, 0 );        // go to the next line
  lcd.print("FFFT Spectrum");
  lcd.setCursor ( 0, 1 );        // go to the next line
  lcd.print("Calibration");
  long midl = 0;
  // get 2 meashurment at 2 sec
  // on ADC input must be NO SIGNAL!!!
  for (byte i = 0; i < 2; i++) {
    position = 0;
    delay(200);
    midl += capture[0];
    delay(200);
  }
  zero = -midl/2;
}

Nouveau kits chez K5BCQ : ampli linéaire et panadapter pour le SDR2Go

Kees est vraiment très prolifique et il suffit de ne pas aller sur son site web pour que deux nouveaux kits apparaissent. Je l’ai déjà dit, mais ses produits sont d’excellente facture, utilise des composants de bonne qualité et d’un rapport qualité/prix imbattable à mon avis. La documentation est parfois succincte et ses choix de conception peuvent ne pas convenir à tous les besoins, mais vous choisissez en connaissance de cause.

K5BCQ 20W Amplificateur QRP RD16HHF (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/08/AMPpicture NULL.jpg)Le premier kit (numéro 15 sur la page de Kees (http://www NULL.qsl NULL.net/k/k5bcq/Kits/Kits NULL.html)) est un amplificateur linéaire de 20W à base de RD16HHF1, un peu dans la veine de celui dont je vous parlais il y a quelques jours (http://xv4y NULL.radioclub NULL.asia/2012/08/20/amplificateur-qrp-hf-universel/). Celui de K5BCQ ne comporte pas d’étage driver et est prévu pour 1W maxi en entrée (parfait derrière un SoftRock Ensemble RXTX). Il intègre un SOX (VOX PTT) prévu pour passer automatiquement en émission en présence d’un signal CW, mais qui devrait marcher aussi en BLU. La place sur le PCB et les composants sont prévus pour ajouter un atténuateur en Pi de 3dB en entrée, et un circuit de feedback (rétroaction) est prévu. Bien que pensé pour fonctionner en classe A/B, l’ampli peut être réglé pour fonctionner en classe C si vous n’opérez qu’en CW (ou tous signaux similaires comme WSPR) et que vous souhaitez réduire la consommation. Ce kit ne comporte pas de filtre passe-bas mais un kit est disponible en Australie et Kees dispose aussi des PCB correspondant pour 10 $US. Détail intéressant, les prix dépendent du radiateur que vous choisirez et vont de 50 $US sans radiateur à 60 $US avec soit un radiateur passif de qualité soit un radiateur ventilé mais plus petit. Le port est 7$ sans radiateur, plus si vous voulez un radiateur car ce dernier est lourd.

Picture by K5BCQ/W8NUE of a SDR2Go with panadapter add-on kit (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/08/MiltsLCD NULL.jpg)Le deuxième kit est une addition au SDR2Go, circuit expérimental permettant de faire fonctionner une platine SDR comme le SoftRock de manière autonome (dans l’esprit du SDRCube (http://xv4y NULL.radioclub NULL.asia/2011/11/28/bientot-noel-pour-le-sdr-cube/) mais plus pour les bidouilleurs). Cette platine supplémentaire permet d’ajouter un écran LCD matriciel 128×64 et d’en faire un affichage type analyseur de spectre par exemple (panadapter ou waterfall). Le prix exceptionnel de 20 $US va faire que tous les propriétaires actuels de SDR2Go vont se ruer dessus. A noter qu’il vous faut votre propre écran LCD (on en trouve sur eBay pour moins de 20$) et bien entendu une platine SDR2Go qui elle coûte 80$ port inclus.

Au passage Kees informe que la version 2 du kit contrôleur Si570 est un peu passée aux oubliettes. La raison n’est à mon avis pas technique (c’est en fait la même version que celle incluse dans le SDR2Go) mais plutôt “commerciale”. Il existe aujourd’hui beaucoup de kits autour du Si570 et en ajouter un n’aurait aucun intérêt. Le kit existant de K5BCQ offre l’avantage de la compacité, de la simplicité et du faible coût…

A noter que si vous êtes intéressés par ces kits mais que vous ne parlez pas (ou pas bien) anglais, je suis prêt à faire gracieusement l’intermédiaire avec Kees. Par contre il vous faudra disposer tout de même d’un bon niveau technique car je ne pourrais pas assurer le support “bas niveau” en français ne disposant pas moi-même de tous les kits sous la main. J’attends pour ma part de rassembler un peu de QSJ pour lui commander le kit Wattmètre QRP qui est une merveille technique, mais les priorités changent…

Analyseur de spectre UHF de poche à 16$

Analyseur de spectre homemade (http://1 NULL.bp NULL.blogspot NULL.com/_P0xofdCgmno/S5_6-f9SvCI/AAAAAAAAAXg/QR3ZknC7Gs0/s1600/wide NULL.jpeg)Bon, je suis un peu pris par le temps et je ne pourrais pas faire une traduction de cet article. Google s’en chargera avec plus ou moins de bonheur pour ceux qui ne sont pas à l’aise en anglais.

L’info m’a été transmise par Aravind de VU2ABS qui l’avait reçu d’un groupe de diffusion parlant du Baofeng UV-3R. Un OM américain a reprogrammé un petit IM-Me (http://uk NULL.girltech NULL.com/electronics-imMe NULL.aspx) (Messagerie instantanée, ou pager bidirectionnel pour un usage privatif) à 16$ en un analyseur de spectre couvrant  281 – 361, 378 – 481, and 749 – 962 MHz.

Beau jouet! L’article en anglais est ici sur un blog (http://ossmann NULL.blogspot NULL.com/2010/03/16-pocket-spectrum-analyzer NULL.html).