Return-Path: X-Spam-DCC: paranoid 1233; Body=2 Fuz1=2 Fuz2=2 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on lipkowski.org X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,DNS_FROM_AHBL_RHSBL, FORGED_AOL_TAGS,HTML_40_50,HTML_MESSAGE,UNPARSEABLE_RELAY autolearn=no version=3.1.3 Received: from post.thorcom.com (post.thorcom.com [195.171.43.25]) by paranoid.lipkowski.org (8.13.7/8.13.7) with ESMTP id t8RKjVcR001755 for ; Sun, 27 Sep 2015 22:45:31 +0200 Received: from majordom by post.thorcom.com with local (Exim 4.14) id 1ZgIlS-0003ZG-S3 for rs_out_1@blacksheep.org; Sun, 27 Sep 2015 21:41:42 +0100 Received: from [195.171.43.32] (helo=relay1.thorcom.net) by post.thorcom.com with esmtp (Exim 4.14) id 1ZgIlR-0003Z7-SJ for rsgb_lf_group@blacksheep.org; Sun, 27 Sep 2015 21:41:41 +0100 Received: from omr-a009e.mx.aol.com ([204.29.186.49]) by relay1.thorcom.net with esmtps (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.86) (envelope-from ) id 1ZgIkN-0008U8-RF for rsgb_lf_group@blacksheep.org; Sun, 27 Sep 2015 21:41:40 +0100 Received: from mtaomg-aam01.mx.aol.com (mtaomg-aam01.mx.aol.com [172.27.19.147]) by omr-a009e.mx.aol.com (Outbound Mail Relay) with ESMTP id 801C33800129 for ; Sun, 27 Sep 2015 16:40:17 -0400 (EDT) Received: from core-afa07e.mail.aol.com (core-afa07.mail.aol.com [172.27.24.7]) by mtaomg-aam01.mx.aol.com (OMAG/Core Interface) with ESMTP id 089EA38000084 for ; Sun, 27 Sep 2015 16:40:17 -0400 (EDT) References: <5601EC9F.2010607@gmail.com> To: rsgb_lf_group@blacksheep.org In-Reply-To: <5601EC9F.2010607@gmail.com> X-MB-Message-Source: WebUI MIME-Version: 1.0 From: Markus Vester X-MB-Message-Type: User X-Mailer: AOL Webmail BASIC Received: from 188.192.95.60 by webmail-vm161.sysops.aol.com (64.12.255.127) with HTTP (WebMailUI); Sun, 27 Sep 2015 16:40:16 -0400 Message-Id: <8D2C77BDA0C4492-1BE8-22816B@webmail-vm161.sysops.aol.com> X-Originating-IP: [188.192.95.60] Date: Sun, 27 Sep 2015 16:40:16 -0400 x-aol-global-disposition: G DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mx.aol.com; s=20150623; t=1443386417; bh=2kJaNdWxo2YuCtcPcXuO7GpGCbPnrwYPzxUgxIoxbbA=; h=From:To:Subject:Message-Id:Date:MIME-Version:Content-Type; b=4QyNI8S6PCzlX2rKXQkI+VI1mn04CXw4IiqafBH08oPf1ks4cgKYyBhbZut7F4aJj LQYHkVGNYExQUWjvez6Jn6vwKiweaOXJSpBIDl+Ar0DYQ0/X1RmzbsQVXhT/zgeFMl 0/+BvM/+QEe/BVD2rSAZE/YBaGw1Fo2alT/AheAw= x-aol-sid: 3039ac1b1393560854315d84 X-Scan-Signature: a3fd3ca670e1dd908c2723cee298dee8 Subject: Re: LF: Coherent BPSK on LF using EbNaut Content-Type: multipart/alternative; boundary="--------MB_8D2C77BDA2D97C4_1BE8_4B1E43_webmail-vm161.sysops.aol.com" X-SA-Exim-Scanned: Yes Sender: owner-rsgb_lf_group@blacksheep.org Precedence: bulk Reply-To: rsgb_lf_group@blacksheep.org X-Listname: rsgb_lf_group X-SA-Exim-Rcpt-To: rs_out_1@blacksheep.org X-SA-Exim-Scanned: No; SAEximRunCond expanded to false X-Scanned-By: MIMEDefang 2.56 on 10.1.3.10 Status: O X-Status: X-Keywords: X-UID: 4172 This is a multi-part message in MIME format. ----------MB_8D2C77BDA2D97C4_1BE8_4B1E43_webmail-vm161.sysops.aol.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" =20Thanks=20very=20much=20to=20Domenico=20IZ7SLZ=20for=20informing=20the=20group= =20about=20our=20LF=20EbNaut-PSK=20activities!=20I=20am=20glad=20that=20this=20h= as=20raised=20some=20interest,=20and=20I'm=20sure=20that=20trying=20Paul's=20sof= tware=20is=20well=20worth=20the=20effort=20for=20anyone=20wishing=20to=20communi= cate=20with=20really=20weak=20signals,=20very=20near=20to=20the=20ultimate=20Sha= nnon-Hartley=20limit.=20=0D=0A=C2=A0=0D=0AIn=20this=20mail,=20I=20will=20try=20t= o=20provide=20some=20information=20regarding=20the=20receive=20procedure.=20As=20= mentioned=20before,=20we=20have=20used=20SpecLab=20as=20a=20receiving=20frontend= =20to=20generate=20an=20IQ=20wav=20file,=20which=20can=20be=20read=20by=20EbNaut= -RX.=20Wolf=20has=20provided=20a=20dedicated=20riggered=20audio=20recording=20fu= nction,=20which=20is=20able=20to=20save=20decimated=20and=20precisely=20timestam= ped=20IQ=20data,=20starting=20at=20specified=20GPS-controlled=20times.=20=0D=0A=C2= =A0=0D=0AAs=20I=20am=20already=20continuously=20running=20a=20SpecLab=20instance= =20for=20the=20opds=20decoder,=20I=20decided=20to=20go=20down=20a=20slightly=20d= ifferent=20route,=20by=20reusing=20the=20exported=20ascii=20spectrum-data=20file= s=20for=20EbNaut=20as=20well.=20One=20advantage=20of=20this=20procedure=20is=20t= hat=20the=20LO=20used=20in=20the=20downconversion=20for=20the=20spectrogram=20al= ready=20includes=20samplerate=20tracking,=20which=20avoids=20the=20need=20for=20= CPU-intensive=20samplerate=20interpolation.=20If=20GPS-1pps=20is=20used=20for=20= reference,=20the=20absolute=20LO=20phase=20will=20even=20be=20recovered=20after=20= a=20soundcard=20dropout.=20Timestamping=20is=20derived=20from=20NTP,=20which=20i= s=20slightly=20less=20accurate=20but=20perfectly=20adequate=20for=20the=20symbol= =20durations=20down=20to=200.2=20s=20that=20were=C2=A0=20used=20in=20our=20tests= .=0D=0A=C2=A0=0D=0ASo=20all=20one=20has=20to=20do=20is=20to=20select=20a=20MMDDh= hmm.txt=20file=20from=20the=20spectrum\data\=20directory=20which=20contains=20th= e=20received=20sequence,=20and=20convert=20it=20back=20to=20time=20domain=20usin= g=20an=20inverse=20FFT.=20In=20an=20email=20to=20Domenico=20(pasted=20beneath),=20= I=20briefly=20described=20the=20file=20conversion=20and=20the=20frequency-time=20= alignment=20process=20used=20with=20EbNaut.=20An=20updated=20version=20of=20the=20= utilities=20can=20be=20found=20at=0D=0Ahttp://df6nm.bplaced.net/VLF/fec_tests/df= 6nm_ebnaut_utilities.zip=20(184=20kB).=0D=0A=0D=0AThe=20SpecLab=20config-file=20= _opds32_150924.usr=20for=20opds=20has=20been=20slightly=20updated,=20hopefully=20= making=20life=20a=20bit=20it=20easier=20for=20first-time=20opds=20and=20EbNaut=20= users.=20The=20analyzed=20audio=20frequency=20band=20has=20been=20centered=20on=20= 1500=20Hz.=20You=20will=20still=20have=20to=20calibrate=20your=20samplerate=20an= d=20receiver=20frequency.=20Note=20that=20for=20opds=20and=20EbNaut=20postproces= sing=20the=20number=20of=20exported=20FFT=20bins=20(262144)=20always=20needs=20t= o=20be=20half=20the=20FFT=20length=20(524288).=0D=0A=C2=A0=0D=0AThe=20inverse-FF= T=20utility=20is=20ebnaut_ifft3.exe.=20Dragging=20and=20dropping=20a=20.txt=20da= ta=20file=20over=20it's=20icon=20will=20let=20it=20produce=20an=20equally=20name= d=20.wav=20file=20which=20can=20then=20be=20read=20by=20ebnaut-rx=20software.=20= Note=20that=20for=20correct=20time=20and=20frequency=20information=20in=20the=20= wav=20header,=20the=20ifft=20configuration=20file=20sr.txt=20needs=20to=20contai= n=20your=20accurate=20soundcard=20samplerate,=20FFT=20decimation=20factor=20and=20= length,=20and=20RX=20frequency.=20=0D=0A=C2=A0=0D=0AShortly=20after=20starting=20= ebnaut-rx=20and=20before=20it=20enters=20the=20decoding=20process,=20it=20writes= =20the=20symbol=20amplitudes=20and=20phases=20to=20a=20logfile=20called=20rawsym= s.txt.=20This=20can=20be=20used=20to=20assist=20the=20determination=20of=20the=20= correct=20frequency=20and=20time=20offset.=20Clicking=20on=20the=20show_rawsyms3= .exe=20utility=20will=20output=20a=20window=20with=20three=20different=20diagram= s=20and=20two=20lines=20of=20text=20information.=20=0D=0A=C2=A0=0D=0AThe=20white= =20dots=20at=20the=20top=20are=20a=20time=20domain=20representation=20of=20the=20= symbol=20phases.=20With=20a=20strong=20signal,=20these=20should=20ideally=20be=20= gathered=20around=20two=20horizontal=20lines,=20180=C2=B0=20apart.=20For=20the=20= example=20screenshot,=20the=20frequency=20offset=20had=20been=20made=201=20mHz=20= too=20negative,=20resulting=20in=20gradually=20increasing=20symbol=20phases.=0D=0A= =C2=A0=0D=0AThe=20red=20spectrum=20is=20a=20Fourier=20transform=20of=20the=20sym= bol=20amplitudes.=20The=20Nyquist=20frequency=20range=20is=20identical=20to=20th= e=20symbol=20rate=20(ie=20+-=200.5=20Hz=20for=201=20second=20symbols),=20with=20= a=20zoomed=20section=20on=20the=20right.=20The=20spectrom=20will=20show=20a=20pe= ak=20if=20a=20test=20carrier=20has=20been=20sent,=20and=20the=20freq=20offset=20= in=20EbNaut=20can=20then=20be=20adjusted=20iteratively=20to=20bring=20it=20to=20= the=20center.=20However=20no=20red=20peak=20will=20be=20appear=20from=20a=20PSK=20= data=20transmission.=C2=A0=C2=A0=20=0D=0A=C2=A0=0D=0AThe=20blue=20spectrum=20is=20= calculated=20from=20the=20squared=20complex=20amplitudes.=20As=20taking=20the=20= square=20eliminates=20the=20signal=20polarity,=20this=20spectrum=20will=20also=20= show=20a=20peak=20from=20a=20PSK=20modulated=20sequence.=20Unfortunately=20the=20= squared=20spectrum=20fails=20to=20produce=20a=20peak=20for=20very=20weak=20signa= ls=20where=20the=20SNR=20of=20the=20individual=20symbols=20becomes=20too=20low.=20= If=20he=20peak=20is=20present,=20the=20frequency=20error=20(e.g.=20offset=20need= s=20to=20be=20increased=20by=200.97=20mHz)=20can=20be=20read=20in=20the=20text=20= beneath.=0D=0A=C2=A0=0D=0AUnfortunately=20there=20is=20no=20direct=20indication=20= to=20guide=20you=20towards=20the=20correct=20bit=20timing.=20One=20way=20is=20to= =20iteratively=20adjust=20the=20fractional=20time=20offset=20for=20least=20scatt= er=20of=20dots=20or=20highest=20blue=20peak.=20In=20the=20bottom=20line,=20an=20= estimate=20of=20the=20time=20error=20magnitude=20(nominally=200=20to=200.5)=20is= =20given,=20which=20should=20be=20small=20if=20the=20correct=20symbol=20timing=20= has=20been=20found.=20This=20is=20calculated=20by=20a=20normalized=20autocorrela= tion=20with=20a=20one-symbol=20shift,=20exploiting=20the=20property=20of=20the=20= sequence=20that=20the=20likelyhood=20of=20a=20symbol=20transition=20should=20alw= ays=20be=2050%,=20independent=20of=20a=20prior=20transition.=20Again,=20this=20m= ethod=20will=20not=20work=20if=20the=20SNR=20is=20low.=0D=0A=C2=A0=0D=0AFor=20te= sting=20purposes,=20you=20can=20try=20the=20data=20in=0D=0Ahttp://df6nm.bplaced.= net/VLF/fec_tests/ebnaut_data_09200300.zip=20(750=20kB).=0D=0AIf=20you=20careful= ly=20inspect=20the=20timestamp=20of=20the=20successful=20decode,=20you=20may=20n= ote=20that=20in=20this=20case=20an=20extra=20one-second=20delay=20was=20required= .=20Domenico=20confirmed=20that=20it=20was=20caused=20by=20a=20temporary=20GPS-d= erived=20clock=20error=20on=20the=20transmit=20PC.=20=0D=0A=0D=0AHope=20this=20h= elps...=20so=20go=20ahead=20and=20have=20fun!=20=0D=0A=C2=A0=0D=0AThanks=20to=20= Paul=20and=20Wolf=20for=20their=20original=20ideas=20and=20invaluable=20software= ,=20and=20to=20Domenico=20for=20surmounting=20all=20obstacles=20to=20bring=20thi= s=20to=20life=20on=20137=20kHz.=0D=0A=C2=A0=0D=0ABest=2073,=20=0D=0AMarkus=0D=0A= =0D=0A=0D=0A=0D=0A-----Urspr=C3=BCngliche=20Mitteilung-----=20=0D=0AVon:=20IZ7SL= Z=20<iz7slz.domenico@gmail.com>=0D=0AAn:=20rsgb_lf_group=20<rsgb_lf_gro= up@blacksheep.org>=0D=0AVerschickt:=20Mi,=2023=20Sept=202015=202:06=20am=0D=0A= Betreff:=20LF:=20Coherent=20BPSK=20on=20LF=20using=20EbNaut=0D=0A=0D=0A=C2=A0Hel= lo=20LF,=20=0D=0A=20=0D=0AI=20am=20pleased=20to=20report=20a=20successful=20"Coh= erent=20BPSK"=20QSO=20between=20DF6NM=20=20=0D=0Aand=20IZ7SLZ=20on=20LF=20using=20= EbNaut=20program=20of=20Paul=20Nicholson.=20=0D=0AQSO=20took=20place=20in=20the=20= night=20between=20Friday=202015-09-18=20and=20Saturday=20=20=0D=0A2015-09-19=20.= =20=0D=0A=20=0D=0AI=20think=20it=20was=20the=20first=20time=20that=20anyone=20tr= ied=20this=20on=20137=20kHz=20!=20=0D=0A=20=0D=0AFrequencies=20used=20were=20137= 510.00=20Hz=20(DF6NM)=20and=20137502.12=20(IZ7SLZ).=20=0D=0A=20=0D=0AWe=20exchan= ge=20messages=20of=2016=20characters=20in=20coherent=20BPSK=20with=20UT=20=20=0D= =0Asynchronous=20symbols,=20using=20a=20symbol=20period=20of=201=20second=20and=20= 8K19A=20scheme=20=20=0D=0Acoding.=20=0D=0A=20=0D=0ASoftware=20used=20were=20the=20= Windows'=20versions=20of=20EbNaut-TX=20and=20EbNaut-RX=20(tnx=20=20=0D=0Ato=20P.= =20Nicholson:=20your=20software=20is=20working=20without=20problems!).=20=0D=0AA= lso=20Spectrum=20Lab=20(tnx=20Wolf=20!)=20was=20used=20to=20export=20FFT=20data,= =20in=20a=20similar=20=20=0D=0Away=20of=20the=20Markus'=20OPDS=20setup.=20=0D=0A= Other=20programs,=20=20written=20by=20Markus,=20=20were=20used:=20one=20=20to=20= convert=20FFT=20=20=0D=0Aexported=20data=20for=20the=20EbNaut=20entry=20and=20an= other=20to=20search=20for=20the=20best=20=20=0D=0Afrequency=20and=20time=20offse= ts.=20=0D=0A=20=0D=0AThere=20was=20not=20much=20phase=20drift=20during=20the=20q= so=20and=20in=20other=20test=20=20=0D=0Atransmissions,=20since=20we=20reach=20a=20= good=20frequency=20stability=20at=20both=20ends=20=20=0D=0Athanks=20to=20Rubidiu= m=20Reference=20Oscillator=20(Markus=20side)=20and=20a=20good=20quality=20=20=0D= =0AOCXO=20from=20my=20side.=20=0D=0A=20=0D=0AYou=20can=20see=20reported=20symbol= =20/=20carrier=20EbN0=20and=20also=20the=20messages=20=20=0D=0Aexchanged,=20=20i= n=20the=20attached=20screen-shots=20taken=20at=20both=20ends.=20=0D=0A=20=0D=0AW= e=20hope=20now=20to=20joint=20other=20stations=20that=20want=20to=20challenge=20= the=20timing=20=20=0D=0Aand=20frequency=20accuracy,=20to=20have=20a=20QSO=20in=20= LF=20close=20to=20the=20Shannon=20limit.=20=0D=0A=20=0D=0AMarkus=20DF6NM,=20will= =20report=20soon=20all=20particulars=20and=20his=20comments=20of=20the=20=20=0D=0A= experiment.=20Thanks=20in=20advance=20Markus!=20=0D=0A=20=0D=0A73,=20Domenico=20= (iz7slz)=C2=A0=0D=0A=C2=A0=0D=0A=C2=A0=0D=0ARe:=20EbNaut=20-=20success=20again!=20= =0D=0AVon:=20Markus=20Vester=20<markusvester@aol.com>=20=0D=0AAn:=20iz7slz= .domenico=20<iz7slz.domenico@gmail.com>=20=0D=0ACc:=20paul=20<paul@abel= ian.netcom.co.uk>=20=0D=0ADatum:=20Mi,=2019=20Aug=202015=204:58=20pm=C2=A0=0D= =0A=0D=0AHi=20Domenico,=0D=0A=C2=A0=0D=0Ahere's=20some=20guidance=20towards=20se= tting=20up=20EbNaut=20for=20receiving,=20using=20your=20opds=20SpecLab=20instanc= e.=20=0D=0A=C2=A0=0D=0A1.=20Generating=20a=20stable=20test=20transmission=0D=0AF= or=20accurate=20transmissions,=20it=20would=20be=20better=20to=20avoid=20the=20S= SB=20and=20audio=20carrier=20method=20as=20it=20is=20prone=20to=20soundcard=20gl= itches.=20You=20may=20rather=20want=20to=20generate=20the=20carrier=20directly=20= at=20RF=20(eg=20from=20your=20AD9850=20DDS),=20and=20apply=20the=20DBM=20modulat= ion=20there.=20In=20your=20setup,=20you=20might=20need=20to=20make=20a=20small=20= predriver=20amplifier=20to=20feed=20the=20PA.=0D=0A=C2=A0=0D=0A2.=20Decoder=20dr= y=20test=0D=0AFirst=20try=20a=20dry=20test=20of=20the=20software=20using=20the=20= Sunday=2023:14=20data=20file.=20Download=20the=20conversion=20program=0D=0Ahttp:= //df6nm.bplaced.net/VLF/fec_tests/ebnaut_ifft2.zip=0D=0A(including=20my=20calibr= ation=20data=20file=20sr.txt)=20and=20the=20data=0D=0Ahttp://df6nm.bplaced.net/V= LF/fec_tests/08162314.zip=20.=0D=0AOpen=20a=20command=20shell=20and=20type=0D=0A= =C2=A0ebnaut_ifft2=2008162314=0D=0Awhich=20will=20output=20a=20couple=20of=20lin= es=20and=20generate=20a=2008162314.wav=20file.=20Load=20this=20into=20ebnaut-rx,= =20using=20parameters=20as=20shown=20in=20attached=20screenshot=20(start=20offse= ts=20248.5s,=20freq=20offset=202.0369=20Hz).=20This=20should=20reproduce=20the=20= perfect=20decode.=0D=0A=C2=A0=0D=0A3.=20Setting=20up=20the=20opds=20SpecLab=20in= stance=0D=0AAs=20you=20have=20successfully=20received=20opds=20no=20big=20change= s=20are=20nessary.=20PC=20time=20needs=20to=20be=20accurate=20to=200.2=20s=20usi= ng=20NTP=20or=20GPStime.=20I'd=20recommend=20to=20activate=20samplerate=20tracki= ng,=20using=20either=20a=20tone=20or=201=20pps=20signal.=0D=0A=C2=A0=0D=0A4.=20S= aving=20data=20files=0D=0AIf=20opds=20detector=20software=20is=20running=20in=20= parallel,=20disable=20the=20file=20deletion=20in=20cleanup=20bat,=20so=20that=20= the=20*.txt=20files=20will=20not=20be=20removed=20from=20the=20c:/spectrum/data=20= directory,=20e.g.=20by=20outcommenting=20the=20second=20and=20third=20lines=0D=0A= =C2=A0@copy=20headline.txt=20+=20DETECTED.TXT=20+=20detecold.txt=20c:\dropbox\pu= blic\detected.txt=20>nul=0D=0A=C2=A0::@del=20c:\spectrum\data\*.txt=201>nu= l=202>nul=0D=0A=C2=A0::@copy=20dirw.txt=20dirdone.txt=20>nul=20=0D=0ANote=20= that=20changing=20cleanup.bat=20will=20take=20effect=20immediately,=20without=20= having=20to=20restart=20opds.=0D=0AA=20new=20data=20file=20will=20be=20created=20= every=2010=20minutes,=20with=20the=20filename=20corresponding=20to=20minute=20of= =20the=20middle=20of=20the=20aquisition=20period.=20Note=20that=20in=20the=20lon= g=20run=20this=20may=20accumulate=20a=20large=20amount=20of=20data=20on=20your=20= disk.=20You=20can=20reduce=20filesize=20by=20selecting=20the=20"use=20INTEGER=20= numbers=20only"=20option=20in=20the=20"File=20-=20Export..=20-=20Export=20of=20F= FT=20results"=20menu.=20In=20that=20case=20please=20check=20the=20data=20file=20= output,=20if=20it=20consists=20of=20many=20zeroes=20or=20single=20digit=20number= s,=20you'll=20need=20to=20increase=20the=20audio=20level.=20=0D=0A=C2=A0=0D=0A5.= =20Opds=20calibration=0D=0AYou=20should=20then=20perform=20an=20accurate=20frequ= ency=20calibration.=20Read=20the=20samplerate=20from=20the=20samplerate=20detect= or.=20The=20RF=20center=20frequency=20can=20best=20be=20checked=20using=20Loran=20= lines.=20In=20the=20mediteranean=20area,=20lines=20from=20Soustons=20should=20be= =20detectable=20in=20daytime=20at=20exact=20multiples=20of=2050000/6731=20=3D=20= 7.428316743=20Hz,=20eg.=20137505.5712=20Hz=20(see=20https://dl.dropboxuserconten= t.com/u/26404526/Loran_lines_in_LF_slots.txt=20).=20Use=20the=20cursor=20to=20re= ad=20their=20display=20frequency=20and=20adjust=20the=20Options=20-=20..part=202= ..=20-=20Radio=20Freq=20Offset=20entry=20according=20to=20the=20error.=20You=20c= an=20then=20then=20enter=20use=20the=20calibration=C2=A0=20in=20opds.ini.=0D=0A=C2= =A0=0D=0A6.=20Converting=20to=20a=20wav=20file=0D=0AThen=20you=20need=20to=20sel= ect=20a=20data=20file=20containing=20an=20ebnaut=20signal=20or=20a=20test=20carr= ier,=20and=20convert=20it=20to=20a=20wav=20file.=20To=20use=20the=20ifft=20progr= am,=20you=20should=20first=20edit=20sr.txt=20and=20enter=20your=20RX=20calibrati= on=20result.=20This=20file=20contains=20four=20numbers,=20which=20are=20the=20so= undcard=20samplerate,=20the=20FFT=20decimation=20factor,=20the=20FFT=20length=20= (usually=20524288),=20and=20the=20center=20frequency.=20Copy=20the=20data=20file= =20from=20spectrum/data=20and=20run=20ebnaut_ifft2=20as=20before.=0D=0A=C2=A0=0D= =0A7.=20Searching=20frequency=20offset=0D=0AStart=20Paul's=20ebnaut-rx=20softwar= e=20and=20open=20a=20wav=20file=20which=20contains=20a=20pure=20and=20reasonbly=20= strong=20carrier.=20Enter=20the=20difference=20to=20the=20calibrated=20center=20= frequency=20(positive=20for=20signals=20above=20center),=20and=20start=20a=20dec= ode=20using=201=20sec=20symbol=20duration=20for=201=20Hz=20search=20range,=20and= =20eg.=2016=20for=20message=20length.=20Within=20a=20couple=20of=20seconds,=20eb= naut=20will=20have=20preprocessed=20the=20audio=20and=20written=20a=20rawsyms.tx= t=20file.=20The=20decode=20attempt=20can=20then=20be=20aborted=20by=20pressing=20= Stop.=20=0D=0AWe=20now=20have=20to=20inspect=20rawsys.txt,=20which=20contains=20= the=20complex=20baseband=20signal=20at=20one=20sample=20per=20symbol.=20We=20wan= t=20to=20plot=20the=20contents=20of=20the=20fourth=20column=20showing=20the=20ph= ase.=20I=20am=20using=20the=20attached=20MathCad=20script=20for=20this,=20but=20= you=20might=20as=20well=20employ=20Excel,=20gnuplot,=20or=20any=20other=20softwa= re.=20Ideally=20the=20data=20points=20should=20be=20gathered=20along=20a=20horiz= ontal=20line,=20indicating=20constant=20phase=20and=20zero=20frequency=20error.=20= Usually=20the=20line=20will=20have=20a=20slope,=20and=20you=20will=20have=20to=20= adjust=20the=20Freq=20offset=20field=20and=20repeat=20the=20procedure.=20Finally= =20you=20should=20do=20a=20fine-adjust=20using=20a=20longer=20symbol=20duration=20= like=2010=20seconds.=0D=0AUnfortunately=20this=20is=20a=20lengthy=20procedure,=20= and=20it=20becomes=20very=20difficult=20or=20impossible=20when=20the=20signal=20= is=20weak.=20This=20is=20the=20reason=20why=20it's=20so=20important=20to=20have=20= a=20stable=20and=20repeatable=20frequency.=20At=20LF,=20a=20simple=20TCXO=20usua= lly=20has=20too=20much=20variation,=20and=20we=20really=20want=20a=20Rubidioum=20= or=20GPS-controlled=20oscillator,=20or=20a=20very=20stable=20OCXO.=20=0D=0A=C2=A0= =0D=0A8.=20Searching=20time=20offset=0D=0ANow=20we=20can=20go=20about=20decoding= =20a=20wav=20containing=20a=20real=20ebnaut=20sequence.=20The=20remaining=20task= =20isto=20determine=20the=20time=20offset=20between=20the=20beginning=20of=20the= =20file=20and=20the=20sequence=20start.=20Theoretically=20it=20can=20be=20obtain= ed=20from=20the=20difference=20of=20the=20displayed=20file=20start=20(e.g.=2022:= 55:52.610)=20and=20the=20known=20transmission=20(e.g.=2023:00:00,=20in=20this=20= case=204=20minutes=20and=207.39=20seconds,=20i.e.=20247.39=20seconds).=20Unfortu= nately,=20there=20usually=20seems=20to=20be=20a=20small=20extra=20offset=20(arou= nd=200=20to=202=20seconds)=20which=20is=20initially=20unknown.=20So=20we=20will=20= need=20a=20little=20trial=20and=20error.=0D=0ANow=20start=20ebnaut=20with=20the=20= theoretical=20start=20offset,=20and=20look=20at=20rawsyms.txt=20again.=20If=20th= e=20signal=20is=20strong=20enough,=20the=20dots=20should=20now=20gathered=20arou= nd=C2=A0=20dots=20around=20two=20lines,=20180=20degrees=20apart.=20Most=20likely= =20there=20will=20a=20number=20of=20dots=20scattered=20elsewhere,=20due=20to=20a= =20time=20error=20which=20leads=20to=20sampling=20during=20symbol=20transitions.= =0D=0AThen=20try=20to=20repeat=20the=20procedure,=20varying=20the=20start=20offs= et=20in=20steps=20of=200.2=20symbol=20periods=20(eg.=200.2=20sec),=20trying=20to= =20minimize=20the=20number=20of=20scattered=20points=20between=20the=20lines.=20= If=20the=20signal=20is=20well=20above=20the=20noise=20you=20will=20find=20a=20cl= ear=20optimum.=20If=20the=20two=20lines=20are=20still=20sloping,=20adjust=20the=20= frequency=20offset=20in=20small=20steps=20(+-0.0002=20Hz).=0D=0ALet=20Ebnaut=20r= un=20a=20couple=20of=20minutes.=20If=20you=20are=20lucky=20you=20will=20already=20= be=20getting=20a=20decode.=20=0D=0AIf=20no=20decode=20happens,=20the=20start=20t= ime=20may=20still=20be=20wrong=20by=20an=20integer=20number=20of=20symbols=20per= iods.=20Then=20try=20to=20increase=20time=20offset=20in=20steps=20of=20one=20sym= bol=20duration.=20With=20one=20of=20these=20offsets,=20the=20signal=20should=20b= e=20decoded=20successfully.=20=0D=0A=C2=A0=0D=0AYou=20can=20still=20play=20aroun= d=20with=20the=20time=20offset=20to=20reduce=20symbol=20errors=20and=20maximize=20= EbN0.=20Take=20a=20note=20of=20the=20best=20start=20offset.=20Assuming=20that=20= the=20opds=20spectrogram=20is=20running=20continuously,=20a=20new=20file=20will=20= be=20written=20exactly=20every=2010=20minutes.=20Thus=20the=20start=20offset=20c= an=20be=20reused=20for=20the=20next=20transmission,=20e.g.=20one=20hour=20later.= =20After=20a=20SpecLab=20restart,=20the=20file=20start=20times=20will=20have=20c= hanged=20arbitrarily,=20but=20the=20empirical=20extra=20offset=20will=20likely=20= still=20be=20valid.=20=0D=0A=0D=0AMaybe=20we=20can=20do=20a=20test=20from=20me=20= to=20you=20on=20the=20weekend?=20However=20before=20going=20on=20air,=20I=20want= =20to=20insert=20a=20simple=20RC=20shaping=20network=20before=20the=20modulator,= =20to=20avoid=20splattering=20up=20Stefan's=20grabber=20and=20opds=20screen=20to= o=20much.=0D=0A=C2=A0=0D=0AAll=20the=20best,=0D=0AMarkus=0D=0A=0D=0A=C2=A0=0D=0A= =0D=0A=20=20=0A=0A ----------MB_8D2C77BDA2D97C4_1BE8_4B1E43_webmail-vm161.sysops.aol.com Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8" =0D=0A=0D=0A=0D=0A
=20Than= ks=20very=20much=20to=20Domenico=20IZ7SLZ=20for=20informing=20the=20group=20abou= t=20our=20LF=20EbNaut-PSK=20activities!=20I=20am=20glad=20that=20this=20has=20ra= ised=20some=20interest,=20and=20I'm=20sure=20that=20trying=20Paul's=20software=20= is=20well=20worth=20the=20effort=20for=20anyone=20wishing=20to=20communicate=20w= ith=20really=20weak=20signals,=20very=20near=20to=20the=20ultimate=20Shannon-Har= tley=20limit.=20
=0D=0A=0D=0A
 
