I am using a BUF634P Buffer (Datasheet) to drive a wideband ultrasonic transducer. The impedance of the transducer varies with frequency and reaches a minimum X = 100 Ω, while its resistance (calculated using calibration information) can reach a low of R = 20 Ω. The BUF634P datasheet states that it can ouput 250 mA max. The transducer will be driven with signals ranging from 5 kHz to 400 kHz.

I would like to know what is the peak voltage (of the sinusoidal signals) I can use to drive an ultrasonic transudcer, given this buffer. Is is as simple as applying Ohm's Law using the lowest impedance value of the transducer?

  • \$\begingroup\$ You need to know the impedance across the range of frequencies in order to calculate the current but, as to whether this is adequate for your needs is up to you to decide. \$\endgroup\$
    – Andy aka
    Sep 24, 2021 at 11:08
  • \$\begingroup\$ What voltage are you driving it with? \$\endgroup\$
    – winny
    Sep 24, 2021 at 11:10
  • \$\begingroup\$ I do have impedance infromation across the frequencies, I am mentioning the lowest one that occurs (at resonance) as that will be the point where max current is drawn. \$\endgroup\$
    – Rhodes
    Sep 24, 2021 at 11:11
  • \$\begingroup\$ Ideally I would like to use a driving voltage of 20Vpk-pk. \$\endgroup\$
    – Rhodes
    Sep 24, 2021 at 11:22
  • \$\begingroup\$ You should be able to use the buffer on a +/- 15 volt supply and drive +/- 10 volts peak into a load that takes no more than +/- 150 mA (as per the data sheet). \$\endgroup\$
    – Andy aka
    Sep 24, 2021 at 13:02

2 Answers 2


A SPICE simulation would tell you this information. Figuring this out by hand is not pleasant because the impedance is complex and varies with frequency. In LTspice and PSpice, you can run an .AC analysis with the transducer's admittance numbers placed in a table. PSpice and LTspice will interpolate these number appropriately. From that, you can probe what sort of drive current is required over the operational frequency range.

You need the complex admittance (conductance & susceptance) versus frequency data for your transducer. Reputable manufacturers can give you a table of this data. If not, measure this using an impedance analyzer like the HP4194A when the transducer is immersed in it's proper medium. Beware of reflections from walls which will give a visible ripple to the admittance data (don't aim the transducer normal to a wall).

If you have sensitivity data (transmit voltage sensitivity, or TVR) you can add this to your simulation. If you don't have TVR data, eliminate it from the simulation (delete X2).

The following is an example of how you can use LTspice to simulate your circuit. Modify as necessary. This concept also works in PSpice. Two subcircuits are used to mimic the admittance (impedance if you like) and sensitivity of the transducer. You can omit the sensitivity portion if you're only interested in looking at drive requirements.

enter image description here


  • The various blocks and subcircuits are external files described below.
  • Node vt = voltage across the transducer.
  • Node SL = acoustic source level.
  • Component L1 is a series tuning element. You can omit L1 if it doesn't fit in with your circuit topology.

X1: Generic Admittance versus Frequency Subcircuit (Filename: XdcrZ.sub)
The 3-lines of data shown in the table is just an example.You need to fill in the table with your transducer admittance data.

*Subckt simulates xdcr admittance
*Data format: Freq(Hz)  G(mhos)  B(mhos)
G1 2 1 FREQ {V(2,1)}= R_I (
+ 100000     2.680520E-04    1.017132E-03
+ 100250     2.711300E-04    1.019504E-03
+ 100500     2.741840E-04    1.022642E-03
+ )

X2: Generic Transducer Sensitivity versus Frequency Subcircuit (Filename: XdcrTvr.sub)
The 3-lines of data shown in the table is just an example. You need to fill in the table with your transducer sensitivity data.

*Subckt simulates xdcr TVR
*Data format: Freq(Hz) TVR(dB)  0
.SUBCKT XDCRTVR out+ out- in+ in-
E1 out+ out- FREQ {V(in+,in-)}= DB (
+ 130e3   182.2  0
+ 135e3   183.6  0
+ 140e3   184.3  0
+ )

