NI Scope FFT frequency shift

Hi,
I use a DAC card (NI PXI/PCI-5401) to generate a sinus and a ADC card (NI-PCI-5911) to pickup this sinus. To transform the time domain sinus signal into a frequency domain signal, I have used an example of NI using the NI-Scope vi "Add process" with FFT.   Somehow, the sinus generated at 50kHz is shown in the frequency domain at a frequency of approximately 58kHz. I don't understand this shift. Would you have an idea? Both vis used are attached
Best,
Ninskaya
Attachments:
Data Acquisition Mult.no.vi ‏206 KB

Hi Ninskaya!
What happens if you try higher or lower frequencies?
Best regards,
Hendrik
Message Edited by Honsel on 05-30-2006 08:24 AM

Similar Messages

  • FFT Frequency Resolution vs. Graph Update Rate of a Vibration Signal

    Hello,
    First, what I know:
    The frequency resolution (Hz) of an fft is 1/acquisitionTime (e.g. if 2 seconds of data are acquired, the frequency resolution is 1/2s = 0.5Hz).
    What I'm Wondering:
    Let's say I'm displaying an acquired signal on a graph and freq res = 0.5Hz.  The graph update rate is therefore approx 2sec.  This may appear to be an application with a problem from a user's perspective.
    Can I increase the update rate?
    It seems that with vibration data (i.e. mostly non-periodic) I could create a buffer that is 2sec long.  The first data acquisition sequence will fil the buffer with 2sec of data.  Then I could just acquire something shorter than 2sec of data (let's say 1/4sec).  If I am acquiring data continuously and I push the 1/4sec of data into the front of my buffer then perform the fft again, I have effectively increased my graph update rate to 1/4sec and my users think I'm great.
    Can anyone shed any light on whether or not (why/why not) this will work?
    Thanks for your time,
    Chris  

    The best tool NI provides for your application is the Zoom FFT.  This allows you to specify the span (frequency range of the FFT) and the zoom (the delta f such as 0.5hz) in the FFT.  The Zoom FFT has a built in buffer, called overlap and allows you to set the overlap so that it updates at the appropriate rate, event though you may need many seconds of data to get the delta-f in the FFT you are looking for.  We package all this and manage units to display the correct units for power density, power, linear, magnitude, rms, 0 to peak, peak to peak, etc.  We even provide a express VI for the zoom FFT and it is also part of the Sound and Vibration Assistant, requiring no programming at all.
    http://digital.ni.com/public.nsf/allkb/F70DB3441DC5AB9986256E97005BA825
    http://zone.ni.com/devzone/cda/tut/p/id/6107
    http://zone.ni.com/devzone/cda/epd/p/id/5505
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/12152
    Preston Johnson
    Principal Sales Engineer
    Condition Monitoring Systems
    Vibration Analyst III - www.vibinst.org, www.mobiusinstitute.com
    National Instruments
    [email protected]
    www.ni.com/mcm
    www.ni.com/soundandvibration
    www.ni.com/biganalogdata
    512-683-5444

  • FFT phase shift

    I am using LabView7.1 and am trying to understand how the FFT measures the phase difference between 2 analog input signals.  The 2 signals have about the same amplitude and their phases will be about the same. I am getting a phase difference of exactly 0.000000 but there should still be a difference. Not sure how the FFT block compares the two signals. Do I need to specify which is the reference signal? If so, how do I go about doing that?
    Thanks,
    SparkEE
    Attachments:
    BTB Acceleromter.vi ‏378 KB

    I admit this is not 100% on mark but may give you some ideas. In this thread I suggested using a zero-phase shift filter. Ignore this post if it does not help.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Frequency shift pulse modulation (DAQmx)

    Good morning,
    I have written this simple program which reads ones and zeroes from a txt file, and modulates pulses. When 0, creates one pulse with certain freq, when 1, creates two pulses with 2*frequency (so 1 bit each 1000/freq ms)
    For lower frequencies that 250/500Hz it works perfect. For higher frequencies, it do strange things and I just can't see why. For instance, when I tried this binary serie (1 0 0 1 0 0 1 0 0..) it should be 2 slow pulses, 2 fast pulses; and it shows 3 fast pulses, 1 slow pulse. If I try higher frequencies it do weird things. 
    What confuses me most is how it perfectly works for lower freq than 500 and not on higher. Any ideas?
    Thank you in advance,
    Bernard
    Attachments:
    Lee txt y modula v0.2.vi ‏26 KB
    binary serie.txt ‏311 KB

    Using a time loop instead of while it works untill 500/1000Hz. An improvement, but still far from what I need. And still have no idea why it won't work on faster freq. I attach this VI.
    I have thought about creating two continuous pulses with frequencies f1=2*f0 and start both tasks. Then, multiply the fast signal for the binary serie, in a timed loop with certain period (T=1/f0), so there will be 2 pulses with f1 when bit is 1 and a zero signal when bit is 0. At the same time multiply the slow signal for the inverse of my binary serie, so when the bit is 0 it will become 1, and the slow signal will show one pulse and when bit is 1 it will become 0 and the signal will be zero. Combining this two signals I would get the modulated signal. 
    Maybe this way its faster because you dont have to change the channel propierties on the fly but changing the signal itself and then outputing it. But I have no idea how to do this with the DAQmx functions.
    (Sorry for my english, this is hard to explain.)
    I am using NI DAQ 6363, forgot to say.
    Attachments:
    Lee txt y modula v0.24.vi ‏62 KB

  • FFT - Frequency Response

    Hi everyone! 
    I'm having a problem on my time domain and fft plot.
    In the attached VI below, i made a Chirp signal and perform FFT (left side) and I wanted to have a plot which is moving similar to the Chirp signal I got from the net, which is at the right side of this VI.
    I wanted my plot to be moving, or in real-time, I know this is just in the settings, but i cant figure it out. I've tried countless time already to obtain a plot similar to those at the right side of this VI. Also the amplitude of my FFT, is very small from the original amplitude value of 1.
    Thanks, for the response.
    Attachments:
    sample_sweep.vi ‏113 KB

    Hi gijude,
    it could be so easy with some elementary math:
    Reading online documentation like WIKIPEDIA can be a great source of wisdom…
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Frequency Shift Keying

    In Traditional Nidaq, ND_APPLICATION = ND_FSK meant that the delay and duration of the pulse could be gated. The help files say FSK is not implemented in nidaqmx? Does anyone have a suggestion on how to mimic this behavior? is NI going to build FSK into the next version of NIDAQmx?
    Thanks,
    Brady

    Please see this thread:
    http://forums.ni.com/ni/board/message?board.id=250&message.id=11743
    -Alan A.

  • FFT size unexpectedly affecting peak frequency

    I was playing around with some exercise from Labview Signal Processing Course Manual (NI, 1997), when I stumbled upon unexpected result.   I have included below the block diagram for exercise 3.1 (one sided FFT) from the manual.  This demo vi had left the FFT size (default).  I am not sure what that default value is.  It is not stated in the context help.  I tried to add in FFT size.  Unfortunately the FFT analysis did not give an accurate answer when I put in FFT size.  For example, I have set the sine wave frequency at 100s,  Fs 300Hz and No of sine wave samples 500.  When the FFT size was set at 256 I get 2 frequency peaks at 51 and 102 Hz.  At FFT size of 512, I get one peak at 102 Hz.  At FFT size 1024, I get a polymorphic waveform!!! 
    However when I set the FFT size to -1 then I got back the correct peak at 100Hz.  I suppose this is the default FFT size value.  I could also get the correct FFT frequency if I set the FFT size (500) at the same value with # no of samples (500). 
    Is there anyway I could set the FFT size value and yet get the correct FFT output.  Thanks.
    Solved!
    Go to Solution.
    Attachments:
    3.1onesidedwithnooffft.vi ‏19 KB

    Dear 'Dad',
    Thanks for the correction.  I have made adjustment as you have mentioned.  It seems to work but I noticed some new problems.    
    1)      If the following parameters are used ( sine wave 100Hz, Fs 400Hz, FFTsize 512, Sample Size 512) then everything is fine.
    BUT when
    2)      When the number of samples was increased to 1000, I ended up with 2 peaks at 100Hz and 300 Hz. (This vi was suppose to be one sided, the negative side of FFT was removed)
    3)      Things get even weird when Fs is increased to 500Hz.  Then the 2nd peak moves from 300 to 400 Hz. !!!
    Attachments:
    3.1onesidedwithnooffft2.vi ‏17 KB

  • Applying FFT decomposition to wav file

    Hi,
    I need to read a wav file and do a FFT decomposition on the same to change from time mode to frequency mode.After which I need to do a male-female transition of voice stream and change it back to Time mode.
    Can anyone please give me a idea.
    Should I use the JMF API of java.
    With regards

    I think you can use javasound for that purpose. I know someone had written a library that came with a book that implemented DSP.
    http://www.jsresources.org/faq_resources.html
    Just download the code from Craig Lindley's book. I could use it with a little modification. There is a FFT, pitch shifter and all the nifty stuff.

  • How to determine the bandwidth of a particular frequency in Labview?

    Hallo,
    After i determined the frequency of a signal, i want to measure the bandwidth of this frequency. how can i do that in labview? is there a block which can calculate it directly?
    thanks in advance..

    If I remember correctly, the BANDWIDTH is defined as the frequency distance between the -3dB points, relative to the peak.
    It's not correct to say "the bandwidth of a frequency", you measure the bandwidth of some process, say an amplifier or a filter.
    If you have a spectrum sweep of this filter, then you just measure the peak amplitude and look on both sides for the places where it crosses the 3dB down amplitudes.  The difference between those frequencies is your bandwidth.
    If it's a narrow bandwidth, you'll have to pay attention to how FFT works or you won't get a good answer from an FFT.  If your FFT frequency resolution is low, your precision will be low as well.
    I don't think there are any canned solutions for you.
    HTH 
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

  • How to switch central frequency fastly with labview and USRP?

    Hello everybody,
             Recently I was making a frequency hopping receiver with labview and USRP N210 and SBX. The transmitter works on the 2.4G band, and it changes from one central frequency to another every 65536us. As I think, if I start receiving at the correct time, and  change the central frequency of the USRP every 65536us, I should be able to receive the data.
        But I find that, when usrp switch form one central frequency to a different one, it spends nearly 48ms and when it switch from one frequency to the same one, it only spends 3ms(I test the performance by modifying the niUSRP EX Rx Continuous Async Reconfig on the Fly.vi example). So if I want to follow the hopping sequency, I may can only receive 17ms data because I have to save time for switching central frequency. 
         My problem is that: why usrp changes central frequency so slow,  how can I make the process faster? If I want to follow the hopping sequency, can anybody give me some good advice? Thanks

    There is an attribute "LO Frequency" that you can use to lock down the frequency of the local oscillator.  Then, when you set the "Carrier Frequency" attribute, the difference between the carrier frequency value and the LO frequency value will be realized by frequency shift in the DSP in the FPGA.  Changing this "digital" frequency shift value is much faster, since you don't have to re-tune the local oscillator.
    Let's say you're sweeping from 2.44 GHz to 2.46 GHz.  Set the "LO Frequency" to 2.45 GHz then Commit.  Then, in your loop, program the "Carrier Frequency" attribute from 2.44 GHz to 2.46 GHz.  In the loop, it will only program the digital frequency shift, which will happen much faster.
    Another tip is to use the property node to program only the attributes you want to change, rather than the niUSRP Configure Signal.vi (which sets many at once).
    For more details, see the "Configuration:Advanced:LO Frequency Property" in the NI-USRP Help, and look at this example:
    <LabVIEW dir>\examples\instr\niUSRP\niUSRP EX Fine-Tune LO Frequency.vi

  • USRP Frequency Translating FIR Filter

    Hi,
    I would like to use the USRP as a Software Defined Radio where I can sample a wide spectrum (like 20MHz) and then chose to demodulate a small part of the received spectrum. An example is to sample the whole FM radio band from 88MHz to 108MHz and then from these data FM demodulate 200kHz from a station on 103.9MHz or any other selected signal.
    With GNU radio I believe this can be performed by a function called Frequency Xlating FIR Filter which can transform the zero frequency of the IQ data, add a FIR filter and then decimate the data. With LabView I have tried several filters, decimations and transformations but I never end up getting a good output.
    Can anyone guide me in the right way on how I can do this?
    With regards,
    -Sigurd A.

    Hi,
    I forgot to update this post. I did not find any VI which did this but after some studying and trials I found something that seems to work OK for me. See attached picture.
    The clue was to multiply the IQ data with a sinus signal with frequency equal to the frequency shift, and with same sample rate and number of samples as the IQ signal.
    Then the signals can be decimated to the wanted bandwidth.
    With regards,
    Sigurd A.
    Attachments:
    image.jpg ‏176 KB

  • Smart Software Engineer with LabVIEW experience (and acoustics a plus) needed in Boston, MA

    We've are looking for a staff software engineer to join our company in Boston, MA (near downtown).  We have a 3000+ vi application that has been in continuous development by multiple software engineers (currently 4 engineers + 1 intern) for 15 years.  Every year we release a new version of the software with significant new features.  An engineer with our company needs to be more than just a LabVIEW hacker.  We need a software engineering that can go into our large application, modify it, sometimes in very fundamental ways, without breaking existing functionality, and have an eye for how their changes impact the maintainability, scalability, reliability, and readability of our code.
    Candidates will likely be LabVIEW Architects or have equivalent experience if they don't have formal certification.  We lean towards candidates who have Masters Degrees in such fields as Electrical Engineering, Mechanical Engineering, and Computer Science. Interviews will be conducted over phone, web, and in person by a LabVIEW Architect and will need to be able to discuss topics such as the following:
    - coupling and cohesion in software design, how this relates to design paterns such as action engines
    - software lifecycle models- state machines, parallel loop architectures, race conditions, data structures, type definitions, Xcontrols,
    - Object Oriented design
    - importance of documentation, importance and use of source code control
    - pseudo code and its usefulness as a design tool, some exercises will require users to read and write pseudo code to solve classic computer science problems
    - tradeoffs of various file formats in terms of flexibility for future software changes
    - FFT, Frequency Response, Amplitude/phase, RMS level, dB, noise, averaging, distortion, loudness, A-weighting
    Formal job ad is below:
    To be considered for this position, please send resumé and cover letter explaining why you are the ideal candidate for this job (in Word or PDF format only) to [email protected]. Please use the subject title Software Programmer.
    Programmer for Audio Test and Measurement software - Boston
    Listen, Inc. is the market leader in PC based electro-acoustic test and measurement systems for testing loudspeakers, microphones, telephones, audio electronics, hearing aids and other transducers. We have been in business for over 15 years and our continued growth has created an opportunity for a software engineer to join our programming team. This is an exciting opportunity to work on an industry leading electro-acoustic test and measurement system used by numerous Fortune 500 companies in the field of loudspeaker, microphone, headphone, telecommunications and audio electronic manufacturing.
     This position reports to the Software Manager. Duties include, but are not limited to:
    Programming in LabVIEW
    Designing and coding new Sound Measurement and Analysis software
    Improving, reviewing and de-bugging existing code
    Preparing internal and user technical documentation
    Testing code
    Interfacing with management, sales teams and customers to define tasks
     Required skills / education
    Bachelor’s degree (Masters preferred) in electrical engineering, mechanical engineering, computer science, physics, or similar subject
    Strong background (4+ years) in programming with 1+ years in LabVIEW.
    A methodical approach to coding, testing and documentation
    The ability to work well in a small team. A willingness to challenge and discuss your own and other people’s ideas.
    Experience in acoustic engineering is a plus.  Relevant topics include FFT, Frequency Response, Amplitude/phase, RMS level, dB, noise, averaging, distortion, loudness, A-weighting
    About Listen
    Listen has been in business for over 15 years and our suite of PC & sound card audio test & measurement products is the accepted standard in many blue-chip companies worldwide. We offer the spirit and flexibility of a small company, combined with stability and an excellent externally managed benefits package which includes competitive salary, healthcare, paid vacation, retirement plan and more.
    Applicants must have authorization to work in the US. We are unable to assist with visa / work permit applications.

    we're interviewing candidates, but, this position is still available

  • Pulse Train Generation using PCI-MIO-16E-4

    I need to generate pulse trains of changing pulse widths using PCI-MIO-16E-4 daq card using Igor Pro.
    I have tried to use the CTR functions (but always keep getting errors and it doesn't work). I also used the general purpose counters (GPCTR functions) but cannot visualise them on a CRO. If someone can help in regards to the programming aspect, it will be greatly appreciated.
    Thanks
    Vakul

    Hi Vakul,
    Some questions that might help me to get you a solution.
    Are you using Traditional DAQ, or DAQmx and which versions are you using?
    What operating system are you running?
    When you say you can't visualize them on CRO, I assume that you are hooking the counter out to a cathode ray oscilloscope and can't see the pulse train?
    Are you going to need more than two different pulse widths for your pulse train?
    There are several online knowledge bases describing how to change the frequency of a pulse train on the fly.
    This link explains how to use software to create a new pulse width.
    http://digital.ni.com/public.nsf/websearch/7B1B0427C39FE33086256CEE00752133?OpenDocument
    This link discusses using frequency shift keying, which will only allow you to have 2 different pulse widths.
    http://digital.ni.com/public.nsf/websearch/EC1F089252F33B248625696E006FB6FC?OpenDocument
    I assume that you are writing this program to compile in Igor Pro using C. I can help you with the C code development, but don't know anything about the Igor Pro API.
    Please get back to me about those questions and let me know if you need further help.
    Michael Denton

  • Anyone knows if it's possible to transmit raw data through jack plug of an iPhone/iPad?

    I have a dummy hardware that have a jack socket and a simple protocol. I want to send/receive serial data from this hardware on my iPhone/iPad, but I don't know if this is possible, because is a very low level protocol. I also have bluetooth, but is not supported by apple, so I decided to investigate this option, with the jack plug. I called Apple support but they couln'd help me and they told me to ask here. Thanks!

    There are devices, like credit card readers, heart rate monitors and such that can do this.  I am no expert by any means, but those devices supposedly work as a Frequency Shift Keying modem, sending data at a pretty low baud rate to the software on the iOS device.
    So it is doable, but my understanding it takes a combination of a hardware device to transmit the data via the headphone jack, and then a specific iOS app designed to capture and read that data.
    Definitely non-trivial.
    P.S. the modem itself is commercially available, example -
    https://www.sparkfun.com/products/10331

  • Configure-ha-persistence

    I want to know if this command is going to really overwirte the configuration set in the sun-web.xml. I found this command doesn't work at all or i am missing something important.
    configure-ha-persistence -user admin -host localhost -port 4850 -type ha -store jdbc/cluster1-hastore �scope session �frequency web-method cluster1

    asadmin configure-ha-persistence will effect changes to the configuration in the domain.xml and not your application's web.xml/sun-web.xml.
    asadmin configure-ha-persistence --help
    will give you detailed information about this command.
    Below is a snippet of the domain.xml file
    <web-container-availability availability-enabled="true" http-session-store-pool-name="jdbc/hastore" persistence-frequency="web-method" persistence-scope="session" persistence-store-health-check-enabled="false" persistence-type="ha" sso-failover-enabled="false"/>
    Cheers,
    Vasanth

Maybe you are looking for

  • Finder Favorite Links can´t be deleted

    Hi, i have a littel problem. I used the day to clean up my countless number of external-Drives. by doint that i must have drag some files on the fevorite list of the finder. After That i deleted these files. Now i can see the links to that files in m

  • Ever since updating to IOS 6, my wifi has not been staying connected

    This is applicable for my iPad and iPhone 4S. My iPhone doesn't connect to my home wifi at all and my iPad has issues staying connected. I never have these issues using my work place's free wifi for either device. At home I lose connection with my Wi

  • Issue with reversal of MIRO for Planned Delivery Cost

    Hi Xperts We have found out an issue while reversing the MIRO document for Planned Del costs. When we have done the MIRO, the accounting entry got correctly posted with correct account keys.Conditions are not inventoried. However, when we had reverse

  • Upgrading From 2007A SP01 PL 05  to 2007A  SP00 PL 49

    I have just installed 2007A SP01 PL05 and acquired the license. Now I want to upgrade to 2007A SP00 PL 49.. SP00 because there is no SP01 with PL 49.. Thanks for the help in advance

  • Smoothing factors for Vendor Evaluation for Services

    Hi Team, How to apply smoothing factors for Quality and Timeliness of services in External Services. Any help is appreciated. Thanks ANita.