LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Frequency sweep with equidistant intervals

Hello,

I want to get frequency sweep data with equidistant intervals.

I use function generator(Agilent 33250A) and oscilloscope(DSO-X 4024A).

 

It is not a problem that make frequency sweep signal to function generator.

But, when I get the data from oscilloscope, I faced a problem that data interval is not equidistant.

 

For example, (Frequency sweep) start frequency, stop frequency and Sweep time are 3700Hz, 3800Hz and 100second,respectively.

and I tried to get the data with 1 second(1000 ms) interval from oscilloscope.

but, the data is not equidistant such as 3700.455Hz, 3701.498Hz, 3702.297Hz, 3703.448.. .

 

I tried to while loop with time wait function, timed loop ..

But the results were same, not equidistant.

 

I attached the screenshot of my Labview block diagram.

I want to discuss this problem.

 

thanks for your attention ! 

Screen_71.jpg

0 Kudos
Message 1 of 5
(2,887 Views)

I guess that your generated sweep is a continuous chirp (in opposition to a stepped-sine signal). This means that your frequency is different at any given time (instantaneous frequency). At time 0.0 it is 3700.0 Hz, at time 0.5 it is 3700.5 Hz, at time 1.0 it is 3701.0 Hz and so on. If you use a measurement time of 1 sec (is that what you are doing?) you'll get an 'average' frequency of approx 3700.5 Hz since the frequency is 3700 when you start your acquisition and 3701 when you stop your acquisition, and that is what you are seeing.

 

To improve your accuracy you have to use a different approach but you can improve your actual measurement by reducing your measurement time as much as possible and center it correctly. This is not perfect but if you for example use a measurement time of only 10 ms, starting your acquisition at t = 0.995 s and stopping it a t = 1.005 s, you should get much more accurate results.

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

First of all, Thanks for your reply.

 

I tried to use a measurement time of 10ms as your comments. But, Labview cannot acquire the data from oscilloscope with 10 ms. I mean the actual measurement time is not 10ms. I don't know why the measurement time was different to the time that I set 10ms.

 

I want to acquire data with equidistant intervals. 

If I set a start frequency(3700Hz), stop frequency(3800Hz), sweep time(100s), It will be increase 1 Hz per 1 sec continuously.(I guess)

So, I thought that If I set a measurement time of 1sec, the data from oscilloscope would be equidistant intervals.

(such as 3700.5Hz, 3701.5Hz, ...3799.5Hz)

But the results were different to my thought. 

 

I wonder why I cannot acquire the data with equidistant intervals.

0 Kudos
Message 3 of 5
(2,825 Views)

I don't know how you perform your acqusition, what timing engine and triggering conditions you use, what sample rate does your 'oscilloscope' card uses etc...

 

At the end you'll only get relatively precise results if you have full control of all your timing. It doesn't have to be 10 ms as long as you know what it is (again may depend on your available sample rates).

 

Try the following: Acquire 1 sec of data and process it offline in consecutive chunks of 10 ms (or any value of your choice). The results will show you how accurate your result can be. Experiment offline and once you are satisfied try to fix your acquisition conditions to achieve the same accuracy.

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

Thanks for your kindness.

I need to know the sampe rate of my oscilloscope and triggering conditions.

It will be help for fixing my acquisition conditions. 

 

I appreciate your help. 🙂

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