[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fast computers.
- Subject: Re: Fast computers.
- From: Leif Asbrink <sm5bsz.com; leif@xxxxxxxxxxxxxxxx>
- Date: Wed, 12 Mar 2008 09:55:50 +0100
Hello Joe,
> Perhaps I have been overly naive in my thinking, and I have
> not done anything to try out these ideas ... but I have long
> thought it would be handy to be able to use my Delta44 for
> Linrad's sound output as well as input. I understand that
> this would mean an output sample rate of 96000 Hz in my case
> -- an order-of-magnitude greater than necessary for CW or
> SSB audio output. But simple external (analog) filtering
> could always be applied to remove the high-audio-frequency
> spurs created by simple-minded "upsampling" or the data.
>
> As an extreme example, could you not pretend that the output
> sample rate will be 12000 Hz, and then just output each
> sample 8 times in succession to the sound card? Or do a
> simple linear or second-order interpolation? The generated
> spurs would mostly be at much higher frequencies than those
> of interest? Would this be workable?
Yes:-)
This is similar to what Linrad-02.44 is doing. The baseband
is typically sampled at a rate of four times the user-selected
bandwidth. This rate is a power of two below the input rate.
As a first step the fractional resampler converts the baseband
to a frequncy above 7 kHz. Now no longer looking up sin() and cos()
for each sample but instead a complex multiplication to get the
phase angles needed for the BFO.
The second step now is to up-sample from the fractional resampler
to whatever the user specified with a linear interpolation just
as you suggest:-) There will be some distortion, but it falls
above 3.5 kHz fow narrowband signals and higher for SSB and I do
not think it will be any problem.
Up to 02-43 linrad uses the fractional resampler at the full
DA frequency with Lagrange's interpolation formula to fit a
third degree polynomial to 4 points. Each point is then phase
twisted to incorporate the BFO with a cos() and a sin().
There is actually no problem at 48 kHz, but something
like 30% of the total load on the CPU comes from this.
At 96 kHz I would guess 50% of the total CPU load would come
from the up-sample process but that would still be OK on a
Pentium IV unless you want it to do other heavy things at
the same time.
73
Leif / SM5BSZ
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Linrad" group.
To post to this group, send email to linrad@xxxxxxxxxxxxxxxx
To unsubscribe from this group, send email to linrad-unsubscribe@xxxxxxxxxxxxxxxx
For more options, visit this group at http://groups.google.com/group/linrad
-~----------~----~----~----~------~----~------~--~---
LINRADDARNIL