Showing results for 
Search instead for 
Did you mean: 

How do I filter signals from an accelerometer through a bandpass filter and then use the filtered signal to drive an electrodynamic shaker?

I am a student. I am designing the control system for a self resonating cable excitation drive system. My proposed idea is to apply an impulse input to shake the cable initially, and then use accelerometers to measure the vibration. The accelerometer signals are then passed through a bandpass filter that is set to pass the resonant frequency(which is predetermined by experimentation). I then want to use the filtered signal with a variable time delay to drive an electrodynamic shaker that will shake the cable at its resonant frequency. The time delay is calculated from the difference in phase between the input to the shaker and the output of the cable(accelerometer signal).There is a flexible coupling that attaches the cable to the shaker. This allows the cable to move out of phase when compared to the input. Theretically at resonance there should be no flexing of the coupling and the phase difference between the shaker input and the cable output measured at the attachment point should be zero. It is this phase difference that determines the amount of time delay that should be applied in the loop to achieve resonance. I am currently using a compactrio DAQ with analog input and output, and labview professional software. If anyone could help me to do this I would be very grateful.


0 Kudos
Message 1 of 9

Why I'm afraid, that at resonace the shaker and the cable will be 180deg out of phase?? If the coupling isn't flexed, how will there be energy transported into the system?


If you want to do that in 'real time': what frequencies are expected? 


What generator do you have to control via LabVIEW? Changing phase, frequency,amplitude continiously can be tricky with some generators.


Greetings from Germany

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'

0 Kudos
Message 2 of 9



My control loop should apply a phase in delay to the output signal that shifts the signal back 180 degrees or forward 180...well atleast thats what I hope.


I am doing it in real time and am expecting to produce four modes of vibration in the range of 0 - 50 hz.


I don't have a generator. I want to output the filtered and scaled signal from the cable as the input to the amplifier and then the shaker. I will keep the amplitude nd frequency constant and will just alter the "phase in".


This is just my theory, If you have any suggestions I'll gladly accept them.


thanks, Ezaz.

0 Kudos
Message 3 of 9



What types of modules are you planning on using?

This Knowledgebase might give you a starting point for phase shifting coding:

Have you started coding your application at all? Do you have all the parts, or are you still contemplating?




Michael M

NI Americas | AE | 1866-275-6964

0 Kudos
Message 4 of 9

Hey Michael.


Unfortunately I only have a Compact DAQ and I am using Labview professional for signal processing.


Yes I have started to code it. I have come up with something very crude. The program filters the frequency component(chosen) from the cable response. The phase difference between the shaker base response and cable response is then computed. This is then used to shift the filtered signal(cable response) using the shift waveform VI.


I plan on Using the analog output module to output this frequency to the amp and then the shaker.


Please let me know what you think.


Also note that I am a final year MECHANICAL engineering student.






0 Kudos
Message 5 of 9

I've attached the VI. However it requires 2 time domain signals to run.

0 Kudos
Message 6 of 9

Hey Ezaz,


I don’t really see where you’re outputting your signal in your code. Are you just working with the processing?


Are milliseconds of delay going to work with your application? If you’re getting data to your processor, processing it, then outputting back out to your device, this might not be quick enough for your application. In this case you would want to use a cRIO where you could program in RT(Real Time), Windows is going to have some inherent delay.


What kind of card(s) are you using? Do you have a NI cRIO or a NI cDAQ?


Do you have screen shots of your application? Have you tested it yet?



Michael M

NI Americas | AE | 1866-275-6964  

0 Kudos
Message 8 of 9

Hey Michael,


At the moment I am just working on getting a signal out that is somewhat perfectly sinusoidal. I should think that milliseconds of delay would not be crucial to my application. I suspect this because the resonant frequency of the cable starts at around 8 hz and is thereafter multiples of this frequency.


I have a cDAQ. But I can source a cRIO if it is necassary. I have done minor tests. I did these on the friday past. I will upload screenshots of my system tomorrow.


I also came across an interactive alignment feature in the Labview Signal Express module. I think this could be useful to me as it has an input, alignment algorithms, and an output function as well. Do you think I can align the Shaker base signal with the cable system and output the aligned signal to the shaker. This would be using the cable response as a reference signal.




0 Kudos
Message 9 of 9