From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Gaussian Modulated Pulse

Good morning again, 

 

I am using an acoustic actuator to send a sinusoidal signal through an aluminum plate which is then received by a different acoustic sensor. This is a typical acoustic pitch-catch. 

 

I am able to send and receive this signal without any problems. However, Instead of sending a continuous sinusoidal signal, I would like to send a Gaussian modulated sine pulse. 

 

I have attached two VI's. The first VI (Acoustic Sensors) sends the perfectly continuous sinusoidal signal. Acoustic Sensors2 sends the Gaussian modulated signal. 

 

 

Could someone take a look at my second VI  (Acoustic Sensors2) and determine how to send this Gaussian modulated signal? I'm not sure if I'm using the right function for it.  

 

Thanks, 

Mike

Download All
0 Kudos
Message 1 of 5
(2,866 Views)

You are using the right sub-VI to create your Gaussian modulated sine pattern but it is a little more complicated than that.

While the Simulate Signal in your first VI is an Express VI that returned a waveform with embedded sample rate information to be passed to your DAQ generation step, the Gaussian modulated sub-VI returns a simple array of values.

 

You therefore need to do the following to get this working.

First create controls for the different parameters of the Gaussian sub-VIs and drop these on your front panel. Connect these to the corresponding sub-VI inputs. You then need to enter appropriate values to these controls.

 

billede.png

For example:

delta t (s) is the sampling period so the inverse of your sample rate of 2 MS/s. dt = 500 ns.

center frequency (Hz) is the frequency of your tone = 50 kHz

Refer to the help for the other parameters

 

Once you've done you also need to convert the simple output array to a waveform with sample rate information.The conversion Express VI you are using will not do that for you. Instead simply build a waveform and pass it to your DAQ step.

 

billede.png

 

 

 

0 Kudos
Message 2 of 5
(2,847 Views)

I was able to get the desired input signal (thank you for that), however, the output signal appears to just be noise. Any ideas on how to adjust this problem? The updated VI is attached and an image of the output signal is also attached. 

 

Thanks, 

Mike

Download All
0 Kudos
Message 3 of 5
(2,840 Views)

There are several issues with your implementation.

 

1 - Your pulse has no delay so you only get a very short 'half pulse' at the beginning. Add an appropriate delay to center your signal

2 - You are running both generation and acquisition in the same loop and in continuous mode. This requires the generation and acquisition length to be the same, otherwise you'll end with some buffer over-run and/or timeout at some point. I'd suggest to start experimenting in Finite mode, then move to Continuous once it works

3 - Your Generation and Acquisition are not synchronized so your generation may be done before you even start your acquisition. You need to add appropriate sync / triggering conditions if you want to catch your short generated signal.

 

Check out the DAQmx examples (Help>>Find Examples... menu). These examples are based on DAQmx VIs rather that DAQ Assistent) and gives you more freedom to control your timing and triggering.

0 Kudos
Message 4 of 5
(2,832 Views)

Thank you. I will working on implementing these suggestions. 

0 Kudos
Message 5 of 5
(2,821 Views)