--- In [email protected], "Fred Krom" <[EMAIL PROTECTED]> wrote:
>
> I got a question that maybe can be answered in this group. 
> Most of the SDR radio's I know are using the following steps:
> 1e Mix the time domain Q & I signal with a NCO to make a near to
>    zero signal
> 2e Take the FFT to convert it to frequence domain
> 3e Filter the signal by setting most of the bins to zero (multiply
>    by filter)
> 4e Take the reverse FTT to convert to time domain
> 5e Down sample the signal to something like 8Khz sample rate.
> 6e Somekind of demod.
> 

Fred,

  IMHO that is not the optimal sequence of operations.
The passband filter is more effective if performed at a lower sampling
speed, i.e. after the decimation. What I do in Winrad is the following :

1) Same as your point 1e
2) Downsampling of the signal to either 8 or 11.025 kHz, using a
windowed-sync fractional resampler (see below for the rationale)
3) Take the FFT to convert it to frequence domain.
4) Manipulate the spectrum obtained with the FFT to obtain either the
USB or the LSB without resorting to the Hilbert transformer
5) Filter with the fast convolution method, using the overlap-and-save
approach, with a time-domain kernel of 1536 taps.
6) Take the inverse FFT and send the signal to the output. 

Why do I need (and you will need as well...) to use a fractional
resampler? If this world were perfect, and the sampling rate of audio
cards were as nominally specified, there would be no need for it. Then
you could sample at 48 kHz, decimate with a fixed factor of 6,
obtaining 8 kHz, and send these 8 kHz to the output card.

Unfortunately that is not the reality... the sampling speed of sound
cards often have errors even greater than 1%... the net result of this
is that you will have either buffer overrun or buffer starvation (read
: clicks) when producing and sending the 8 kHz buffers to the output
card... the remedy I have found to this (and if somebody has a better
idea, I am more than willing to hear it) is to use a FIFO in front of
the output card, where the buffers pass. I continuosly monitor the
degree of filling of this FIFO, and when I see that it is not optimal
I slightly change the decimation factor to keep it constant.

73  Alberto  I2PHD






 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/soft_radio/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/soft_radio/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to