‎12-24-2011 06:26 AM
Hi everybody
I am a bit new wih LabVIEW and i want to build an application that samples a continuous signal ( sine wave for example ) then display the result on a wave graph. i have tried to multiply the continuous signal by a pulse train but the result was null. nothign was displayed.
PLZ help me
Thanks
‎12-24-2011 01:49 PM - edited ‎12-24-2011 01:50 PM
Hi Omar,
Have you been able to successfully sample a continuous Waveform from your device yet? You could do this from the Measurement and Automation Explorer (MAX), which is a great program you can use to debug basic I/O connectivity which can be from from your Start Menu. Within MAX, you'll be able to find your device under the 'My Systems' tab under 'Devices and Interfaces'. With your device selected, click the Test Panels option to perform some DAQ without programming. This should be able to tell us pretty quickly whether or not the error persists either from a hardware or software perspective.
Can you please expand a little on the multiplication by a pulse train aspect of your application? What kind of signals are you trying to measure?
‎12-25-2011 05:15 AM
Thank you Alex for your answer.
Actually what i want to build is a purely virtual, i mean no hardware is going to be used. And for the multiplication, it is a standard method for sampling. Here is the idea: we have to ganerate a dirac function, in other words, it is a function that has a constant amplitude over repetitive periods of time and zeros everywhere else and then multiply it by our continuous signal to dicretize it. this is basically the idea i'm trying to implement, but as i told you only virtually, it's some sort of simulation.
‎12-25-2011 09:44 PM
It sounds like what you want is a function generator not a sampler. If it was a sample, then some type of oscilloscope program (usually part of the SDK that comes with your hardware) needs to be used.
As for the function, there is a theorem that any repeating function can be built by a linear combination of Sine and Cosine functions. The dirac delta function is no different. However, if you simply generate a square pulse that has a short width in time, relative to the inverse of the repetition rate you are using, that would serve as a delta function for all intensive purposes.
The link below has a file that should put you on the right path.
‎12-25-2011 10:08 PM
After tinkering around some... I noticed that there are some signal generator functions in the signal processing tab of the block diagram functions palette. Take a look at those. Also, in the limit of zero width a Lorentzian and/or a Gaussian is a delta function.
‎12-26-2011 11:00 AM
Omar,
Create your continuous signal. It will have a specific number of samples. This is already a sampled signal, but for your simulation purposes you can assume that it has many more samples than your simuated sampling process will have. Call the original sampling frequency fs1.
Initialize an array with that same number of elements, all of which are zero.
For your simulation select a new sampling frequency fs2. For simplicity let k*fs2 = fs1 where k is an integer > 5.
Now connect the original signal to a for loop via autoindexing. Connect the initialized array to a shift register. Inside the loop divide the iteration count i by k using the Quotient and Remainder function. When the remainder is zero, replace element [i] of the intialized array with element [i] of the simulated signal. For non-zero remainders just pass the array through. When the loop completes the contents of the shift register will be you original signal sampled at fs2.
Lynn
‎12-27-2011 05:02 AM
ok, let's try it