Documente Academic
Documente Profesional
Documente Cultură
1. INTRODUCCION
Sirecordamoslovistoenclase,FMsedefinecomounamodulacinangular,concretamente
unamodulacinenfrecuencia;estoes,mediantevariacionesenlafrecuenciadelaportadora
sepuedecodificarlasealanalgicaparatransmitirlainformacin.
LamodulacinFMescomnenaltasfrecuenciasporlaaltafidelidaddesudifusin,porloque
laradiooelpropiosonidodelatelevisinesdifundidaporFM.Presentamejorrelacinseala
ruido(SNR)quelaAMymayorresistenciaalasinterferencias,tanpresentesenAM.
DentrodelasaplicacionesdeFMseencuentralaradio,endondelosreceptoresempleanun
detectordeFMyelsintonizadorescapazderecibirlamsfuertedelassealesque
transmitenenunafrecuencia.Veamoscmopodemoscrearnuestropropioreceptorderadio
FM.
2. DEMODULACIONCONGNURADIOYHACKRF
LasmodulacionesFMpuedenmodelarsedelmismomodoquelasdePM,peroconun
integradoralaentradadelasealmoduladora;oconunVCOrealimentado(PLL),loque
minimizaelerrorperovuelveelcircuitomscaro.Noobstante,nosinteresasabercmo
demodular,puesdeladifusinderadionosllegayalasealmoduladaenFM.
ParademodularunasealFMtenemosdosopciones:
Discriminadorreactivo:conseguimosquelasealdesalidaaparezcamoduladaen
amplitud(AM)yaplicamosundetectordeenvolvente.
DetectordefaseconPLL.
PrimeramentedebemosconocerelespectrodelaradioFM,comprendidoentrelos85MHzy
los107MHzaproximadamente.CadaunodeloscanalesderadioFMsuelentenerunanchode
bandaalrededordelos200KHzparaevitarinterferenciasentreellas(cadaemisoranosuele
ocuparmsanchodebandaque80KHz).
AcontinuacinpresentaremoscmoimplementarnuestrademodulacinFMenGNURadio.
Cabedestacarquetodoslosparmetrosqueaparecenenlasfigurassonorientativos,sedeben
calcularademsdetodoslosresultadosquequeramosobteneryjustificarlos.
Elprimerpaso,comohicimosenlaprcticaanterior,sercrearnuestrobloqueOsmocom
SourceparapodercaptarlasealrecibidaporHackRF.:
Apartedenuestravariablesamp_rate(yaconocida),creadapara
darunvalordefinidoalspanvisualizadoenlaFFT,ahoracreamos
otrastresvariablesparalasfrecuenciasquenospermitirn
movernosconfacilidadporlabandaFM(85107MHz).
Deestemodo,OsmocomSourcequedaconfiguradodemanerasimilara:
Realmentepodramoshaberdadocualquiervalorentre85y107MHzalavariablecenter_freq,
simplementehemosescogidoestevalorporestarenelcentrodelabandaFM.Sinembargo,
esinteresanteintroducirotrosvaloresyobservarqusucede.
Lasotrasdosvariableslasutilizaremosmsadelante.
Paraestudiarloquocurredeformavisual,debemosobservarelespectrodelaseal.Para
ello,hacemosusodelbloqueWXGUIFFTSINKylounimosconnuestrafuenteparaverqu
estamoscaptandoycambiarlosparmetrossihicierafalta.
VemosquelaspropiedadesdelWXGUIFFTSINKdebenestaracordesconelOsmocomSource.
Sirepresentamoslasealveremos:
Podemosobservarconclaridadunaseriededeltas(portadoras)centradasenunasfrecuencias
determinadas.Cadaunadeestasdeltascorrespondealasemisorasderadioqueconocemos.
Nuestroobjetivoesdemodularlasyconseguirescucharlas.
Podemoscambiarelspandelplot(lavariablesamp_rate)amsde5MHz,peroestopuede
ocasionarproblemasdeoverflow(O).Debenotarsequeesteparmetrohayqueajustarloen
funcindelprocesadordelordenador.Silasamp_rateesmuyelevadaparalacapacidadde
procesamientodenuestraCPU,lasealsemostrarmuylentamente.
ParapodermovernosatravsdelabandaFM,haremosusodetrigonometrabsica.Una
maneratildedesplazarunasealenfrecuenciaesmultiplicarlaporuncoseno:
1 1
cos cos cos cos
2 2
Recordandolovistoenclase,esnecesariofiltrarlasealpasobajayquedarnosconlaparte
quenosinteresa.EnGNURadiohaybloquesdefiltrospredefinidos,asquesertareasencilla
encontrarunLPF.
UnaemisoraenFMnoocupaunanchodebandamsalldeunos80KHz,aunquela
separacinentrecadacanalesde200KHz.Portanto,hayqueprestaratencinalafrecuencia
decortedelfiltro.
Comoexplicamosenlaanteriorprctica,HackRFrecogelasealylamodulaenbandabase.
Esto,sumadoaquelaseparacinentrelasemisorasenFMesde200KHz,hacequetengamos
unespectrode100KHzenfrecuenciaspositivasyotros100KHzenfrecuenciasnegativas.Por
ello,unafrecuenciadecortedeentreunos75100KHzbastarparafiltrarcadaunadelas
emisoras,porlogeneral.Debetenerseencuentaquenoestamostrabajandoconfiltros
ideales,sinoquetienenunatransicindecada.Adems,siponemosunfiltrodemasiado
grande,secrearninterferenciasconotrasemisoras,puessecaptartambinsuespectro.
Losparmetrosyeltipodeenventanadopuedemodificarsesegncreamosconveniente.
Recordamosqueestilhacerusodelasvariablescreadasalprincipioparadefinirlos
parmetrosdecadabloque.Deestemodo,sinosequivocamosoqueremosmodificaruna
determinadafrecuencia,bastarconcambiarelvalordelavariableynotenerqueirbloque
porbloqueajustndolo.
Hastaahora,hemosutilizadoconceptosbsicosvistosenclaseparacentrarnuestrasealen
lasfrecuenciasdeseadas.Losbloquesquevienenacontinuacin,propiosdeGNURadio,nos
servirnparademodularnuestraseal:
RationalResampler:adaptaalatasademuestreotericadelasealmedianteel
factork=interp./decimation.Estosvaloresdependerndeloquenecesitemos.Esto
esnecesario,enestecaso,porqueelmuestreodelOsmocomSourcenoesel
mismoqueeldelWBFMReceiveniqueeldelAudioSink.
WBFMReceive(WideBandFM):EsunreceptordigitaldeFMdefinidoenel
softwareGNURadio.Debenotarseeldiezmadoqueaplicamosalasealde
entradaparaadecuarloalAudioSink.Porotrolado,existeotrowidgetllamado
NBFMReceive(NarrowBandFM),quesediferenciaprincipalmenteenelfiltro
internoquellevanasociado.Esinteresantehacerlotambinconestaopcinyver
qusucede.
MultiplyConst:Lassealeslleganatenuadasporvariosprocesosdurantesu
transmisin.Esnecesarioaplicarlesunaganancia.Paraello,enelsiguientepaso,
noscrearemosotravariablellamadaaudio_gainquepermitirsubirybajarel
volumendenuestraradioparticular.
AudioSink:GraciasaestebloquedeGNURadio,podremosescucharsihemos
sintonizadocorrectamentelasemisorasdeFM.Muchastarjetasdesonido
requierenunsampleode44.1KHZcomomnimo,porloqueponindoloa48KHz
evitaremosproblemas.
Comocomentbamos,unamanerafcildecrearunpotencimetroconelquesubirybajarel
volumenesconelbloqueWXGUIsliderdeGNU.EnnuestrocasoponemoscomoID
audio_gainparaquecorrespondaconelparmetrodelbloquemultiplyconstant.
Seguramente,tengamosquesubirybajarelvolumendependiendodecadaestacin,yaque
cadaemisoraestaunadistanciadiferentedenuestroreceptorylleganmsomenos
atenuadas.
Delmismomodo,paracompletarnuestraradiofinalmente,necesitamosotropotencimetro
quenospermitasintonizarlasdistintasemisoras,asquecrearemosotroslider,peroestavez
parabarrertodaslasfrecuencias:
CrearesteslideresunaformamuchomssencillademovernosporlabandaFM,porloqueno
esnecesariomantenerlavariablecannel_freqdelprincipio(podemosdesactivarelbloque).Si
ponemoscomoIDalslidercannel_freq,elegiremoslafrecuenciadenuestrocoseno.
CUESTIONES
Pruebaasintonizarturadiodeambasmanerasyestudiaquresultadosobtienes
modificandolosdistintosparmetrosdecadabloqueycomntalos.
Segnlovistoenclase,qucomponentesdeberacontenerWBFMReceivepara
poderdemodularlaseal?
DebemoscolocarotraWXGUIFFTSINKtrasdemodularnuestraseal?Porqu?