=0D=0A=0D=0A
In=20this=20= mail,=20I=20will=20try=20to=20provide=20some=20information=20regarding=20the=20r= eceive=20procedure.=20As=20mentioned=20before,=20we=20have=20used=20SpecLab=20as= =20a=20receiving=20frontend=20to=20generate=20an=20IQ=20wav=20file,=20which=20ca= n=20be=20read=20by=20EbNaut-RX.=20Wolf=20has=20provided=20a=20dedicated=20rigger= ed=20audio=20recording=20function,=20which=20is=20able=20to=20save=20decimated=20= and=20precisely=20timestamped=20IQ=20data,=20starting=20at=20specified=20GPS-con= trolled=20times.=20
=0D=0A=0D=0A
 
=0D=0A=0D=0A
As=20I=20= am=20already=20continuously=20running=20a=20SpecLab=20instance=20for=20the=20opd= s=20decoder,=20I=20decided=20to=20go=20down=20a=20slightly=20different=20route,=20= by=20reusing=20the=20exported=20ascii=20spectrum-data=20files=20for=20EbNaut=20a= s=20well.=20One=20advantage=20of=20this=20procedure=20is=20that=20the=20LO=20use= d=20in=20the=20downconversion=20for=20the=20spectrogram=20already=20includes=20s= amplerate=20tracking,=20which=20avoids=20the=20need=20for=20CPU-intensive=20samp= lerate=20interpolation.=20If=20GPS-1pps=20is=20used=20for=20reference,=20the=20a= bsolute=20LO=20phase=20will=20even=20be=20recovered=20after=20a=20soundcard=20dr= opout.=20Timestamping=20is=20derived=20from=20NTP,=20which=20is=20slightly=20les= s=20accurate=20but=20perfectly=20adequate=20for=20the=20symbol=20durations=20dow= n=20to=200.2=20s=20that=20were =20used=20in=20our=20tests.
=0D=0A=0D=0A=
 
