Det är ju vad jag gör nu. Jag samplar denna mitt i en symbol, men för att hitta denna mitt så kollar jag nollgenomgångarna. Om denna uppträder för snabbt efter en symbolmitt, justerar jag samplingspunkten framåt om den sker för snabbt justerar jag bakåt.
Ok, jag missade det. Är med nu.
Tror förresten att jag har en obesvarad fråga litet tidigare upp:
Bitrate och symbol rate är väl samma sak i FSK?
(KLIPPT BORT SAKER HÄR)
Dvs om jag adderar signal och brus 1:1 i Octave. Då är bitrate 100Hz, men vad är bandbredden? Inte helt vitalt för detta, men jag försöker förstå.
Ursäkta ignoransen, den är inte avsiktligt:-) Det här med för lite tid och så...
Javisst (*), i Binär FSK, det som används i NAVTEX, är det en bit per symbol. Då är alltså Eb (energin per bit) = Es (energin per symbol). Ett lite utförligare svar kommer här, där jag försöka ta det ur ett "ingenjörsperspektiv" utan formler först. (Kommentarer har jag för läslighetens skull numrerat och lagt efter). Så.
- Antag att våra matchade filter är "perfekta" och har en bandbredd på 100Hz (1).
- Vår önskade signal kommer att släppas rakt igenom dessa filter. Ingenting tar bort, så signalenergin efter filtrering är samma som före (2).
- Det vita bruset (3) däremot är spritt helt platt över alla frekvenser. Filterna kommer bara att släppa igenom 100Hz av detta per filter. Om vi antar Fs=8000Hz så har vi 4000Hz unika frekvenser under Nyqvist halva, och 100/4000 är 1/40, så 2.5% av brusenergin kommer att släppas igenom av ett filter. För två filter blir det 1/20 = 5%. Så om du la till brus med precis samma energi som signalen (0dB SNR) så kommer det på andra sidan av filterna vara 13dB SNR (10*log10(20)). Och det är ju detta som räknas, hur bruset påverkar avkodningsbesluten.
Kommentarerna:
1. Jag tycker det är en helt okej approximation av hur det ser ut i din mottagare.
2. Om energin skall bevaras genom filtreringen måste man i praktiken normera filterkoefficienterna så att DC-förstärkningen blir ett, men det är trivialt, och spelar ingen som helst roll i detta sammanhanget, eftersom både signal och brus går genom samma filter och vi tittar på kvoten av dessa.)
3. Metakommentar: det finns så mycket att säga (och fråga) om bruset och det kommer inte ut välformulerat så jag avstår tills vidare.
(*) I NAVTEX-fallet är det ju så att datan sänds med redundans. Varje bit skickas två gånger, så det är faktiskt bara ungefär en halv bit per symbol, dvs Eb = 2Es. Jag skriver ungefär för vissa koder ändrar "mod" på vad symbolerna betyder, typ "numeriskt fr.o.m. nu", vilket strular till det så pass att sådana som jag tänker att jag bara skall minnas det när det biter en och i övrigt bara ignorera det.
Att varje bit skickas två gånger betyder att man kan vinna tre dB genom att helt enkelt addera amplituderna från de redundanta bitarna till varandra före man tar beslut (FÖRE kvadrering, och man får skyffla in datan i en FIFO för senare kombinering.). Signalamplituderna kommer då att adderas till det dubbla, medan bruset, som vi antar är vitt, bara adderar till roten ur två. En dubbling av Eb/N.
För att spinna vidare tror jag att man kan öka Eb/N för den avkodade signalen ytterligare eftersom man vet att fyra av sju bitar alltid är ettor, så man tar beslut att sätta de sannolikaste fyra ettorna. (Hade man haft tillgång till en checksumma kunde man experimentera med att ta de näst sannolikaste fyra bitarna osv tills man uppfyller checksumman. Detta liknar en teknik som när den används med faltningskoder brukar kallas "list-Viterbi" avkodning, eftersom man skapar listor på möjliga avkodade meddelanden sorterade i minskande sannolikhetsordning, och så provar man dem en i taget från toppen och neråt till man får träff, slut på minne, tid eller tur, eller ger upp.)