80dB now but still needs improvement at 1KHz

Nov 04, 2024 Last reply: 1 year ago 45 Replies

Well, Bessel came up with his functions long before FM broadcasting. Ok you can use Carson's rule but Wikipedia says: "In 1922 he published a mathematical treatment of frequency modulation (FM), which introduced the Carson bandwidth rule." Which pre dates FM broadcasting.

While designing my circuit I found this document very useful:

formatting link
doesn't mention doing anything in a lab.

Reality is always different from models because models can never have everything that reality has. But this does not mean that models aren't useful. Simulation can do a lot to tell you you're going in the right direction. This can save a lot of time when you get to do it in reality.

My sync separators worked too, back when I needed one. They weren't quite like yours, I think I got an idea from Video Handbook by someone, I forget who.

Well you should. Anyone who claims to be a genius might as well be telling you that they aren't.

Just one more thing. Writing PC as peesee is fine if you're composing something like this:

formatting link
doing it repeatedly with every other word starts to make your perceived age go down.

It's interesting that the classic filters (Butterworth, Chebychev, Cauer) are based on mathematical approximations that pre-date electronics. They were used to compose tables for artillery or something.

But filters don't have to implement that math. One can Spice a filter and tweak it (say, to use available parts) to do whetever works for you.

An LC or active filter from the Williams or Lancaster books can be a starting point.

We discussed non-reflective LC filters here some years ago, and they were mostly hacked by simulation. The new Mini-Circuits absorptive filters have more theory behind them.

[...]

Chebychef did his calculations on the mechancal lnkages used to operate the valves of steam locomotives, generating linear motion and sharp movement from the superimposed effects of rotary motions.

Twin tee is what I was thinking of, indeed. Of course, it's essential to use carefully matched components of good quality. It would be fiddly, yes.

In some distant past, I've used a box we called a 'Null Detector' which did just that. You'd null out the fundamental, and what was left was the distortion. I don't recall if it was good enough for

-80dB though.

Jeroen Belleman

Did he indeed? Interesting. Do you perchance have a reference?

Thanks, Jeroen Belleman

I think the general idea is that if you truncate a power series, here is a better set of coefficients than just chopping off the infinite set.

That mattered when math tables were computed by hand. Nowadays, a computer can just use the first 150 terms.

One could use a good resistive divider to halve the signal amplitude. If the filter is linear, the THD shouldn't change.

Or add a bit of DC bias.

Ceramic caps can be awful.

"Selective Voltmeters" were cool. I think I still have an old HP.

That's a Russian (brute force) solution. Hamming windows are computationally cheaper.

Did someone ruffle your feathers?

I remembered reading about his work on steam engines several decades ago, but can't give you a reference. Apparently the maths he developed for sharp steam valve movement was later found to be applicable to electronic filter cutoffs as well. The linkages for linear motion were something I didn't know about until I looked it up on Wikipedia.

[...]

You needed a lot of space and good room acoustics to get the best out of them.

Bass-reflex looks good on paper but sounds horrible. The human ear hears the 6dB/octave roll off as 'natural' but with an unnatural 'honk' superimpose on it. Bass transients are coloured by the honk and give hang-over effects.

It may not matter for synthetic pop music, but bass-reflex speakers can give misleading results if they are used for monitoring acoustic music recordings.

Thanks. Mechanical linkages are interesting and fun and obviously useful. Have you heard of Theo Jansen's 'strandbeest'? Plastic pipe contraptions that 'walk' on the beach powered by wind. They are eerily life-like.

Jeroen Belleman

They can, but don't do that. Wasting computer time for using a lot of terms is just wasteful. Minimax polynomials and the likes (rational approximations) are used all over the place, thanks Tsjebisjof.

Groetjes Albert

Calculating a sine or a log to 15 significant digits wastes milliwatts. AI wastes gigawatts.

Your posts are getting ever more annoying and unreadable.

[...]

At 1 Kc/s, a distortion figure of 90dB represents one cycle in 10^9, so you would have to run it for 1000 seconds before the startup transient became insignificant.

