I searched for information on digital 40kHz ultrasonic parametric speakers. While most open sources do mention that you need some modulation, what type of modulation and how it does so is hardly ever discussed.

Since I want to understand how it works and make something not completely from a existing design I wondered What kind of modulation does it use and how does it need to be modulated?

I found people saying it is demodulated by the surface it hits, so my guess is it works kind of like digital audio RC filter based ultrasonic PWM for volume regulation (so it would be digital AM (1 and 0)).

For simplicity I will now assume digital audio with no difference in volume.

To be exact, how I estimate it works right now is that there is a main frequency on 40kHz and that that 40kHz signal would be turned on and off by the lower frequency audio signal. Then this will generate a virtual sound wave at the audio signals frequency.

Is this understanding of it right or does it use another principle, and if so would the method I described be realistically seen possible and why/why not?

My idea was to make the world's simplest ultrasonic parametric speaker which would use a +-40kHz square wave generator (1), and then that signal is connected to a transistor which is either on or off, this transistor will turn on and off depending on the values it gets from the audio. would this work. My other idea to add to it was to use a 3 component which would add volume control by playing a PWM at a frequency far above the 40kHz, for example at something like 400kHz, this is on the assumption that this will work like a volume control since the ultrasonic transducer is rated at 40kHz+-2kHz, so adding this higher frequency won't be picked up by the transducer and instead will be like the voltage is changed.

Are my estimations on how it works around right? If not, how do they work or what would be a better aproach?

1->(microprocessor or something like a 555 or Schmitt trigger inverter, but probably first a microprocessor (Arduino) to make it more available to others without tweaking.)

  • 1
    \$\begingroup\$ Try doing a patent search for "ultrasound parametric loudspeaker". You'll find lots of detailed information, which you should absorb before you begin your design. \$\endgroup\$ May 8, 2022 at 15:53

1 Answer 1


One potential problem with 40 kHz piezo resonators is their high Q. Telephone-quality audio might be considered to require a frequency bandwidth of 3000 Hz. Music-quality audio requires much more - 15 kHz at least.
The high Q of a piezo resonator resists changes in its 40 kHz driving wave - including amplitude changes and/or phase changes. You can drive it with wide bandwidth, but the 40 kHz "sound" that is emitted has limited bandwidth - the further away from resonance (near 40 kHz) the lower the amplitude.

For example, a 40 kHz piezo might have a Q of 38, resulting in a bandwidth of about one kilohertz. If you tried AM modulation, audio frequencies beyond 500 Hz would be attenuated...resulting in muffled audio.

  • \$\begingroup\$ that answers one question I had(a question however not directly asked here), however I only want to send 40khz signals with it, and then that 40khz signal is send to the transmitter, however that entire signal is turned on or of based on the voltage of the audio signal. so for a 10khz square wave(since the audio signal will be converted to digital without volume) it would have 4 40khz waves long on and then be 4 40khz waves long off, that is why I thought of AM(amplitude) instead of FM(frequency changing). so it would only play 40khz waves, just sometimes on and sometimes off. \$\endgroup\$ May 8, 2022 at 16:24
  • 1
    \$\begingroup\$ @TeDvanLoon sorry but it's not like that, you are actually modulating a carrier and hence side bands cannot be avoided even in AM, in your example 40kHz +/- 10kHz +/- 30kHz and so on spectrum lines are unavoidable. In time domain you may just think that a high Q system will not damp the output after the four cycles you reckon, it will keep ringing with decreasing amplitude instead. \$\endgroup\$
    – carloc
    May 8, 2022 at 17:52
  • \$\begingroup\$ too bad, I'll probably still test it soon just to see how it behaves in real life, however I guess it is searching pattents like Mark Leavitt recommended(actually am doing that almost right now, was just doing it and are going to continue after this, but am writing this right now). if you have any advice on how it is/could be done that would be great, I know people are successful in making parametric speakers using 40khz transducers, so there is a way. \$\endgroup\$ May 8, 2022 at 20:59
  • \$\begingroup\$ today I tested it with a arduino uno which I made to generate a 40Khz signal and then a second 10khz signal where it would output the 40khz signal if the 10khz signal was high, and where it would be constantly low/do nothing when the 10khz signal was low. this made it play a sound which could be heard at around 10khz. when I made it something like 5khz it would also work, a few frequencies didn't work that well and gave distortion, I guess this has to do with them cutting not matching the 40khz pattern and so that causing it to change the frequency. \$\endgroup\$ May 9, 2022 at 19:09

Your Answer

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

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