[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linrad] Interlaced samples ("thinning out"); Re: [linrad] Re: 40 kHz of bandwidth with NO extra PCI-cards; adapting output sampling (CPU-load); optimum frequencies; Mini-ITX

Sirs Joe, Frank and Leif!

Thanks for the comments. At least there seem to be several ways for
the reduction of unnecessary calculations in the output process. When
writing the initial question, I gave myself two options for a brute
force approach: either fit the calculated value in subsequent slots
to end up with the equivalent of a slower D/A-converter, or secondly:
treat the one sample separated by a dead baseline as a current impulse
to be filtered subsequently using analog circuitry. Given the apparent
simplicity (minimum "transactions") of the latter, I chose for the
sparse case of the "lonely pulse" (opting for an "intuitive risk").

As it is more than 20 years ago that I have gone through the math and
comparison of different pulse shapes, I'm not quite up-to-date with
the detailed spectra of the various pulses. It is true that digital
signal processing sometimes needs to do the math right down to the
N-th decimal, to yield satisfactory results. However, again there
is a funny paradox when observing the requirements for the accuracy
of the full chain. If one looks at "real-world" pulse shapes at the
output of a D/A-convertor (before final filtering), then it is often
a miracle how good the quality of the analog signal sounds, despite
the fact that the D/A-output does not even remotely resembles any
neat known mathematical function (talking about old observations).

Anyway there is plenty of ready available information to get these
things right without too much guesswork or re-invention. However,
it is fun to bring one's private reference up-to-par with present
state-of-the-art technology, at least to attempt to do it.

My first priority is to support Leif's intent to facilitate the
spreading of 'Linrad' technology, while allowing it to work with
minimum cranking power and simplest possible expansions. Motive
for that is to be heard during relatively weak signal sessions,
as we are limited in power by the terms of our 50 MHz licenses
(and with the additional satisfaction of being able to play on the
brightest edge of "seemingly impossible" technological solutions).

                                       73, "Zaba"  OH1ZAA/2

At 09:27 1.5.2005 -0400, AB2KT wrote:

Joe is on the mark here, with one small side observation.

Historically speaking, this is one-half of a common technique for upsampling: emit the sample followed by N zeros. The missing half of the technique is an IIR filter processing that output. Unfortunately this saves you essentially nothing since the proper IIR filter is high-order. It's mostly useful when the data to be upsampled have been pre-computed and the filtering is the only processing to be done.

I think I may have some code written by Ken Stieglitz lying around here, that computes the coefficients of the optimal elliptic filter for this task. I can dig it up if anybody's interested. There are better methods, however; it's basically obsolete at this point.


Joe Taylor wrote:
'Zaba' OH1ZAA wrote:

... Since most boards and integrated audio have coupled sampling
rates (48000/48000), would it be possible to prepare the D/A-output
bit-streams with modifications that could alleviate the workload of
the CPU? More specifically: would it be feasible to replace output
samples with strings of plain zeros thus mimicking 6000 and 8000 Hz
output rates? Example: output rate 48000 Hz, target 8000 Hz >>>>
calculate Lagrange-interpolation, feed to D/A-converter, fill next
5 samples with plain "0", then calculate the new D/A-output value.
Thus effective output rate will fall to 8000 Hz. Possibly the only
side effect with regular audio would be that the output level will
drop accordingly (and maybe an extra output filter is needed).

Audio produced this way would sound *terrible*. Much better would be to compute proper values at, say, an 8 kHz rate and output each value 6 times to make up the 48 kHz sample rate. With a 3 kHz outboard low-pass filter, I think that should sound pretty good.
                -- 73, Joe, K1JT

This message is sent to you because you are subscribed to
 the mailing list <linrad@xxxxxxxxxxxxxxxxxxxxx>.
To unsubscribe, E-mail to: <linrad-off@xxxxxxxxxxxxxxxxxxxxx>
To switch to the DIGEST mode, E-mail to <linrad-digest@xxxxxxxxxxxxxxxxxxxxx>
To switch to the INDEX mode, E-mail to <linrad-index@xxxxxxxxxxxxxxxxxxxxx>
Send administrative queries to  <linrad-request@xxxxxxxxxxxxxxxxxxxxx>