Bit of IQ

May 30, 2019 23 Replies

There is a very old way to generate SSB using 90 degrees phase shifted audio and 90 degrees phase shifted RF.



Found old circuit on the web for 90 degrees audio phase shift, modified it a bit:

formatting link



1% capacitors, and 1% resistors made with trimpots:
formatting link
formatting link

Stereo or mono in, + and - 45 phase shifted audio out.


I like to build things in little modules so I can just connect things together for experiments, just like using pipes in Unix / Linux.



It is working, still a bit of crud in the audio, laptop output audio is not so clear, ground loops, whatever, no screening whatsoever.



The 90 degrees shifted audio signal goes into my DVB-S modulator:

formatting link



All controlled by a Raspberry Pi computer that is again controlled by the laptop via ssh.



Will need to make a switch or break it up into more modules, so now I can select between DVB-S TV and SSB audio transmit mode.

formatting link



You can select double sideband suppressed carrier by using in phase audio signals (short the inputs):

formatting link
or SSB:
formatting link


That circuit, with design tables, is in the Williams filter book. Unfortunately, the outputs differ by 90 degrees but are not +-45 relative to the input. They squirm all over the place.

John Larkin Highland Technology, Inc lunatic fringe electronics

I guess it's like the phase sequence filter (PSF). That just keeps wrapping the phase around and around... The step response (of PSF) is a weird beast.

George h.

On a sunny day (Thu, 30 May 2019 07:50:49 -0700) it happened John Larkin wrote in :

Yes, it shifts a bit, but for audio it makes litte difference I think. Nice circles on the analog scope :-)

On a sunny day (Thu, 30 May 2019 17:25:05 GMT) it happened Jan Panteltje wrote in :

PS you can make those test sweeps in Linux with 'sox':

create sweep wave file: sox -V -r 48000 -c 2 -b 24 -n sweep.wav synth 10 sine 240:2400

continuously play sweep wave file: while [ 1 ] ; do play sweep.wav ; sleep 1 ; done

or create one tone: sgen -s 48000 sin 2400

If you look at the xy circle on the scope you will easily see any phase or amplitude changes.

To be causal, the output has to be delayed from the input at least the time of a quarter wave at the lowest frequency to be handled, usually longer.

-TV

For audio, or SSB generation, absolute phase doesn't matter. We make an IQ modulator box to simulate eddy-current transducers, and absolute phase "absolutely" matters.

The box that makes a true wideband 90 degree shift is a Hilbert transform, which sadly is impossible. It's non-causal, like an ideal lowpass filter; its output impulse response begins before the input.

John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

You can make narrowband ones that work pretty well. The major problem with wideband ones is that both the central spike and the long tail of the impulse response have infinities.

Cheers

Phil Hobbs

Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics Briarcliff Manor NY 10510 http://electrooptical.net http://hobbs-eo.com

Like a lowpass, you can approximate the ideal transfer function, but it adds delay. That's an oxymoron for a phase shifter.

We could cheat and add a PLL or something to shift our "RF" input, assuming that a transducer excitation is going to be pretty constant.

John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

** None of the links here work for me.

WTF ?

..... Phil

Or else calibrate the filter and fix it in software.

Cheers

Phil Hobbs

Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics Briarcliff Manor NY 10510 http://electrooptical.net http://hobbs-eo.com

Huh, the impulse response... I'll try that next time I'm testing a lockin. (where I use the PSF... missing a few cycles in a lockin hardly matters if you're averaging over hundreds. :^)

George H.

One of the things I like about our I/Q box is that it's 100% analog. That's nice once in a while.

John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

About 50% of our output is all-analogue, but that number is going down a bit on account of auto-tweaking and interface issues. We really like the LPC804 and LPC845 Cortex M0+ for low-level stuff. The 804 has a reasonable amount of FPGA fabric--about the same as a CPLD costing twice as much, not even counting the M0+ core.

Cheers

Phil Hobbs

Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics Briarcliff Manor NY 10510 http://electrooptical.net http://hobbs-eo.com

On Thursday, May 30, 2019 at 1:46:14 PM UTC-7, Phil Hobbs wrote: [about 90 degree phase shift]

If you're using a narrowband source, an LC tank oscillator for instance, a low-Z probe (current transformer) on current and high-Z probe (FET follower) on voltage gives you the two phases. No filter required, no time delay.

The logical problem, is that a wideband source (white noise) has no well-defined phase until you sample it for a while, then FFT it. Then call the resulting mish-mash a 'spectrum' for which each frequency has an associated phase. Time delay is well-defined on a random source, but phase shift isn't.

All links working OK here (Linux Mint & Pale Moon browser). Are you getting an error message or just nothing happening?

Jeff

There's not much logic in that one!

We're about ready to pick a new generation of uPs and FPGAs, and there are lots of opinions here. I'm leaning towards using ZINQs. We already use the 7020, a $125 monster with two ARM cores that usually runs Linux. We need a lower-end part, and I'm thinking Zynq 7007, 400 balls, single 760 MHz ARM core and 23K logic cells. That's under $50 in quantity. Hardware float is nice.

Some people here favor a soft core CPU inside an FPGA, but that needs a new tool chain and gobbles valuable FPGA RAM. No hardware FP, probably.

Lattice and Altera have some low-end SOCs too. We tried to run the Lattice tools but couldn't get past FlexLM.

John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

I'm using an RC 45-deg lead into one side of a diff-in multiplier, and another RC 45 lag into the other. Four parts makes 90 degrees shift and gain=1. It's pretty good over a modest frequency range.

John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

fredag den 31. maj 2019 kl. 19.55.48 UTC+2 skrev John Larkin:

those prices sound high, you can get a whole board for about that

formatting link
formatting link

they don't have any in stock but LCSC quoted us Zynq 7020 for about half of the digikey price

No, it's just a couple of dozen LUTs, but that's enough to offload some task that needs hardware timing and is annoying to do with counter/timers--stuff where several things need to happen with very consistent timing, and you'd otherwise need external glue logic.

ARM Cortexes have good interrupt timing, but their latency varies a bit--12 cycles from mainline code, but only 8 from another handler.

The 804 doesn't have that much flash, so you can't use it for super complicated stuff, but it's a very nice chip for what it is.

IIRC there's a full open-source toolchain for Lattice.

Cheers

Phil Hobbs

Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC / Hobbs ElectroOptics Optics, Electro-optics, Photonics, Analog Electronics Briarcliff Manor NY 10510 http://electrooptical.net http://hobbs-eo.com

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required