OSS mains HUM filtering 50Hz / 60Hz ?
smithi at nimnet.asn.au
Wed May 14 10:12:56 UTC 2014
On Wed, 14 May 2014 10:07:01 +0200, Hans Petter Selasky wrote:
> On 05/13/14 20:31, Hans Petter Selasky wrote:
> > Hi,
> > Some of my USB audio headsets seems to be picking up mains HUM even if
> > powered from battery. At first I thought the mains HUM came from the
> > computer, but then I did some work and I verified my findings by
> > sampling the AC network using a non-switching power supply. Maybe it
Hmm, by non-switching I suppose you mean via a transformer .. the ripple
quality won't necessarily be better than a switched supply; it's down to
the final filtering usually.
Any HV power lines or an electricity sub-station near you? (induction)
> > does not belong in the FreeBSD audio stack, but I think it would be very
> > clever to have a configurable band-reject filter in the FreeBSD DSP
> > framework for 50 and 60Hz? Do we have such a filter mechanism already?
> > Not sure if this is a so-called "feature" or not ... :-)
> > http://en.wikipedia.org/wiki/Mains_hum
> > http://www.selasky.org/hans_petter/hum.png
Are those units mV, or what?
> I tried the following patch with some success:
> === pcm/feeder_chain.c
> --- pcm/feeder_chain.c (revision 265912)
> +++ pcm/feeder_chain.c (local)
> @@ -721,7 +721,7 @@
> /* Soft EQ only applicable for PLAY. */
I'm wondering why Ariff chose to only apply it for playback?
> if (cdesc.dummy == 0 &&
> - c->direction == PCMDIR_PLAY && (d->flags & SD_F_EQ) &&
> + (d->flags & SD_F_EQ) &&
> (((d->flags & SD_F_EQ_PC) &&
> !(c->flags & CHN_F_HAS_VCHAN)) ||
> (!(d->flags & SD_F_EQ_PC) && !(c->flags &
cdesc.use_eq = 1;
Can you give a quick pointer to the actual EQ code (just curious as to
how it's done, having just taken the pcm code on faith so far).
> And setting:
If that turns out to be a real solution to this problem, might we then
need separate en/disabling of PLAY and REC eq?
Here I'm directly generating 24-bit wave files, some of which are around
50Hz (plus harmonics), and some occasionally as low as ~22Hz, so I need
specifically to not suppress these on playback, though finding amps or
headphones that don't dampen these freqs too much can be fun ..
More information about the freebsd-multimedia