Signal processing of AFM (DC) signals using labview

I am trying to conduct FFT analysis on DC signals from the thermal fluctuations of a cantilever (liquid operation) from a Nanoscope III multimode AFM. Our DAQ board is PC6110E. I am using one of the available signal processing examples to process the signal, but we find that there is a lot of noise in our resolved spectra. Similar work using a SRS spectrum analyzer yields very good and clean spectra. Is there any amplification/filtering etc. that can be implemented before or after the DAQ board that can eliminate/reduce this noise? The frequencies of interest of our signal is between 5-100 kHz. Thanks in advance.

Hello;
If the range of frequency would not so extense, you could use one of the NI signal conditioning modules. However, as that is not the case, you will probably need to implement a filter, in Software, to get rid of the harmonics with higher frequency than 100KHz.
Furthermore, I'm attaching a good Application Note that talks about noise on DAQ systems, so you can get some usefull information, and maybe apply some of the techniques on your system to avoid noise.
Hope this helps.
Filipe
Attachments:
Field_Wiring_and_Noise_Considerations.zip ‏196 KB

Similar Messages

  • What is the difference between signal processing tooklit and the advanced signal processing tooklit

    Hi
    I am work on a project with Labview 7.1 now and want to calculate the FFT based on
    the Welch method. In my full version Labview, there is a signal processing tooklit
    I install it but did not found that welch.vi. Is it means that except for signal processing
    tooklit, there is another advanced one and I should pay more money for it, Or,
    Should I update my Labview version to 8.0 and the software will support the tooklit?
    Thanks a lot!

    Hi dec04009 ,
    When you say "Signal Processing toolkit", do you mean the Signal Processing Palette, that is included in LabVIEW Full?
    LabVIEW has signal processing VI's, those are supported in later versions, like 8.0 or 8.2. Since LabVIEW 8.0 there were added many new mathematical functions. Take a look at this:
    http://zone.ni.com/devzone/conceptd.nsf/webmain/bf49f9b8951a89f3862571840057b2c7
    The Advanced Signal Processing Toolkit, has advanced features, like wavelets analysis, JTFA
    http://sine.ni.com/nips/cds/view/p/lang/es/nid/1395
    I'm not familiar with the Welch Method, but I found this in the functions of the LabVIEW 8.2:
    http://zone.ni.com/reference/en-XX/help/371361B-01/lvanls/welch/
    Hope this help.
    Tania Lozoya

  • Deleting a column in a text file using LabVIEW

    Hello all,
    I'm trying to delete the first column of my tab delimited text file using LabVIEW and then save it under the same file name.  Can someone show me a quick way to perform this operation.  Is this even possible with LabVIEW?  Any help would be much appreciated.
    My purpose is to automate this operation for hundreds of daily text files containing data that needs processing.  I'm currently using LabVIEW 8.2.
    Thanks!
    -noviceLabVIEWuser

    If the file is relatively small:
    Read the file using the Read from Spreadsheet File VI to get 2D array.
    Remove the column from the 2D array.
    Write out new 2D array to new file using Write to Spreadsheet File VI.
    If the file is relatively large then you will likely run into memory issues. In this case you will need to read the file in chunks. You can decide how many lines to read at a time. Use a for-loop that's set to run for the number of chunks to read (based on the total number of lines and the number of lines you want to read at a time). Hint: Quotient & Remainder function. In the loop use the Read Text File VI to read your set number of lines. Convert the lines to a 2D array delete your column, and write out that chunk of data to the new file. Rinse and repeat.

  • LabVIEW 8.5 and building executable (using fxs from Advanced Signal Processing Toolkit)

    Hello out there to NI and Gavin:
    For for building an executable using LabVIEW 8.5 and functions from the
    Advanced Signal Processing toolkit, do we still need to manually copy the
    special set of DLLs related to the toolkit use to the target installation, or are these now included
    within a build file for automatic installation to the target
    installation?
    Thanks,
    Don

    Hi Don,
    I imagine that any improvements made to steps required to build an executable using toolkit-specific vi's would be inherent of the toolkit itself. Meaning, I imagine the inconvenience you experienced would be eliminated with the next release of the Advanced Signal Processing Toolkit.
    Cheers,
    Emilie K. | Applications Engineer

  • Signal Processing and LabVIEW Expert Full Time Position – London, UK

    1x Signal Processing and LabVIEW Expert - Full Time Position – London, UK
    1.0      Description:
    As a Signal Processing/Software Engineer, you'll be part of a team that is responsible for developing applications based on large high speed data analysis for a large green energy project. Your skills must include a knowledge of Waveform analysis and understand the concepts of cross correlation, Fourier Analysis, Spectral analysis and other similar items.
    The position ideally requires someone of CLA level of LabVIEW program to act as the project lead on the programming and technical levels of the system.
    2.0      Duties and Responsibilities:
    The duties and responsibilities of this position include, but are not limited to, interacting directly with customers to program, train, inform, advise and consult in the design of their applications using the best test and measurement hardware and software by:
    ◦     Programming memory and speed efficient applications using LabVIEW and Object Oriented Programming and Event-based architectures.
    ◦     Understanding of the data acquisition side of the system and previous experience using National Instruments hardware and DAQmx
    ◦     Knowledge of Power engineering, Volts, Amps, current, Power Factor etc.
    ◦     Providing timely, accurate and effective solutions to technical problems.
    ◦     Providing guidance on the installation and working functionality of both software and hardware, including explanation of configuration settings.
    ◦     Reproducing and troubleshooting problems and incompatibilities.
    ◦     Delivering technical presentations and demonstrations to customers, colleagues and partners.
    ◦     Ability to project manage and understand how to keep on track with a Microsoft project based externally monitored project.
    3.0      Qualifications & Requirements:
    ◦     Minimum second class higher honours degree in engineering or science related field, such as electronic engineering, physics, mechatronics or computer science.
    ◦     Basic Knowledge of text based programming languages.
    ◦     Experience in either LabVIEW, minimum of three years full time and at CLA level, or capability to reach there in a short space of time with the relevant training.
    ◦     Experience in a second language such as JAVA, C and C++ is strongly preferred.
    ◦     Have a vast experience of signal processing, both digital and analog.
    ◦     Although not required, but must have skills to pass the Certified LabVIEW Developer exam and CLA within the year.
    ◦     Ability to learn new skills/languages/applications quickly (MATLAB, JavaScript, STK, etc.).
    ◦     Knowledge in instrumentation & control, and industrial automation, is strongly preferred.
    ◦     Must be able to handle multiple tasks and enjoy working with people.
    ◦     Strong problem solving skills to analyse the problem and think creatively to provide a solution.
    ◦     Excellent written, oral and presentation skills are key.
    ◦     Ability to deal effectively with customers to make them successful is essential.
    ◦     Ability to get along with others and function as a team player as well as work effectively alone.
    ◦     A proactive/can do attitude is vital and a positive outlook on problem solving.
    ◦     Legal right to live and work in the UK. Sponsorship is not available.
    ◦     Must hold a full valid UK driving license.
    4.0      Location:
    This role is located in London, UK
    5.0      Reporting:
    Signal Processing Engineers will report to the Technical Director.
    6.0      Salary:
    Competitive salary based on level of experience.
    7.0      Application:
    To apply for this position please send a copy of your CV to
    [email protected]
    Please state the job title of LabVIEW Signal Processing Engineer in the email subject.

    Hi,
    I am from india.I can able to complete the projects through the internet itself.
    Please let me know if any demos required to show my expertation. 

  • Can we demodulate the signal recieved at DAQ card without using any hardware interface(by only using labview)?

    Hi all,
    Can we demodulate the signal recieved at DAQ card without using any hardware interface(by only using labview)? if yes then how? please give brief idea.
    Regards,
    Amit

    There is probably a way to do it, but it it may be easier to use an X-series board for the job.   They support a new counter capability for count reset on a digital edge without needing to be configured in encoder position mode.  I am not sure exactly how that feature's been implemented however, so maybe it won't make things easier after all.
    The plan based on the hoped-for behavior: 
    1. Configure an X-series counter for pulse generation based on "ticks" of your clock channel.
    2. Set both initial delay and low time to the critical # of ticks.
    3. Configure for count reset on a digital edge (if possible in pulse generation mode)
    4. Configure the count reset value to be the critical # (or possibly 1 less, if possible in pulse generation mode)
    5. If you want the output to remain high indefinitely, configure the counter task to use its own output as a
    pause trigger, and pause while high.
    The way pulse generation works is to preload a # of "low time" ticks into the count register.  Then every source edge will decrement the count.  When the count reaches terminal count (0), the counter's output is toggled (or can be configured to pulse).  The register is then loaded with the # of "high time" ticks and the process continues.
    You would be perpetually interrupting the count-down process as long as you got your triggers in time.  The count would keep getting reset to the # of low counts, keep decrementing toward 0 without reaching it, and so on.  If ever you did reach 0, the output state would toggle high, then the high state would prevent subsequent clock signals from decrementing the count.
    You can conceivably do a similar thing with a 6601, but I'm pretty sure you'd need 2 counters working together to get it working.
    -Kevin P

  • How can i build a manchester coding in labview signal processing?

    how can i build a manchester coding in labview signal processing?
    mean to say that how can i digitize my audio input.i waqnt to convert my audio input into manchester coded data format!!!
    kindly post related VIs
    regards
    Solved!
    Go to Solution.

    idma-
    Check out the LabVIEW FPGA example http://zone.ni.com/devzone/cda/epd/p/id/6126
    Generate Manchester Signal
    Basic example showing generation of a Manchester encoded data stream. The data to be sent is generated in one loop and passed to a FPGA FIFO. The subVI which generates the Manchester data stream reads the data bytes form the FIFO and passes them to the digital output. The subVI prepends a simple header to each data packet which allows a reader (see next example) to synchronize and acquire/parse the data. The header consists of a thee half bit pulse followed by a one half bit pulse. The three half bit pulse is not a valid component of regular Manchester encoding and can therefore be differentiated from the rest of the protocol. In addition it can be used by the receiver to to easily measure the bit rate of the protocol. By dividing the length of the three half bit pulse in half (3/4 of a bit), the receiver has a measure to differentiate between full and half bit pulses in the rest of the protocol.
    Generate and Read Manchester Signal
    An extension of the previous example which adds a Manchester receiver subVI. You must physically wire the digital output channel to your input channel to loop back the data outside the I/O connector of your FPGA R series card or C series module. The Manchester receiver subVI is expecting the data packet to be prepended by a header as explained in the previous section.
    I will see if the is a more precise example but this should help
    Sam S
    Applications Engineer
    National Instruments

  • I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.

    I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.
    In particular, I am analyzing the example "Even Angle Reference Signal Processing (Digital Tacho, DAQmx).vi", whose documentation I am reproducing in the following:
    <B>DESCRIPTIONS</B>:
    This VI demonstrates how to extract even angle reference signals and remove the slow-roll errors. It uses DAQmx VIs to acquire sound or vibration signals and a digital tachometer signal. This VI includes a two-step process: acquire data at low rotational speed to extract even angle reference; use the even angle reference to remove the errors in the vibration signal acquired at normal operation.
    <B>INSTRUCTIONS</B>:
    1. Run the VI.
    2. On the <B>DAQ Configurations</B> tab, specify the <B>sample rate</B>, <B>samples per channel</B>, device and channel configurations, and tachometer channel information.
    <B>NOTE</B>: You need to use DSA PXI-447x/PXI-446x and PXI TIO device in a PXI chassis to run this example. The DSA device must be in slot 2 of the PXI chassis.
    3. Switch to <B>Extract Even Angle Reference</B> tab. Specify the <B>number of samples to acquire</B> and the <B># of revs in reference</B> which determines the number of samples in even angle reference. Click <B>Start</B> to take a one-shot data acquisition of the vibration and tachometer signals. After the acquisition, you can see the extracted even angle references in <B>Even Angle Reference</B>.
    4. Switch to the <B>Remove Slow-roll Errors</B> tab. Click <B>Start</B> to acquire data continuously and view the compensate results. Click <B>Stop</B> in this tab to stop the acquisition.
    <B>ORDER ANALYSIS VIs USED IN THIS EXAMPLE</B>:
    1. SVL Scale Voltage to EU.vi
    2. OAT Digital Tacho Process.vi
    3. OAT Get Even Angle Reference.vi
    4. OAT Convert to Even Angle Signal.vi
    5. OAT Compensate Even Angle Signal.vi
    My question is: How is the synchronization produced at the time of the compensation ? How is it possible to eliminate the errors in a synchronized fashion with respect to the surface of the shaft bearing in mind that I am acquired data at a low rotation speed in order to get the "even angle reference" and then I use it to remove the errors in the vibration signal acquired at normal operation. In this application both operations are made in different acquisitions, therefore the reference of the correction signal is lost. Is it simply compensated without synchronizing ?
    Our application is based on FPGA and we need to clarity those aspects before implementing the procedure.
    Solved!
    Go to Solution.

    Hi CracKatoA.
    Take a look at the link bellow:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=255126&requireLogin=False
    Regards,
    Filipe Silva

  • How to use labview to control a robotic arm by EMG signal

    Hello,
    I am working on simulation of an active Exoskeleton (wearable robot) for the upper limb using LabVIEW for my senior project. I need to use the EMG signal as an input to move the elbow joint (flexing and extending). I downloaded labview biomedical toolkit to take a ready simulated EMG signal but have a weak experience in LabVIEW.
    The design criterial I am planning to use is to establish a threshold for the EMG signal using a comparator (above 0 for example) and set a counter for everytime the signal passes the threshold as(+1) in every count. Then, specify a degree value for the counter (for example when the counter reaches 10000) and feed this value of the counter to a simple simulated structure for the joint (simple angle of 2 lines) or a meter to represent the movement.. e.g. every 10000 count = 1 degree of movement. Zero crossing can also be used instead of the comparator and the signal will be filtered and that is easy to do. However, my problem is in converting this logic into LabVIEW. I don’t know how to set a counter for the signal and make every number of counts refer to a specific degree of movement and I also don’t know how to form the simulated joint structure in LabVIEW or even how to transfer this into a simple meter device in LabVIEW.
    I have only one month to do this project so any help or ideas you provide are highly appreciated
    Thank you ,

    CarlFHellwig 
    Thank you for providing this example I just implement  it in the software to check the counter results.
    In fact, the design criteria I desided to use latly is to use is to establish a threshold for the EMG signal using a comparator and correlate the EMG signal with the angles of movement of a simple simulated structure "motor" for a single joint (simple angle of 2 lines) eg. 30,60,90,120,150 degrees for flexing and extending. Zero crossing can also be used instead of the comparator and the signal will be filtered and that is easy to do. 
    In other words, the idea is to drive a motor for different angles based on the input EMG signals. I am now stuck with developing the algorithm of how the angles are related to the RMS value of the signal while flexing and extending and how to convert this RMS into angular velocity and angular position to form the simulation. 
    I will be grateful if someone guided me to a person did a similar project to discuss some issues. 
     

  • I am trying to log data from 4 voltage input signal using labview, but when i use DAQ assistant i am able to log data from one signal at a time only.

    I am trying to log data from 4 voltage input signal using labview, but when i use DAQ assiatant i am able to log data from one signal at a time only.I am trying to get all 4 input data to logged in a single file againt time. I am new to Labview, I need to sample this data within a couple of days can someone help please.

    Naveen
    Check out the info in the Analog Input section of the document linked below.  (Ignore the part about Global Channels.)  In Figure 5, notice that you can select multiple channels while holding <Ctrl> or <Shift>.
    Developer Zone Tutorial: NI-DAQmx Express VI Tutorial
    Kyle B  |  Product Support Engineer  |  ni.com/support

  • Generating 0 and 1 signal using labview Daq card

    Hello,
    I’m working on a Project on the On/Off control of a pneumatic cylinder via a 5/2 solenoid valve.
    On State: Valve  O/P  1 pushes cylinder  İ/P 1
                     Value  O/P vents air.
    Off State: Valve O/P 2 pushes cylinder  İ/P 2
                       Value O/P 1 vents air.
    By this way we aim to move the clinder forward and back.
    We use Labview 9.0. I did not work on pneumatic system before,
    I will be happy if you could help me about  2 points.
    1)      How can we  enable the On/Off switching  between the 2  O/P’s  of the solenoid ?
    2)      How can we enable the timing between On and Off States. ( On: 0-5 seconds Off: 0-5 seconds )
    Do we need special code for Standard labview blocks will be OK ?     
    Thanks a lot.

    The digital out are a great place to start, however they are signal lines which means they don't drive a lot of current (~1mA). If your device isn't setup to accept digital signals you may have to use an external transistor to step up your amperage. See the link on here to get started 
    Labview can provide all the timing you need. I would search through the shipping examples (Help >> Find Examples) for digital output examples, there should be a bunch and one will probably work for you with just a little modification.
    Jesse Dennis
    Design Engineer
    Erdos Miller

  • How to catch ACK signal by using LabVIEW?

    Hi everyone,
    I use 8451 to read/write and follow I2C protocol. Now, I want to catch the ACK signal. Does anyone knows how I should do by using LabVIEW?
    Thanks.
    Best Regards,
    Catherine

    Duplicate post.
     Regards
    JamesC
    NIUK and Ireland

  • How to power a motor using labview DAQ output signal

    The power from labview is not enough to move a decent-sized motor (works with tiny one). Is there any electrical component/device that I can use to sort of increase it (something in between output from labview and the motor)?
    Thanks

    LabView is a software and does not supply any physical signals. To generate physical signals you need an interface board, NI has plenty of them which can be controlled via LabView. Anyhow, as you mentioned, digital i/o interfaces can handle currents in the mA range only. I think the best way to control motors via LabView and an interface board is using an additional relay driver board. Since relay contacts only switch power and do not supply any power you will need an external power supply matching the voltage and current specs of the motor.

  • Why the acquisition with DAQmx is different by using Labview 8.2 from Labview signal express?

    Hello,
    I am using a PCi-6281 to acquire a voltage. When I am using Labview signal express with only the step to acquire I read the good signal with the exact voltage. But when I am using my VI, the y axis and the values recorded are wrong. Why this difference appears?
    I insert a picture with both signal: at the top is the signal from my vi (wrong measurement) and at the bottom is the signal from labview signal express (correct).
    The vi I am using is the example Cont Acqu&Graph Voltage-To file (binary).vi.
    Thank you for your answer!
    Sophie
    Sophie

    I am using the binary file because it requires the minimum change in another VI. I have tried to change in scaled data but now my second VI has not enough memory to display all data.... What's wrong? Here is my second VI. Totest with data you need to insert a number in the "scaling factor" if not the dat are multiplied by zero...
    thanks for your help!
    Message Edité par stage84 le 07-24-2009 10:11 AM
    Attachments:
    Display 3.vi ‏1867 KB

  • Is there any tutorial for using ARM cortex-A processors of Zynq for digital signal processing ?

    Hello, everyone.
    Is there any tutorial for using ARM cortex-A processors(such as A9 and A53) of Zynq to deal with digital signal processing  problems?
    Please tell me , thanks.

    Hi
    Check below links
    http://www.xilinx.com/training/zynq/software-acceleration-for-dsp-functions-with-zynq.htm
    https://www.youtube.com/watch?v=ErEG7ZREcJQ
    http://www.xilinx.com/support/documentation/application_notes/xapp1170-zynq-hls.pdf
    http://www.xilinx.com/support/documentation/application_notes/xapp890-zynq-sobel-vivado-hls.pdf
    http://www.xilinx.com/support/documentation/application_notes/xapp1167.pdf

Maybe you are looking for