LTspice Symbol for X1 (Filename XdcrZ.asy)

Version 4
SymbolType CELL
LINE Normal -32 32 -32 -32
LINE Normal 32 32 -32 32
LINE Normal 32 -32 32 32
LINE Normal -32 -32 32 -32
LINE Normal 0 -32 0 -48
LINE Normal 0 32 0 48
TEXT 0 0 Center 2 Z
SYMATTR SpiceModel XdcrZ
SYMATTR Description Transducer complex admittance subcircuit
SYMATTR ModelFile XdcrZ.sub
PIN 0 -48 LEFT 8
PINATTR SpiceOrder 1
PIN 0 48 LEFT 8
PINATTR SpiceOrder 2

LTspice Symbol for X2 (Filename: XdcrTVR.asy)

Version 4
SymbolType CELL
LINE Normal -48 32 -48 -32
LINE Normal 64 -32 64 32
LINE Normal 64 -32 -48 -32
LINE Normal -48 32 64 32
LINE Normal -48 16 -64 16
LINE Normal -48 -16 -64 -16
LINE Normal 64 -16 80 -16
LINE Normal 64 16 80 16
TEXT 10 46 Center 2 TVR
SYMATTR SpiceModel XdcrTVR
SYMATTR Description Transducer TVR subcircuit
SYMATTR ModelFile XdcrTVR.sub
PIN -64 -16 LEFT 20
PINATTR PinName in+
PINATTR SpiceOrder 3
PIN -64 16 LEFT 20
PINATTR PinName in-
PINATTR SpiceOrder 4
PIN 80 -16 RIGHT 20
PINATTR PinName out+
PINATTR SpiceOrder 1
PIN 80 16 RIGHT 20
PINATTR PinName out-
PINATTR SpiceOrder 2

The subcircuit syntax is described in the PSpice Reference Guide under voltage-controlled voltage source and voltage-controlled current source. LTspice does not have any information on using tables in E & G devices, but LTspice is compatible with most PSpice syntax. You can also mimic the transducer impedance using impedance numbers which can be found on the Internet. If you are given complex impedance numbers, going to admittance is simply taking the complex reciprocal, \$\; Y = {1/Z}\$.

Of course, if you have the actual transducer, you can measure this all on the bench.


First of all, remember that the 634P is in end of life. The A part is the current one (usually they are simply improved but check the differences). Also be careful of your supply values, at full power it can only reach 2.5V to the rails.

At the recommended -15…+15V dual supply this is enough for your 20VPP output signal. ±12V is not, you would be banging against the ceiling:P also this amp is not quite unity gain, it loses a bit; from the datasheet with a low impedance load I'd expect G=0.9. Don't worry this discrepancy usually is swamped by transducer tolerances.

I'm looking at the A datasheet and output impedance (at DC!) is 5 ohm; that's a good start.

The resulting (theorical) circuit is almost trivial, but transducers are all but linear.


simulate this circuit – Schematic created using CircuitLab

I used the 'square' resistor for the load since it's a complex impedance. Most probably you'll have a main resonance with a mostly real 20 ohm resistance (plus some spurious body capacitance, usually, especially for piezo transducers) and sweeping in frequency you'll see some variations. It all depend on the transducer design.

Many common ones (like the distance meters) are strictly designed to operate at their own resonance (often 400kHz), others are wideband; your datasheet hopefully states that.

In the simplest case you are correct, you simply apply the ohm theorem. Also any similarity of the schematic with the maximum power transfer theorem is deliberate since that's actually what you want (maximum power to the transducer gives maximum mechanical energy). Depending on your application you may want to impedance match the transducer. A full 2 decade match (4kHz to 400kHz) usually is not easy.

Assuming 10V on the output (from 10V on the buffer input), 20 ohm of load plus 5 ohm of internal resistance would give 400mA of current. That's bad, the amp would be overloaded and overheat and do not-good things. As in, 800mW of dissipation on the amplifier.

So, no 20Vpp for this application. At 20 ohm load you can reach at most 13Vpp (straight from ohm law) with no power margin left on the amplifier.

Out of resonance you have the reactive impedance too: it's still ohm law but with phasors.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.