"Liz Tuddenham" snipped-for-privacy@poppyrecords.invalid.invalid> wrote in message news:1r37pyc.1bodve2fz5t4wN% snipped-for-privacy@poppyrecords.invalid.invalid...

The startup transient was not included in the FFT but in any case the circuit has other issues so here is a circuit which works as intended. Harmonics are approaching 100dB down and 1k c/s is below 90dB. Simulate overnight then stop. It will be at about 250 seconds. Select roughly the last 50 seconds and FFT on current zoom extent. Number of data points may need increasing.

What reality would say is anybody's guess and it has been pointed out that real measurements 100dB down may not be meaningful.

We could probably have a discussion here about why c/s is better than Hz

Version 4 SHEET 1 2196 932 WIRE -64 -576 -96 -576 WIRE 48 -576 16 -576 WIRE 128 -528 112 -528 WIRE 208 -528 192 -528 WIRE 288 -528 272 -528 WIRE 368 -528 352 -528 WIRE 448 -528 432 -528 WIRE 528 -528 512 -528 WIRE 640 -528 592 -528 WIRE 640 -512 640 -528 WIRE -32 -464 -32 -480 WIRE 48 -448 48 -576 WIRE 48 -448 0 -448 WIRE -96 -432 -96 -576 WIRE -64 -432 -96 -432 WIRE 112 -416 112 -528 WIRE 112 -416 0 -416 WIRE 160 -416 112 -416 WIRE 208 -416 160 -416 WIRE 336 -416 288 -416 WIRE 400 -416 336 -416 WIRE 512 -416 400 -416 WIRE 624 -416 512 -416 WIRE -96 -384 -96 -432 WIRE -32 -384 -32 -400 WIRE 48 -368 48 -448 WIRE 336 -368 336 -416 WIRE 160 -352 160 -416 WIRE 400 -352 400 -416 WIRE 512 -288 512 -416 WIRE 624 -288 624 -416 WIRE -96 -272 -96 -304 WIRE -96 -272 -192 -272 WIRE -96 -240 -96 -272 WIRE 48 -240 48 -288 WIRE 160 -240 160 -288 WIRE 336 -240 336 -288 WIRE 400 -240 400 -288 WIRE -192 -176 -192 -272 WIRE -224 -128 -256 -128 WIRE -96 -128 -96 -160 WIRE -96 -128 -128 -128 WIRE -80 -128 -96 -128 WIRE 144 -128 -80 -128 WIRE 288 -128 224 -128 WIRE 352 -128 288 -128 WIRE 512 -128 512 -224 WIRE 512 -128 432 -128 WIRE -256 -48 -256 -128 WIRE -208 -48 -256 -48 WIRE -80 -48 -80 -128 WIRE -80 -48 -128 -48 WIRE 288 -16 288 -128 WIRE 288 -16 64 -16 WIRE 352 -16 288 -16 WIRE 512 -16 512 -128 WIRE 512 -16 432 -16 WIRE -256 0 -256 -48 WIRE 144 48 144 32 WIRE -272 96 -352 96 WIRE -208 96 -272 96 WIRE 64 96 64 -16 WIRE 112 96 64 96 WIRE 512 96 512 -16 WIRE 512 96 272 96 WIRE -32 128 -96 128 WIRE 112 128 -32 128 WIRE -352 144 -352 96 WIRE 624 144 624 -224 WIRE 656 144 624 144 WIRE 752 144 720 144 WIRE -208 160 -208 96 WIRE -32 160 -32 128 WIRE 112 160 64 160 WIRE 624 160 624 144 WIRE 624 160 272 160 WIRE 752 176 752 144 WIRE 144 224 144 208 WIRE -32 256 -32 224 WIRE 64 272 64 160 WIRE 160 272 64 272 WIRE 288 272 160 272 WIRE 400 272 352 272 WIRE 512 272 512 96 WIRE 512 272 480 272 WIRE 64 288 64 272 WIRE 160 288 160 272 WIRE 752 288 752 256 WIRE 880 288 752 288 WIRE 928 288 880 288 WIRE -352 320 -352 224 WIRE -352 320 -432 320 WIRE 928 320 928 288 WIRE -432 336 -432 320 WIRE -352 336 -352 320 WIRE -208 336 -208 224 WIRE -208 336 -352 336 WIRE -96 336 -96 128 WIRE 64 384 64 368 WIRE 160 384 160 352 WIRE 160 384 64 384 WIRE -352 416 -352 336 WIRE 64 416 64 384 WIRE -208 432 -208 336 WIRE 192 432 144 432 WIRE 304 432 272 432 WIRE 384 432 368 432 WIRE 928 432 928 400 WIRE 512 448 512 272 WIRE 624 448 624 160 WIRE 288 544 288 528 WIRE 384 560 384 432 WIRE 384 560 320 560 WIRE 624 560 624 512 WIRE 624 560 384 560 WIRE -96 576 -96 416 WIRE -48 576 -96 576 WIRE 32 576 -48 576 WIRE 144 576 144 432 WIRE 144 576 112 576 WIRE 192 576 144 576 WIRE 256 576 192 576 WIRE -352 592 -352 496 WIRE -272 592 -352 592 WIRE -208 592 -208 496 WIRE -208 592 -272 592 WIRE 432 592 320 592 WIRE 512 592 512 512 WIRE 512 592 432 592 WIRE 624 592 624 560 WIRE 704 592 624 592 WIRE -96 624 -96 576 WIRE -48 624 -48 576 WIRE 288 624 288 608 WIRE 512 624 512 592 WIRE 704 624 704 592 WIRE 432 640 432 592 WIRE 624 640 624 592 WIRE -96 736 -96 688 WIRE -48 736 -48 688 WIRE -48 736 -96 736 WIRE 432 736 432 704 WIRE 512 736 512 704 WIRE 512 736 432 736 WIRE 624 736 624 704 WIRE 624 736 512 736 WIRE 704 736 704 704 WIRE 704 736 624 736 WIRE -96 768 -96 736 WIRE 432 768 432 736 FLAG -432 336 0 FLAG 288 528 V+ FLAG 144 224 V- FLAG -272 96 V+ FLAG -272 592 V- FLAG 880 288 output FLAG 144 32 V+ FLAG 288 624 V- FLAG 432 768 0 FLAG -32 256 0 FLAG -32 -480 V+ FLAG -32 -384 V- FLAG -256 0 0 FLAG 400 -240 0 FLAG 160 -240 0 FLAG 64 416 0 FLAG 336 -240 0 FLAG -96 768 0 FLAG 192 576 dc-trim FLAG 640 -512 0 FLAG 48 -240 0 FLAG 928 432 0 SYMBOL voltage -352 128 R0 WINDOW 123 0 0 Left 0 WINDOW 39 10 135 Left 2 WINDOW 0 12 7 Left 2 WINDOW 3 15 104 Left 2 SYMATTR SpiceLine Rser=0.01 SYMATTR InstName V1 SYMATTR Value 6 SYMBOL res 496 256 R90 WINDOW 0 1 52 VBottom 2 WINDOW 3 33 45 VTop 2 SYMATTR InstName R11 SYMATTR Value 10.5k SYMBOL cap 352 256 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 35 30 VTop 2 SYMATTR InstName C8 SYMATTR Value 15n SYMATTR SpiceLine V=16 Irms=271m Rser=0.594318 Lser=0 mfg="KEMET" pn="C0603C153K4RAC" type="X7R" SYMBOL res 240 -144 R90 WINDOW 0 -1 46 VBottom 2 WINDOW 3 35 56 VTop 2 SYMATTR InstName R7 SYMATTR Value 6.34k SYMBOL res 448 -144 R90 WINDOW 0 -4 61 VBottom 2 WINDOW 3 39 55 VTop 2 SYMATTR InstName R8 SYMATTR Value 13k SYMBOL njf -128 -176 R90 WINDOW 0 -37 23 VRight 2 WINDOW 3 -9 -3 VRight 2 SYMATTR InstName J1 SYMATTR Value J112 SYMBOL voltage -352 400 R0 WINDOW 123 0 0 Left 0 WINDOW 39 10 135 Left 2 WINDOW 0 10 0 Left 2 WINDOW 3 15 104 Left 2 SYMATTR SpiceLine Rser=0.01 SYMATTR InstName V2 SYMATTR Value 6 SYMBOL res 48 272 R0 WINDOW 3 36 65 Left 2 SYMATTR Value 10.5k SYMATTR InstName R10 SYMBOL schottky 496 -288 R0 WINDOW 3 -17 -26 VRight 2 SYMATTR Value BAS40HY SYMATTR InstName D1 SYMATTR Description Diode SYMATTR Type diode SYMBOL res -112 -64 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R3 SYMATTR Value 82 SYMBOL OpAmps\\LT1994 176 128 R0 WINDOW 3 10 -65 Left 2 WINDOW 0 11 -95 Left 2 SYMATTR InstName U1 SYMBOL schottky 528 448 M0 WINDOW 3 52 -26 VRight 2 WINDOW 0 -18 3 Left 2 SYMATTR Value BAS40HY SYMATTR InstName D3 SYMATTR Description Diode SYMATTR Type diode SYMBOL schottky 640 448 M0 WINDOW 3 49 -26 VRight 2 WINDOW 0 -21 4 Left 2 SYMATTR Value BAS40HY SYMATTR InstName D4 SYMATTR Description Diode SYMATTR Type diode SYMBOL res 528 608 M0 WINDOW 3 25 87 Left 2 SYMATTR Value 220k SYMATTR InstName R16 SYMBOL res 720 608 M0 WINDOW 3 27 87 Left 2 SYMATTR Value 220k SYMATTR InstName R17 SYMBOL res -112 -256 R0 WINDOW 0 38 42 Left 2 WINDOW 3 36 66 Left 2 SYMATTR InstName R2 SYMATTR Value 1k SYMBOL res 320 -384 R0 WINDOW 0 -50 69 Left 2 WINDOW 3 -54 98 Left 2 SYMATTR InstName R13 SYMATTR Value 220k SYMBOL res 448 -32 R90 WINDOW 0 -4 61 VBottom 2 WINDOW 3 39 55 VTop 2 SYMATTR InstName R9 SYMATTR Value 1.07Meg SYMBOL res -80 -288 R180 WINDOW 0 40 70 Left 2 WINDOW 3 45 42 Left 2 SYMATTR InstName R1 SYMATTR Value 1k SYMBOL res -80 432 R180 WINDOW 0 36 76 Left 2 WINDOW 3 36 40 Left 2 SYMATTR InstName R5 SYMATTR Value 33k SYMBOL res 176 416 M90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R15 SYMATTR Value 220 SYMBOL res 16 560 M90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R14 SYMATTR Value 10k SYMBOL cap 176 352 R180 WINDOW 0 -37 41 Left 2 WINDOW 3 -50 13 Left 2 SYMATTR InstName C7 SYMATTR Value 15n SYMATTR SpiceLine V=16 Irms=271m Rser=0.594318 Lser=0 mfg="KEMET" pn="C0603C153K4RAC" type="X7R" SYMBOL cap 720 128 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C13 SYMATTR Value 100000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0.002 Lser=0 mfg="TDK" pn="C575OX5ROJI07M" type="X5R" SYMBOL res 736 160 R0 SYMATTR InstName R18 SYMATTR Value 600 SYMBOL res 192 -400 R270 WINDOW 0 35 55 VTop 2 WINDOW 3 -6 55 VBottom 2 SYMATTR InstName R12 SYMATTR Value 220k SYMBOL cap 176 -352 M0 WINDOW 0 -22 9 Left 2 WINDOW 3 -75 48 Left 2 SYMATTR InstName C6 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 416 -352 M0 WINDOW 0 -32 51 Left 2 WINDOW 3 -72 7 Left 2 SYMATTR InstName C10 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 368 448 M270 WINDOW 0 32 32 VTop 2 WINDOW 3 0 32 VBottom 2 SYMATTR InstName C9 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 416 640 R0 WINDOW 0 -37 6 Left 2 WINDOW 3 -77 53 Left 2 SYMATTR InstName C11 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 608 640 R0 WINDOW 0 -33 9 Left 2 WINDOW 3 -72 51 Left 2 SYMATTR InstName C12 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -224 160 R0 WINDOW 0 -22 9 Left 2 WINDOW 3 -79 48 Left 2 SYMATTR InstName C1 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -224 432 R0 WINDOW 0 -22 9 Left 2 WINDOW 3 -75 50 Left 2 SYMATTR InstName C2 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -16 224 R180 WINDOW 0 23 78 Left 2 WINDOW 3 -74 78 Left 2 SYMATTR InstName C4 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL diode -80 688 R180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D5 SYMATTR Value 1N4148 SYMBOL cap -64 688 M180 WINDOW 0 24 56 Left 2 WINDOW 3 24 8 Left 2 SYMATTR InstName C5 SYMATTR Value 1000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM032R60J105ME05" type="X5R" SYMBOL OpAmps\\LT1678 -32 -432 M0 WINDOW 0 -57 50 Left 2 WINDOW 3 -47 89 Left 2 SYMATTR InstName U2A SYMBOL diode 192 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D6 SYMATTR Value 1N4148 SYMBOL diode 272 -544 R90 WINDOW 0 58 31 VBottom 2 WINDOW 3 -28 34 VTop 2 SYMATTR InstName D7 SYMATTR Value 1N4148 SYMBOL diode 352 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D8 SYMATTR Value 1N4148 SYMBOL diode 432 -544 R90 WINDOW 0 58 27 VBottom 2 WINDOW 3 -27 31 VTop 2 SYMATTR InstName D9 SYMATTR Value 1N4148 SYMBOL diode 512 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D10 SYMATTR Value 1N4148 SYMBOL schottky 608 -288 R0 WINDOW 3 -16 -25 VRight 2 SYMATTR Value BAS40HY SYMATTR InstName D2 SYMATTR Description Diode SYMATTR Type diode SYMBOL res -80 -560 R270 WINDOW 0 33 55 VTop 2 WINDOW 3 -3 55 VBottom 2 SYMATTR InstName R4 SYMATTR Value 10k SYMBOL res 32 -384 R0 SYMATTR InstName R6 SYMATTR Value 10k SYMBOL diode 592 -544 R90 WINDOW 0 59 29 VBottom 2 WINDOW 3 -25 30 VTop 2 SYMATTR InstName D11 SYMATTR Value 1N4148 SYMBOL res 912 304 R0 SYMATTR InstName R19 SYMATTR Value 600 SYMBOL OpAmps\\LT1678 288 576 M0 WINDOW 0 21 -42 Left 2 WINDOW 3 25 24 Left 2 SYMATTR InstName U2B TEXT -448 632 Left 2 !.tran 0 1050s 50s startup

