Hello Gullik,

The FFT is not used to differentiate between carriers.  It is used to
estimate the frequency of the "down converted" pilot tone.  Some other
modems (e.g. OFDM) use FFTs and inverse FFTs for the demod and mod
processes, but FDMDV modem is more like 15 parallel 50 baud PSK Modems.

Frequency offset estimation works like this: we take the entire FDM
signal (modem tones plus pilot).  This has an unknown frequency offset.
We then "mix" this with a local copy of the pilot tone signal at 1200
Hz.  The output of the mixer will contain the product of the local and
received pilot tone signal - a single frequency component near DC at the
frequency offset.  We then low pass filter at 200 Hz to isolate just
this single frequency component, and fft and peak pick to estimate it's
frequency.  See the octave/C code for more details.

I think the biggest latency is in the transmit and receive filter
memories, which are currently 6 symbols long.  The +/- 200 Hz frequency
offset estimation range was an arbitrary choice, not sure of the pros
and cons of changing this.  It seems to work just fine. It's set by the
low pass filter.

Thanks,

David

On Tue, 2012-06-12 at 22:23 +0200, Gullik Webjörn wrote:
> Sorry about mailbombing..
> 
> I have tried to refresh my math understanding...and...
> 
> Since we only need to differentiate between 15 carriers
> spaced 75 Hz apart, I dont understand why we need
> a 256 point FFT, would not something slightly larger
> suffice? My simple understanding says 16 spaced exactly
> on the carriers. I can accept for various reasons twice
> or even four times that, but dont we get into problems
> then that we have to consider adjacent bins since the signal
> will not fall entirely int one bin?
> 
> I.e. signal + sidebands must fall within the "bin", and
> preferably not into the next.
> 
> Reducing the "points" AND the samples would lower latency,
> reduce processing requirements, and having "more" bins than
> required to "fit" the spectrum, the almost empty ones 
> are simply wasted. Am I out on a limb here???
> 
> I can see from the source that the FFT size is 256,
> (MPILOTFFT) that is later placed in fft_pilot_cfg.
> 
> I also see that you want to find the pilot within 200 hz,
> (tuning error?) to be able to downconvert the whole package
> with reasonable accuracy, and this size seems a bit to generous to me.
> 
> Now, I DONT claim to understand this, I am just seeking a discussion,
> which will help me understand this better.
> 
> On a separate thought branch:
> 
> IF we do a 256 point FFT, are we not really done then?
> We would have ALL frequency and phase info?
> 
> 3500 Hz div by 75 Hz bandwidth is only 46. So, only 15 out of
> the 46 bins would contain anything (significant). Or,
> 
> 
> With an 8 khz clock, a 256 point will give us 30 hz per bin,
> but a full psk modulated carrier will not be guaranteed to
> fit a single bin. So, reducing the number of points, would
> fit each carrier better.
> 
> As for alias filtering, sample rate could be n*clock, and
> a n decimation performed, which would give an easy input filter.
> But, maybe clocking should be matched to the signal (spacing)
> 
> Enough rambling, I don't expect an immediate reply, but would
> appreciate one eventually.
> 
> 73 de SM6FBD (Gullik)
> 



------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to