Strong low-pass filter

That depends on how you actually implement the filter. To some extent it's the wrong question: for audio folks have pretty much decided that its better to use a minimum phase filter (which would cause huge phase wingwazzles close to the filter cutoff) rather than a linear phase filter (which is the "easy" way to do an FIR filter) because the linear phase filter causes "pre ringing".

But no matter what, you'd have latitude for playing around with the phase response as well as the amplitude response.

--
My liberal friends think I'm a conservative kook. 
My conservative friends think I'm a liberal kook. 
Why am I not happy that they have found common ground? 

Tim Wescott, Communications, Control, Circuits & Software 
http://www.wescottdesign.com
Reply to
Tim Wescott
Loading thread data ...

There are four parameters to play with in filter design: Complexity, steepness, ringing and delay. To improve on one, you'll have to sacrifice some or all of the others. That's true for the analog as well as for the digital domain, although for the latter domain, you can go to a degree of complexity that's undreamed of in the former.

The world is full of compromise, as the OP will soon find out, no doubt.

Jeroen Belleman

Reply to
Jeroen

150 dB is equivalent to the headroom between the human threshold of hearing, and a jet engine 100 feet away.

Some years ago, one poster on one of the audio newsgroups proposed that digital audio (including the delivery-to-the-home media) should be designed to use 32-bit numbers, "just to make sure".

I did a bit of back-of-the-envelope calculation, and concluded that if you set the LSB to deliver energy some distance below the random noise generated by the thermal collision of air molecules with the eardrum, then a full-scale signal for a brief period would be distinctly hazardous to the listener's health. It would be louder than a stun grenade and approaching the point at which you stop getting sound and start getting shock waves (pressure peaks > 1 atmosphere, valleys all the way down to vacuum).

The commercial utility of this much dynamic range in consumer-audio applications hasn't really been established, IMO :-)

--
Dave Platt                                    AE6EO 
Friends of Jade Warrior home page:  http://www.radagast.org/jade-warrior 
  I do _not_ wish to receive unsolicited commercial email, and I will 
     boycott any company which has the gall to send me such ads!
Reply to
Dave Platt

While the 48 --> 44.1 kHz conversion definitively needs some low pass filtering, why would the 44.1 -- > 48 kHz need any anti-aliasing filtering ?

Reply to
upsidedown

On a sunny day (Thu, 14 Feb 2013 20:04:44 +0100) it happened Jeroen wrote in :

wrote

formatting link

It all depends.

Yes, I am reading a very nice paper ATM, Google: CuteSDR101.pdf

Just tried one of his filter design programs, general purpose FIR, page 117, code on page 119 and 120, rewrote it in C, his code actually works (unlike most of the rest of the universe) I think this is the best tutorial I have seen do far online.

Reply to
Jan Panteltje

I poorly know to answer to you, but I noticed that the best results in the resampling 44.1 -> 48 in Foobar 0.9 gives the SSRC in "ultra" mode. In this case the edge is the steepest. Aliasing bandwidth (22050 .. ~

22,055) is only a few Hz. I think the slope is probably important.
formatting link
Reply to
pw

On a sunny day (Thu, 14 Feb 2013 20:06:43 GMT) it happened Jan Panteltje wrote in :

universe)

Think I should then publish that code: Kaiser-Bessel Filter Design Method for Windowed Lowpass FIR Filter:

formatting link

compile with: gcc -o filter_calc filter_calc.c -lm

then run: ./filter_calc 1.0, 60.0, 1000.0, 2000.0, 10000.0

test vectors, see above mentioned pdf. panteltje: ~/compile/pantel/sdr_test # ./filter_calc 1.0, 60.0, 1000.0, 2000.0,