=0D=0A=0D=0A
So=20all=20one=20has=20to=20do=20is=20to=20sel= ect=20a=20MMDDhhmm.txt=20file=20from=20the=20spectrum\data\=20directory=20which=20= contains=20the=20received=20sequence,=20and=20convert=20it=20back=20to=20time=20= domain=20using=20an=20inverse=20FFT.=20In=20an=20email=20to=20Domenico=20(pasted= =20beneath),=20I=20briefly=20described=20the=20file=20conversion=20and=20the=20f= requency-time=20alignment=20process=20used=20with=20EbNaut.=20An=20updated=20ver= sion=20of=20the=20utilities=20can=20be=20found=20at
=0D=0Ahttp://df6nm.bplace= d.net/VLF/fec_tests/df6nm_ebnaut_utilities.zip=20(184=20kB).
=0D=0A
= =0D=0A=0D=0A
The=20SpecLab=20config-file=20_opds32_150924.usr=20for=20opds=20= has=20been=20slightly=20updated,=20hopefully=20making=20life=20a=20bit=20it=20ea= sier=20for=20first-time=20opds=20and=20EbNaut=20users.=20The=20analyzed=20audio=20= frequency=20band=20has=20been=20centered=20on=201500=20Hz.=20You=20will=20still=20= have=20to=20calibrate=20your=20samplerate=20and=20receiver=20frequency.=20Note=20= that=20for=20opds=20and=20EbNaut=20postprocessing=20the=20number=20of=20exported= =20FFT=20bins=20(262144)=20always=20needs=20to=20be=20half=20the=20FFT=20length=20= (524288).
=0D=0A=0D=0A
 
