Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

40 kHz chirp

Status
Not open for further replies.

BkraM

Member
Hi All,

For a project with an dismantled I'm looking to create 40 kHz chrip with a bandwith approx 1~5 kHz.
The duration of the chirp should be in the order of 0.5 ms, than a delay of 100 ms.
Ideally i would produce a signal looking something like this:
**broken link removed**

I have an arduino uno, but this won't be suitable at these high frequencies I guess.
In general i'm not really sure how to approach building a chirp generator for this, can someone point me in a direction?
I have a 4046 VCO, this might be a good start?

Thanks,
 
It's trivial to do with a micro, and 4oKHz is a pretty low frequency, easily generated in a software loop.

Should be simple enough with a Uno.

However, the signal will be a square wave, but that's what's normally used for ultrasonics.
 
I'm just using the transducer and receiver from the sr04, I'm not trying to reproduce the sqaure wave generated by the original hardware.

I did a test with a continues square wave at 40 khz, it produced a lot of noise on the receiver side compared to a continues sine wave. So my focus is on a chirp in the firm of a sine wave. although if it would appear to be too tricky to achieve this, a square wave would be a fall back option
 
But these options would be on a single frequency right? I'm looking for a shift in frequency during the chirp. Say start at 38 khz and sweep to 42 khz and than stop.

Each has chirp this frequency band should be present in order to filter out the signal from noise on the receiver side.
 
Bearing your specs in mind, you only need to generate a total of 20 cycles for your chirp. One cycle at 40kHz has a period of 0.025 ms.
0.025 ms x 20 = 0.5 ms
You could easily use a microcontroller with a lookup table to hold the durations of the each half cycle, which would only require 40 entries. That would solve the frequency generation issue.
That leaves only amplitude modulation problem. I would probably do the AM by outputting a 0.5 ms pulse on a separate I/O pin which then passes through a low pass filter to produce the correct envelope shape. Then combine the envelope and frequency signals in an AM modulator circuit. There are a lot of very simple amplitude modulation circuits around. Note that the 0.5 ms pulse generated in microcontroller would have to be advanced in time relative to the FM signal, to allow for the response time of the low pass filter.
 
A DDS chirp generator is a preferred choice for high-resolution SAR or SONAR application to simulate what bats can do naturally. The "sine squared" or a Blackman-Harris window envelope with a pure linear sweep gives good Synthetic Aperture Radar (SAR) and SONAR response, with excellent sideband rejection.

Then you apply digital filtering, correlation, or wavelet analysis, on the response.

However for a crude approximation, one can fashion a linear VCO sweep synchronized by balanced AM modulator with sin squared response envelope. Next step up is a Memory based sine square lookup and PLL incremental sweep.

But for best amplitude and phase coherence and resolution try a DSP approach.
 
Last edited:
You can also use the X sweep out from the scope to drive the FM gen.


Or feed X sweep out into Y ch in and then you get sawtooth with variable gain and DC offset with Y out on scope. to FM gen.
 
You can do this with an Arduino but unless you dive deep into the timer functions, it will not be a precise 40kHz.
 
The piezo transducer resonates at 40kHz so sweeping its frequency enough might not be possible. Since it resonates then the squarewave input produces a sinewave sound that is low in harmonics.
Check its datasheet to see its bandwidth.
 
The specs of the transducers are unknown. I did a check with a square wave at different frequencues. The receiver detects them all, so that part seems to work.
 
Google showed that Mouser sells many piezo ultrasonic transducers. Here is the datasheet showing the narrow bandwidth of a typical transmitter and receiver:
 

Attachments

  • ultrasonic transducer.png
    ultrasonic transducer.png
    53.4 KB · Views: 242
Audioguru,

Based on your reaction I decided to do a bit more of a thorough check on the frequency band, and it looks like you are absolutely right (thanks for the effort!).
Below a Bode plot from the transducer on top of the receiver, it shows a narrow bandwidth from about 36 to 46 kHz (note frequency band is not on log scale).
Nice to see there is a second band at 57 kHz.

**broken link removed**
I'm in doubt if this would work for a chirp based sonar..
Any thoughts on the usability?

Thanks,
 
Sonar uses hundreds or thousands of Watts. Your little transducers are very low power so the range will be very short.
 
All ready did some object tracking with these, they work fine up to 2 meters. Next project is a synthetic aperture , for which I need a chirp. All for fun, so low budget transducers
 
In the end I have to conclude that the transducers are not suited for chirp based sonar due to their limit bandwidth.
For the receiver to get into a forced oscillation (not 40 kHz), the arriving pulse has to have a significant length and has to be powerfull enough.
at a distance > 10 cm the power of the received signal is simply not enough to force an oscillation other than resonant (which occurs up to 3 meters).

I'll think drop down to the 1~10 kHz range where standard microphones/speakers can be used, with bit more bandwidth.
Thanks for the help all.
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top