10000.0 m_Coef[0]=-0.000343 m_Coef[1]=-0.000244 m_Coef[2]=0.000841 m_Coef[3]=0.002339 m_Coef[4]=0.002104 m_Coef[5]=-0.001614 m_Coef[6]=-0.006999 m_Coef[7]=-0.008163 m_Coef[8]=-0.000000 m_Coef[9]=0.014483 m_Coef[10]=0.022261 m_Coef[11]=0.009405 m_Coef[12]=-0.023284 m_Coef[13]=-0.052059 m_Coef[14]=-0.041157 m_Coef[15]=0.030522 m_Coef[16]=0.146640 m_Coef[17]=0.255488 m_Coef[18]=0.300000 m_Coef[19]=0.255488 m_Coef[20]=0.146640 m_Coef[21]=0.030522 m_Coef[22]=-0.041157 m_Coef[23]=-0.052059 m_Coef[24]=-0.023284 m_Coef[25]=0.009405 m_Coef[26]=0.022261 m_Coef[27]=0.014483 m_Coef[28]=-0.000000 m_Coef[29]=-0.008163 m_Coef[30]=-0.006999 m_Coef[31]=-0.001614 m_Coef[32]=0.002104 m_Coef[33]=0.002339 m_Coef[34]=0.000841 m_Coef[35]=-0.000244 m_Coef[36]=-0.000343 m_NumTaps=37

So there is your lowpass...

Reply to
Jan Panteltje

This is the SSRC (44,1-->48kHz) in "LOW" mode:

formatting link

Reply to
pw

That is simple. Do you have money?

Don't need DSP processor. Need PC computer. With DVD disc.

The easiest way is ask someone who has a clue.

VLV

Reply to
Vladimir Vassilevsky

Vladimir Vassilevsky pisze:

This must be realized without PC.

Reply to
pw

Good job, George.

What I meant was can you measure and see the difference between -130db and -150 db. Also "(-0.1 dB/20kHz, -150dB/22050Hz)" I read that as; I want a filter with a passband loss of 0.1db at 20Khz and at 20.2050Khz I want the signal down 150db.

Do I understand the spec?

I don't think my neighbors TV horizontal osc. output is down 150db at my house 100ft away. :-)

Reply to
amdx

Perhaps its better to say that in the analog world the complications that come with a more complex filter tend to compound much more quickly than with digital filters.

I've run across enough information about military hardware from the

1960's and 1970's to know that they were routinely implementing analog signal processing chains that were undreamed of anywhere else (and taking up lots of space and spending a lot of money to do it, too).
--
My liberal friends think I'm a conservative kook. 
My conservative friends think I'm a liberal kook. 
Why am I not happy that they have found common ground? 

Tim Wescott, Communications, Control, Circuits & Software 
http://www.wescottdesign.com
Reply to
Tim Wescott

kek

Big grin.. of course I was just making a joke. Personally I'm not sure I can measure -130 or -150 dB. I've got a spendy SRS770 that has ~90dB of dynamic range.

George H.

Reply to
George Herold

Thanks for the heads-up on that document, Jan, it's really nice! I'm surprised (and a bit annoyed) that I haven't run across it before.

For what it's worth I've collected a lot of LGPL/BSD/MIT-licensed filter implementations in one library here:

formatting link
, with prototypes in dsplib.h. It has another Kaiser FIR generator implementation -- specifically my C translation of the Java code at dsptutor.freeuk.com, now apparently deceased.

Anyway, check out the routines in that zipfile if you plan to go much farther down that path.

-- john, KE5FX

Reply to
John Miles, KE5FX

I had a neighbor who would leave their TV on 24/7 in the days stations went off the air for a few hours at night. It was almost a half mile away, but would wipe out my WWVB receiver. as a harmonic drifted through the 60 KHz signal.

Reply to
Michael A. Terrell

On a sunny day (Thu, 14 Feb 2013 18:34:06 -0800 (PST)) it happened "John Miles, KE5FX" wrote in :