The startup transient of the FFT would have to be included, so that may set a limit to the accuracy of the simulation measurements. Even if you start on a zero-axis crossing, you will get spurious results because of the finite length of the sample.

This can be demonstrated by doing FFT on samples of fewer and fewer cycles from the middle of an apparently pure sinewave. As the sample length decreases, spurious harmonics begin to appear, even though they don't exist in reality.

[...]

I don't know if it is 'better' but it suits me - and nobody seems to have any difficulty understanding it. By using a descriptive term, rather than a commemorative one, beginners find it easier to understand as it sounds less like jargon intended to exclude the uninitiated.

(I have nothing against H.Hertz, it's just the principle that worries me).

[...]

I don't use Spice, so the rest doesn't convey anything to me.

Yes I understand that. It's actually a sinewave multiplied by a rectangular function. That's why I try to use a sample length of many tens of seconds. A window function might help but then I'd have to decide which window to use.

Yes that's why I sometimes prefer to use it.

I think it goes back to a time when some people thought they had more influence than they had, so we all had to use rectangular boxes for logic gates etc.

I don't currently have a lab to play in so LTSpice is useful but there's no knowing how close a model of reality it is.

[...]

An FFT implicitly connects the end of the recording back to the beginning. It's sufficient that the number of periods is integer.

Jeroen Belleman

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required