=0D=0A=0D=0A
The=20inverse-FFT=20= utility=20is=20ebnaut_ifft3.exe.=20Dragging=20and=20dropping=20a=20.txt=20data=20= file=20over=20it's=20icon=20will=20let=20it=20produce=20an=20equally=20named=20.= wav=20file=20which=20can=20then=20be=20read=20by=20ebnaut-rx=20software.=20Note=20= that=20for=20correct=20time=20and=20frequency=20information=20in=20the=20wav=20h= eader,=20the=20ifft=20configuration=20file=20sr.txt=20needs=20to=20contain=20you= r=20accurate=20soundcard=20samplerate,=20FFT=20decimation=20factor=20and=20lengt= h,=20and=20RX=20frequency.=20
=0D=0A=0D=0A
 
=0D=0A=0D=0AShortly=20after=20starting=20ebnaut-rx=20and=20before=20it=20enters=20the=20dec= oding=20process,=20it=20writes=20the=20symbol=20amplitudes=20and=20phases=20to=20= a=20logfile=20called=20rawsyms.txt.=20This=20can=20be=20used=20to=20assist=20the= =20determination=20of=20the=20correct=20frequency=20and=20time=20offset.=20Click= ing=20on=20the=20show_rawsyms3.exe=20utility=20will=20output=20a=20window=20with= =20three=20different=20diagrams=20and=20two=20lines=20of=20text=20information.=20= =0D=0A=0D=0A
 
