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: 

can you create a point by point chirp signal?

Hi there, i was wondering if there is a possibility of creating a point by point chirp signal instead of using an array based VI. This is so that I can pause the program and place a frequency indicator to display the frequency of the chirp, like a stop watch.

Cheers

Anthony

0 Kudos
Message 1 of 12
(3,978 Views)

Anthony,

 

You probably can, but why not create an array and then just index out one point at a time?

 

Lynn

0 Kudos
Message 2 of 12
(3,968 Views)

Hi Lynn, apparently what I have been told is that because it is an array based signal generation inside a while loop, the whole signal is not sent out to the waveform graph and speaker output until all the samples in the block have been reached. Therefore I cannot place a frequency counter as it will not work? I would also like to pause my chirp signal and continue which I have also found not possible because of the previous reason outlined. I was advised that I would need to create a point by point signal if I wanted to do this. But I cant seem to figure out how to do this. Any ideas?

Cheers
Anthony

0 Kudos
Message 3 of 12
(3,948 Views)

Anthony,

 

I am not understanding exactly what you are trying to do ro where the problem is.  Can you post what you have tried, along with some description of what does not work and what it should do?

 

Lynn

0 Kudos
Message 4 of 12
(3,940 Views)

Something like this?

 

24052i1157C67752E96755

0 Kudos
Message 5 of 12
(3,930 Views)

Hi lynn,

The idea behind this program is that I am using it as a new method of testing hearing. Conventionally hearing is tested by listening to octave frequencies and adjusting the intensity of the frequency until it is just heard. What I want to do is to sweep through the audible frequency range ( is 20 - 20,000 Hz but am aiming to test between 500- 12,500 Hz). Therefore using this program as a behavioural test for hearing, I would need to be able to keep track of what the frequency of the sweep is at any point along the duration of the sweep. Subejcts that have no hearing loss will hear the entire frequency sweep ( i.e from 500- 12,500 Hz) at a given intensity. Subjects that have a hearing loss ( for example between 3000-4000Hz) will end up missing that segment of the sweeping signal. At this point a boolean integrated within an event structure will be triggered by the subject which will save the frequency limits at where they stopped hearing the signal and when they resumed hearing it. Being able to pause the sweep at any time is also important if the subjects require help. I have not found a way in which to integrate this frequency counter but I have attached the sweep frequency generator.

Cheers
Anthony

0 Kudos
Message 6 of 12
(3,913 Views)

Anthony,

 

That brings back memories.  The first LabVIEW program I worked on (in LV version 1.2) tested the hearing of rats.

 

I would use something like the snippet David_L posted to generate the chirp.  I would put together a state machine as part of a Producer/Consumer architecture.  After various initialization and setup states the Sweep state would read an element from the Chirp array and send that frequency to the audio output.  It would also increment the index.  In a separate loop have the event structure for user inputs.  When the subject triggers the boolean, send a Pause command to the state machine. In the Pause state you save the last frequency value and wait until ready to proceed.

 

Lynn

0 Kudos
Message 7 of 12
(3,908 Views)

Hi David

Would you be able to post this code compatible with labview 2009 please.

Cheers
Anthony

0 Kudos
Message 8 of 12
(3,859 Views)

Hi Lynn,

 

Thanks for your support, I have done some research on how state machines work and I think Ill try and implement that for my program.

Cheers
Anthony

0 Kudos
Message 9 of 12
(3,852 Views)

I actually posted the code in 2010 and 8.0 on my community example.  This should work fine in 2009 but let me know if there's any problems.

0 Kudos
Message 10 of 12
(3,832 Views)