Thanks. I see the Makefile is for MS windows, I will look a bit at the sources. While looking at that I did see 'remez' mentioned, and I am sure I have on some PC an open source filter program named like that, so I did a 'locate', not on this PC, but I see scilab also has some things on remez. I am very impressed by your site, looked bit around, and am 'stunned' ?? LOL by that Tesla project :-)

formatting link
Guys you should see that :-)

Reply to
Jan Panteltje

The resolution of digital representations isn't all about the analog dynamic range. Signal processing does calculations which often require rounding of results. So noise is introduced which is proportional to the resolution of the numbers used, but not necessarily equal to that resolution. If you perform N successive rounding operations which are uncorrelated, you can expect to see N/2 lsbs of noise to be added. Depending on the processing being done, this can add up to the loss of several equivalent bits. So the idea of going beyond 24 bits is not obviously absurd.

However, the proof of the pudding is in the eating. I remember years ago a friend showed me with a simple A/B comparison how poor cassette tapes were, even with Dolby noise reduction and all the other bells and whistles. I've yet to hear the difference between a 16 bit CD recording and any other representation.

At some point you are much more limited by the rest of the system I think. Can we make mics and speakers with under -120 dB of distortion and noise? What about ears? Sometimes I can't get past the accents on Downton Abbey. I need the direct digital signal of closed captioning.

--

Rick
Reply to
rickman

There are some "DSP for the rest of us" chips out there that are just for filters and other simple DSP apps like this one. I'm not sure they are equipped for 150 dB noise floors, but you might give them a try. They include a stereo ADC and DAC and a processor that runs your code on each sample. The programming is designed in diagrams using precoded blocks and of course, the tools are all free. TI and Analog Devices both make these type of parts. I think the AD parts are called SigmaDSP and the TI parts are miniDSP or digital audio processors. Both companies seem to prefer larger volume customers.

I'm not sure what you are talking about here. How did you achieve your sample rate? A signal sampled at Fs only has meaningful content at 0 to

0.5 Fs. All content above 0.5 Fs is the aliased content below 0.5 Fs. If you are talking about a signal that is sampled at one rate and will be decimated before being sent to the ADC at a lower sample rate, then there may be content in the initial signal that will be aliased during the decimation. It would be useful to remove that content to prevent the aliasing. Is that what you mean?
--

Rick
Reply to
rickman

Oh, I agree... signal-processing math ought to be done with oodles and oodles of bit-width, all the way through the math pathway. Then, do a proper dithered-and-shaped truncation to your final delivery resolution... that way you've only got one new set of significant quantization noise to dither away.

It's the idea of trying to actually deliver content to the consumer at

32 bits, and pretend that the lower bits are meaningful, which I found amusing.

Well, CD can certainly be done badly... by making just the sorts of mistakes you're alluding to!

Agreed!

--
Dave Platt                                    AE6EO 
Friends of Jade Warrior home page:  http://www.radagast.org/jade-warrior 
  I do _not_ wish to receive unsolicited commercial email, and I will 
     boycott any company which has the gall to send me such ads!
Reply to
Dave Platt

Early (classical music) digital recordings were made with ADCs operating directly at 44.1 or 44.056 kHz, which were not necessary monotonous and sometimes without proper dithering. They needed a very complex analog LCR anti-alias filter, with horrible phase response. any digital processing was done with 16 bits, truncating any fractional bits at each stage.

Of course, these early recordings could sound really bad.

Nominally 24 bits and up to 192 kHz sampling rate ADCs actually have

120 dB (20 bit) dynamic range _measured_ with 0-20 kHz bandwidth.

Of course it would be nice to plug any microphone (with unknown sensitivity) into any input channel without having to use any noisy and unreliable potentiometers (at least after longer usage) and do all the processing in digital domain.

IMHO, 16 _active_ bits is more than sufficient, i.e. linear 16 bits for low dynamic range popular music and for classical recordings, some MSB compression (in 1 ms - 1 s range) would be sufficient.

Reply to
upsidedown

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.