=0D=0A=0D=0A
The=20white=20dots=20at=20th= e=20top=20are=20a=20time=20domain=20representation=20of=20the=20symbol=20phases.= =20With=20a=20strong=20signal,=20these=20should=20ideally=20be=20gathered=20arou= nd=20two=20horizontal=20lines,=20180=C2=B0=20apart.=20For=20the=20example=20scre= enshot,=20the=20frequency=20offset=20had=20been=20made=201=20mHz=20too=20negativ= e,=20resulting=20in=20gradually=20increasing=20symbol=20phases.
=0D=0A=0D=0A=
 
=0D=0A=0D=0A
The=20red=20spectrum=20is=20a=20Fourier=20tran= sform=20of=20the=20symbol=20amplitudes.=20The=20Nyquist=20frequency=20range=20is= =20identical=20to=20the=20symbol=20rate=20(ie=20+-=200.5=20Hz=20for=201=20second= =20symbols),=20with=20a=20zoomed=20section=20on=20the=20right.=20The=20spectrom=20= will=20show=20a=20peak=20if=20a=20test=20carrier=20has=20been=20sent,=20and=20th= e=20freq=20offset=20in=20EbNaut=20can=20then=20be=20adjusted=20iteratively=20to=20= bring=20it=20to=20the=20center.=20However=20no=20red=20peak=20will=20be=20appear= =20from=20a=20PSK=20data=20transmission.  =20
=0D=0A=0D=0A
&n= bsp;
=0D=0A=0D=0A
The=20blue=20spectrum=20is=20calculated=20from=20the=20= squared=20complex=20amplitudes.=20As=20taking=20the=20square=20eliminates=20the=20= signal=20polarity,=20this=20spectrum=20will=20also=20show=20a=20peak=20from=20a=20= PSK=20modulated=20sequence.=20Unfortunately=20the=20squared=20spectrum=20fails=20= to=20produce=20a=20peak=20for=20very=20weak=20signals=20where=20the=20SNR=20of=20= the=20individual=20symbols=20becomes=20too=20low.=20If=20he=20peak=20is=20presen= t,=20the=20frequency=20error=20(e.g.=20offset=20needs=20to=20be=20increased=20by= =200.97=20mHz)=20can=20be=20read=20in=20the=20text=20beneath.
=0D=0A=0D=0A<= div> =0D=0A=0D=0A
Unfortunately=20there=20is=20no=20direct=20indi= cation=20to=20guide=20you=20towards=20the=20correct=20bit=20timing.=20One=20way=20= is=20to=20iteratively=20adjust=20the=20fractional=20time=20offset=20for=20least=20= scatter=20of=20dots=20or=20highest=20blue=20peak.=20In=20the=20bottom=20line,=20= an=20estimate=20of=20the=20time=20error=20magnitude=20(nominally=200=20to=200.5)= =20is=20given,=20which=20should=20be=20small=20if=20the=20correct=20symbol=20tim= ing=20has=20been=20found.=20This=20is=20calculated=20by=20a=20normalized=20autoc= orrelation=20with=20a=20one-symbol=20shift,=20exploiting=20the=20property=20of=20= the=20sequence=20that=20the=20likelyhood=20of=20a=20symbol=20transition=20should= =20always=20be=2050%,=20independent=20of=20a=20prior=20transition.=20Again,=20th= is=20method=20will=20not=20work=20if=20the=20SNR=20is=20low.
=0D=0A 
= =0D=0AFor=20testing=20purposes,=20you=20can=20try=20the=20data=20in
=0D=0Ahttp://= df6nm.bplaced.net/VLF/fec_tests/ebnaut_data_09200300.zip=20(750=20kB).
=0D= =0AIf=20you=20carefully=20inspect=20the=20timestamp=20of=20the=20successful=20de= code,=20you=20may=20note=20that=20in=20this=20case=20an=20extra=20one-second=20d= elay=20was=20required.=20Domenico=20confirmed=20that=20it=20was=20caused=20by=20= a=20temporary=20GPS-derived=20clock=20error=20on=20the=20transmit=20PC.=20
= =0D=0A=0D=0A

=0D=0AHope=20this=20helps...=20so=20go=20ahead=20and=20have= =20fun!=20
=0D=0A=0D=0A
 
=0D=0A=0D=0A
Thanks=20to=20Paul= =20and=20Wolf=20for=20their=20original=20ideas=20and=20invaluable=20software,=20= and=20to=20Domenico=20for=20surmounting=20all=20obstacles=20to=20bring=20this=20= to=20life=20on=20137=20kHz.
=0D=0A=0D=0A
 
=0D=0A=0D=0A
B= est=2073,=20
=0D=0AMarkus
=0D=0A
=0D=0A=0D=0A

=0D=0A
=0D= =0A-----Urspr=C3=BCngliche=20Mitteilung-----=20
=0D=0AVon:=20IZ7SLZ=20<iz7= slz.domenico@gmail.com>
=0D=0AAn:=20rsgb_lf_group=20<rsgb_lf_group@blac= ksheep.org>
=0D=0AVerschickt:=20Mi,=2023=20Sept=202015=202:06=20am
=0D=0A= Betreff:=20LF:=20Coherent=20BPSK=20on=20LF=20using=20EbNaut
=0D=0A
=0D=0A&= nbsp;=0D=0AHello=20LF,=20
=0D=0A=20
=0D=0AI= =20am=20pleased=20to=20report=20a=20successful=20"Coherent=20BPSK"=20QSO=20betwe= en=20DF6NM=20=20
=0D=0Aand=20IZ7SLZ=20on=20LF=20using=20EbNaut=20program=20of= =20Paul=20Nicholson.=20
=0D=0AQSO=20took=20place=20in=20the=20night=20between= =20Friday=202015-09-18=20and=20Saturday=20=20
=0D=0A2015-09-19=20.=20
=0D=0A= =20
=0D=0AI=20think=20it=20was=20the=20first=20time=20that=20anyone=20tried=20= this=20on=20137=20kHz=20!=20
=0D=0A=20
=0D=0AFrequencies=20used=20were=201= 37510.00=20Hz=20(DF6NM)=20and=20137502.12=20(IZ7SLZ).=20
=0D=0A=20
=0D=0AW= e=20exchange=20messages=20of=2016=20characters=20in=20coherent=20BPSK=20with=20U= T=20=20
=0D=0Asynchronous=20symbols,=20using=20a=20symbol=20period=20of=201=20= second=20and=208K19A=20scheme=20=20
=0D=0Acoding.=20
=0D=0A=20
=0D=0ASo= ftware=20used=20were=20the=20Windows'=20versions=20of=20EbNaut-TX=20and=20EbNaut= -RX=20(tnx=20=20
=0D=0Ato=20P.=20Nicholson:=20your=20software=20is=20working=20= without=20problems!).=20
=0D=0AAlso=20Spectrum=20Lab=20(tnx=20Wolf=20!)=20was= =20used=20to=20export=20FFT=20data,=20in=20a=20similar=20=20
=0D=0Away=20of=20= the=20Markus'=20OPDS=20setup.=20
=0D=0AOther=20programs,=20=20written=20by=20= Markus,=20=20were=20used:=20one=20=20to=20convert=20FFT=20=20
=0D=0Aexported=20= data=20for=20the=20EbNaut=20entry=20and=20another=20to=20search=20for=20the=20be= st=20=20
=0D=0Afrequency=20and=20time=20offsets.=20
=0D=0A=20
=0D=0AThe= re=20was=20not=20much=20phase=20drift=20during=20the=20qso=20and=20in=20other=20= test=20=20
=0D=0Atransmissions,=20since=20we=20reach=20a=20good=20frequency=20= stability=20at=20both=20ends=20=20
=0D=0Athanks=20to=20Rubidium=20Reference=20= Oscillator=20(Markus=20side)=20and=20a=20good=20quality=20=20
=0D=0AOCXO=20fr= om=20my=20side.=20
=0D=0A=20
=0D=0AYou=20can=20see=20reported=20symbol=20/= =20carrier=20EbN0=20and=20also=20the=20messages=20=20
=0D=0Aexchanged,=20=20i= n=20the=20attached=20screen-shots=20taken=20at=20both=20ends.=20
=0D=0A=20=0D=0AWe=20hope=20now=20to=20joint=20other=20stations=20that=20want=20to=20chal= lenge=20the=20timing=20=20
=0D=0Aand=20frequency=20accuracy,=20to=20have=20a=20= QSO=20in=20LF=20close=20to=20the=20Shannon=20limit.=20
=0D=0A=20
=0D=0AMar= kus=20DF6NM,=20will=20report=20soon=20all=20particulars=20and=20his=20comments=20= of=20the=20=20
=0D=0Aexperiment.=20Thanks=20in=20advance=20Markus!=20
=0D=0A= =20
=0D=0A73,=20Domenico=20(iz7slz) 
=0D=0A 
=0D=0A 
= =0D=0ARe:=20EbNaut=20-=20succe= ss=20again!=20
=0D=0AVon:=20Markus=20Vester=20<markusve= ster@aol.com>=20=
=0D=0AAn:=20iz7slz.domenico=20<iz7slz.domenico@gm= ail.com>=20
=0D= =0ACc:=20paul=20<paul@abelian.netcom.co.uk>=20
=0D=0ADatum:=20Mi,=20= 19=20Aug=202015=204:58=20pm 
=0D=0A=0D=0A
=0D=0AHi=20Dom= enico,=0D=0A=0D=0A =0D=0A=0D=0A= here's=20some=20guidance=20tow= ards=20setting=20up=20EbNaut=20for=20receiving,=20using=20your=20opds=20SpecLab=20= instance.=20=0D=0A=0D=0A =0D=0A=0D=0A1.=20Generating=20= a=20stable=20test=20transmission=0D=0A=0D=0AFor=20accurate=20transmiss= ions,=20it=20would=20be=20better=20to=20avoid=20the=20SSB=20and=20audio=20carrie= r=20method=20as=20it=20is=20prone=20to=20soundcard=20glitches.=20You=20may=20rat= her=20want=20to=20generate=20the=20carrier=20directly=20at=20RF=20(eg=20from=20y= our=20AD9850=20DDS),=20and=20apply=20the=20DBM=20modulation=20there.=20In=20your= =20setup,=20you=20might=20need=20to=20make=20a=20small=20predriver=20amplifier=20= to=20feed=20the=20PA.=0D=0A=0D=0A =0D=0A=0D=0A2.=20Decod= er=20dry=20test=0D=0A=0D=0AFirst=20try=20a=20dry=20test=20of=20the=20sof= tware=20using=20the=20Sunday=2023:14=20data=20file.=20Download=20the=20conversio= n=20program
=0D=0Ahttp://df6nm= .bplaced.net/VLF/fec_tests/ebnaut_ifft2.zip
=0D=0A(including=20my=20calibration=20data=20file=20= sr.txt)=20and=20the=20data
=0D=0Ah= ttp://df6nm.bplaced.net/VLF/fec_tests/08162314.zip=20.
=0D=0AOpen=20a=20command=20shell=20and=20= type
=0D=0A ebnaut_ifft2=2008162314
=0D=0Awhich=20will=20output=20a=20= couple=20of=20lines=20and=20generate=20a=2008162314.wav=20file.=20Load=20this=20= into=20ebnaut-rx,=20using=20parameters=20as=20shown=20in=20attached=20screenshot= =20(start=20offsets=20248.5s,=20freq=20offset=202.0369=20Hz).=20This=20should=20= reproduce=20the=20perfect=20decode.=0D=0A=0D=0A =0D=0A= =0D=0A3.=20Setting=20up=20the=20opds=20SpecLab=20instance=0D=0A=0D=0A<= div=20style=3D"margin:=200px;=20color:=20rgb(0,=200,=200);=20font-family:=20Taho= ma,=20Verdana,=20Arial,=20Sans-Serif;=20font-size:=2012px;=20background-color:=20= rgb(255,=20255,=20255);">As=20= you=20have=20successfully=20received=20opds=20no=20big=20changes=20are=20nessary= .=20PC=20time=20needs=20to=20be=20accurate=20to=200.2=20s=20using=20NTP=20or=20G= PStime.=20I'd=20recommend=20to=20activate=20samplerate=20tracking,=20using=20eit= her=20a=20tone=20or=201=20pps=20signal.=0D=0A=0D=0A =0D=0A= =0D=0A4.=20Saving=20data=20files=0D=0A=0D=0A= If=20opds=20detector=20softwar= e=20is=20running=20in=20parallel,=20disable=20the=20file=20deletion=20in=20clean= up=20bat,=20so=20that=20the=20*.txt=20files=20will=20not=20be=20removed=20from=20= the=20c:/spectrum/data=20directory,=20e.g.=20by=20outcommenting=20the=20second=20= and=20third=20lines
=0D=0A @copy=20headline.txt=20+=20DETECTED.TXT=20+=20= detecold.txt=20c:\dropbox\public\detected.txt=20>nul
=0D=0A ::@del=20= c:\spectrum\data\*.txt=201>nul=202>nul
=0D=0A ::@copy=20dirw.txt=20= dirdone.txt=20>nul=20
=0D=0ANote=20that=20changing=20cleanup.bat=20will=20= take=20effect=20immediately,=20without=20having=20to=20restart=20opds.=0D=0A=0D=0AA=20new=20data=20file=20will=20be=20created=20every=2010=20minutes,=20= with=20the=20filename=20corresponding=20to=20minute=20of=20the=20middle=20of=20t= he=20aquisition=20period.=20Note=20that=20in=20the=20long=20run=20this=20may=20a= ccumulate=20a=20large=20amount=20of=20data=20on=20your=20disk.=20You=20can=20red= uce=20filesize=20by=20selecting=20the=20"use=20INTEGER=20numbers=20only"=20optio= n=20in=20the=20"File=20-=20Export..=20-=20Export=20of=20FFT=20results"=20menu.=20= In=20that=20case=20please=20check=20the=20data=20file=20output,=20if=20it=20cons= ists=20of=20many=20zeroes=20or=20single=20digit=20numbers,=20you'll=20need=20to=20= increase=20the=20audio=20level.=20=0D=0A=0D=0A =0D=0A= =0D=0A5.=20Opds=20calibration=0D=0A=0D=0AYou=20should=20then=20perform=20= an=20accurate=20frequency=20calibration.=20Read=20the=20samplerate=20from=20the=20= samplerate=20detector.=20The=20RF=20center=20frequency=20can=20best=20be=20check= ed=20using=20Loran=20lines.=20In=20the=20mediteranean=20area,=20lines=20from=20S= oustons=20should=20be=20detectable=20in=20daytime=20at=20exact=20multiples=20of=20= 50000/6731=20=3D=207.428316743=20Hz,=20eg.=20137505.5712=20Hz=20(see=20https://dl.dropboxusercon= tent.com/u/26404526/Loran_lines_in_LF_slots.txt=20).=20Use=20the=20cursor=20to=20read=20their=20dis= play=20frequency=20and=20adjust=20the=20Options=20-=20..part=202..=20-=20Radio=20= Freq=20Offset=20entry=20according=20to=20the=20error.=20You=20can=20then=20then=20= enter=20use=20the=20calibration =20in=20opds.ini.=0D=0A=0D=0A<= div=20style=3D"margin:=200px;=20color:=20rgb(0,=200,=200);=20font-family:=20Taho= ma,=20Verdana,=20Arial,=20Sans-Serif;=20font-size:=2012px;=20background-color:=20= rgb(255,=20255,=20255);"> =0D=0A=0D=0A6.=20Converting=20to=20a=20wav=20file=0D=0A=0D= =0A= Then=20you=20need=20to=20select=20a=20data=20file=20containing=20an=20ebnaut=20s= ignal=20or=20a=20test=20carrier,=20and=20convert=20it=20to=20a=20wav=20file.=20T= o=20use=20the=20ifft=20program,=20you=20should=20first=20edit=20sr.txt=20and=20e= nter=20your=20RX=20calibration=20result.=20This=20file=20contains=20four=20numbe= rs,=20which=20are=20the=20soundcard=20samplerate,=20the=20FFT=20decimation=20fac= tor,=20the=20FFT=20length=20(usually=20524288),=20and=20the=20center=20frequency= .=20Copy=20the=20data=20file=20from=20spectrum/data=20and=20run=20ebnaut_ifft2=20= as=20before.=0D=0A=0D=0A =0D=0A=0D=0A7.=20Searching=20f= requency=20offset=0D=0A=0D=0AStart=20Paul's=20ebnaut-rx=20software=20a= nd=20open=20a=20wav=20file=20which=20contains=20a=20pure=20and=20reasonbly=20str= ong=20carrier.=20Enter=20the=20difference=20to=20the=20calibrated=20center=20fre= quency=20(positive=20for=20signals=20above=20center),=20and=20start=20a=20decode= =20using=201=20sec=20symbol=20duration=20for=201=20Hz=20search=20range,=20and=20= eg.=2016=20for=20message=20length.=20Within=20a=20couple=20of=20seconds,=20ebnau= t=20will=20have=20preprocessed=20the=20audio=20and=20written=20a=20rawsyms.txt=20= file.=20The=20decode=20attempt=20can=20then=20be=20aborted=20by=20pressing=20Sto= p.=20=0D=0A=0D=0AWe=20now=20have=20to=20inspect=20rawsys.txt,=20which=20= contains=20the=20complex=20baseband=20signal=20at=20one=20sample=20per=20symbol.= =20We=20want=20to=20plot=20the=20contents=20of=20the=20fourth=20column=20showing= =20the=20phase.=20I=20am=20using=20the=20attached=20MathCad=20script=20for=20thi= s,=20but=20you=20might=20as=20well=20employ=20Excel,=20gnuplot,=20or=20any=20oth= er=20software.=20Ideally=20the=20data=20points=20should=20be=20gathered=20along=20= a=20horizontal=20line,=20indicating=20constant=20phase=20and=20zero=20frequency=20= error.=20Usually=20the=20line=20will=20have=20a=20slope,=20and=20you=20will=20ha= ve=20to=20adjust=20the=20Freq=20offset=20field=20and=20repeat=20the=20procedure.= =20Finally=20you=20should=20do=20a=20fine-adjust=20using=20a=20longer=20symbol=20= duration=20like=2010=20seconds.=0D=0A=0D=0A= Unfortunately=20this=20is=20a=20= lengthy=20procedure,=20and=20it=20becomes=20very=20difficult=20or=20impossible=20= when=20the=20signal=20is=20weak.=20This=20is=20the=20reason=20why=20it's=20so=20= important=20to=20have=20a=20stable=20and=20repeatable=20frequency.=20At=20LF,=20= a=20simple=20TCXO=20usually=20has=20too=20much=20variation,=20and=20we=20really=20= want=20a=20Rubidioum=20or=20GPS-controlled=20oscillator,=20or=20a=20very=20stabl= e=20OCXO.=20=0D=0A=0D=0A =0D=0A=0D=0A8.=20Searching=20t= ime=20offset=0D=0A=0D=0ANow=20we=20can=20go=20about=20decoding=20a=20w= av=20containing=20a=20real=20ebnaut=20sequence.=20The=20remaining=20task=20isto=20= determine=20the=20time=20offset=20between=20the=20beginning=20of=20the=20file=20= and=20the=20sequence=20start.=20Theoretically=20it=20can=20be=20obtained=20from=20= the=20difference=20of=20the=20displayed=20file=20start=20(e.g.=2022:55:52.610)=20= and=20the=20known=20transmission=20(e.g.=2023:00:00,=20in=20this=20case=204=20mi= nutes=20and=207.39=20seconds,=20i.e.=20247.39=20seconds).=20Unfortunately,=20the= re=20usually=20seems=20to=20be=20a=20small=20extra=20offset=20(around=200=20to=20= 2=20seconds)=20which=20is=20initially=20unknown.=20So=20we=20will=20need=20a=20l= ittle=20trial=20and=20error.=0D=0A=0D=0A= Now=20start=20ebnaut=20with=20= the=20theoretical=20start=20offset,=20and=20look=20at=20rawsyms.txt=20again.=20I= f=20the=20signal=20is=20strong=20enough,=20the=20dots=20should=20now=20gathered=20= around =20dots=20around=20two=20lines,=20180=20degrees=20apart.=20Most=20li= kely=20there=20will=20a=20number=20of=20dots=20scattered=20elsewhere,=20due=20to= =20a=20time=20error=20which=20leads=20to=20sampling=20during=20symbol=20transiti= ons.=0D=0A=0D=0AThen=20try=20to=20repeat=20the=20procedure,=20varying=20= the=20start=20offset=20in=20steps=20of=200.2=20symbol=20periods=20(eg.=200.2=20s= ec),=20trying=20to=20minimize=20the=20number=20of=20scattered=20points=20between= =20the=20lines.=20If=20the=20signal=20is=20well=20above=20the=20noise=20you=20wi= ll=20find=20a=20clear=20optimum.=20If=20the=20two=20lines=20are=20still=20slopin= g,=20adjust=20the=20frequency=20offset=20in=20small=20steps=20(+-0.0002=20Hz).=0D=0A=0D=0ALet=20Ebnaut=20run=20a=20couple=20of=20minutes.=20If=20you=20= are=20lucky=20you=20will=20already=20be=20getting=20a=20decode.=20=0D= =0A=0D=0AIf=20no=20decode=20happens,=20the=20start=20time=20may=20still=20be=20wron= g=20by=20an=20integer=20number=20of=20symbols=20periods.=20Then=20try=20to=20inc= rease=20time=20offset=20in=20steps=20of=20one=20symbol=20duration.=20With=20one=20= of=20these=20offsets,=20the=20signal=20should=20be=20decoded=20successfully.=20<= /font>=0D=0A=0D=0A =0D=0A=0D=0A<= font=20face=3D"Arial,=20Helvetica,=20sans-serif">You=20can=20still=20play=20arou= nd=20with=20the=20time=20offset=20to=20reduce=20symbol=20errors=20and=20maximize= =20EbN0.=20Take=20a=20note=20of=20the=20best=20start=20offset.=20Assuming=20that= =20the=20opds=20spectrogram=20is=20running=20continuously,=20a=20new=20file=20wi= ll=20be=20written=20exactly=20every=2010=20minutes.=20Thus=20the=20start=20offse= t=20can=20be=20reused=20for=20the=20next=20transmission,=20e.g.=20one=20hour=20l= ater.=20After=20a=20SpecLab=20restart,=20the=20file=20start=20times=20will=20hav= e=20changed=20arbitrarily,=20but=20the=20empirical=20extra=20offset=20will=20lik= ely=20still=20be=20valid.=20=0D=0A=0D=0A=
=0D=0AMaybe=20we=20can=20d= o=20a=20test=20from=20me=20to=20you=20on=20the=20weekend?=20However=20before=20g= oing=20on=20air,=20I=20want=20to=20insert=20a=20simple=20RC=20shaping=20network=20= before=20the=20modulator,=20to=20avoid=20splattering=20up=20Stefan's=20grabber=20= and=20opds=20screen=20too=20much.=0D=0A=0D=0A
 
=0D=0A=0D=0AAll=20the=20best,
=0D=0AMarkus
=0D=0A=0D=0A
=0D=0A =
=0D=0A=0D=0A=20=20
=0D=0A ----------MB_8D2C77BDA2D97C4_1BE8_4B1E43_webmail-vm161.sysops.aol.com--