5122 sampling, decimation & sunchronization

Syatem configuration:
1. 8 slot PXI system
2.Five 5122 14-bit digitizer cards
3. one 6602 counter/timer card
Q1. is it possible to synchronize the system to a 10MHz standard
frequency (external to the system). is it possible to synchronize the
sampling frequency of all the 5122 and clock output of 6602 can be
synchronized to the externally supplied 10MHz referecne clock.
Q2. What is decimation in 5122? the datasheet says minimum sampling
frequency as 30MSPS then how the digitizer samples at frequencies less
than this
Q3. 50ohm cable driving capability of 5122 sampling clock output

Hello ,
I would like to answer your question that you posed. Please let me know if you have further questions.
A1: Yes it is possible to synchronize the 5122 cards with an external clock (10MHZ signal). You could either use this external signal as the source of your sample clock or use it as a reference signal. The backplane of the chassis could also serve as a reference signal for your acquisition.
A2: Decimnation is well explained in the NI High Speed Digitizers Help file. I copied and pasted the Sample clock section of the help file. In the case of the 5122, decimnation is allowed with external clocks.
Sample Clock
The sample clock is sent to the ADC of each channel and to the acquisition engine to control the sampling rate of a digitizer. The sample clock sources are as follows.
A3: I would appreciate further details on what is needed here. Are you looking for some specifications about transmission capabilities?
Internal Sample Clock
High-speed digitizers and oscilloscopes have an onboard (internal) clock that controls the sampling rate as well as other timing functionality of the device. In most cases, the onboard oscillator is a Voltage Controlled Crystal Oscillator (VCXO). Typically, an onboard DAC (digital to analog converter) is used to calibrate the VCXO to exactly the desired clock rate. This DAC can also be used to adjust the frequency of the VCXO to phase lock it to a reference clock The maximum sampling rate of a device is usually determined by the speed of the onboard clock. However, other sampling rates can be achieved by two methods; decimation of the data or dividing down the onboard clock.
Decimation Method
In the decimation method, the ADC samples at the rate of the onboard clock and then sends its digital data to a decimator that essentially discards samples at a specific interval to achieve slower effective sampling rates. The valid sampling rates are always an integer divisor of the onboard clock. For example, if the onboard clock is 100 MHz but you want to sample at 25 MS/s, you must use decimation. The decimation method would discard all data except for every fourth datapoint to achieve exactly 1/4 of the maximum sample rate (or onboard clock rate).
Divide Down Clock Method
In the divide down clock method, the onboard clock is sent through a series of clock dividers, and then that clock is sent to the ADC. Typically, the decimation method is preferred over the divide down clock method.
External Sample Clock
Some digitizers and oscilloscopes can accept an external sample clock. This external sample clock is used to replace the onboard clock (the VCXO) for synchronization or to achieve a sampling rate that cannot be specified by using the onboard clock. Some devices can also decimate the external sample clock to achieve a sampling rate that is an integer divisor of the external sample clock. For example, if the external sample clock is 70 MHz, you could decimate the clock by a factor of 2 and achieve a 35 MS/s sampling rate.
Ayman K

Similar Messages

  • PXI-5122 External Sample Clock

    PXI-1031 Chassis
    PXI-8106 PC
    PXI-5122 14bit 100MS/s Digitizer
    Labview 8.5
    I am driving X-Y mirrors steering a laser.
    I am measuring the reflected light
    to develop a raster image of a sample.
    I have a pixel clock running at 60MHz that
    I want to clock the acquistion and external
    trigger that defines the 'line valid' or sampling
    across the mirrors during their constant velocity
    range.
    I am using [PFI0 with 'READY for START EVENT'] as
    a start pulse to run my x-y mirror scan.
    CH0: Analog signal
    SMA TRIG: line valid
    AUX: PFI0 with 'READY for START EVENT'
    In the property node 'niScope'
    when I add the following elements:
    Sample Clock Timebase Source = VAL_NO_SOURCE
    Sample Clock Timebase Rate = 60000000
    Sample Clock Timebase Divisor = 1
    I get the following message:
    Error -1074118614 occurred at Error occurred at:  niScope Fetch Binary 16.vi:2
    Possible reason(s):
    Driver Status:  (Hex 0xBFFA402A)
    An acquisition has not been initiated.
    Error -1074134971 occurred at Property Node (arg 4) in CSKB-4X_VID.vi
    Possible reason(s):
    The channel or repeated capability name is not allowed.
    Attribute: NISCOPE_ATTR_SAMP_CLK_TIMEBASE_SRC, Channel: 0
    Attached are the VIs with the elements added to the niScope property node
    and without.
    I get the above errors even when I set the 'Sample Clock Timebase Source'
    to 'VAL_NO_SOURCE'
    It appears, by just adding the elements, it gives me the error(s).
    How can I get the external sampling clock to work along with external trigger?
    Solved!
    Go to Solution.
    Attachments:
    CSKB-4_VID.vi ‏148 KB
    CSKB-4X_VID.vi ‏146 KB

    Hi csk,
    I was wondering if you could clarify how many
    samples you wish to take. Am I correct that you wish to take 30,000
    sets of 150 samples each, or do you mean you want to take 150 sets of
    30,000 samples each (since 30,000 periods of the 60 MHz clock fits
    within 90% of a 1.8kHz signal)? In either case, the current method you
    are using is only going to acquire a single record each time through
    the loop, and so you will be limited by how fast you can retrigger in
    software.
    For your application, it sounds like you will
    need to perform a multi-record acquisition, as this will allow you to
    specify what condition to trigger off of and how many samples to
    acquire each time the trigger occurs. In this way, each "transition" of the sawtooth wave is considered a single record, and you are acquiring multiple different records corresponding to each time a rising edge trigger occurs. I believe that you can accomplish
    exactly what you need with only a slight modification to the niScope
    shipping example "niScope EX Multi Record Fetch More Than Available
    Memory.vi" (found at Start » Programs » National Instruments » NI-SCOPE
    » Examples). With this VI, you can specify that you wish each record to
    have a min record length of 30,000 samples (or 150 samples if this is
    the case) and that you wish to acquire 150 records (or 30,000 if this
    is the case). The only major change that you would need to make is to
    change the Configure Trigger VI to be a Digital Edge trigger rather
    than an analog trigger. With this and a few other modifications (ie -
    configuring the external clock) you should be able to accomplish what
    you need. Please let me know if I explained this alright and if my
    assumptions are correct. Thanks, and best of luck!
    Daniel S.
    National Instruments

  • NI Scope 5122 Variable Sampling Rate

    Hello,
    I'm using an NI 5122 high-speed digitizer card to acquire data and would like to synchronize the sampling rate of the card to the frequency of the data.  For example, my first set of data will have a frequency of 13.6MHz so I'd like to sample at 13.6MHz.  When I connect a 13.6MHz signal to the CLK IN on the front panel of the card and write Labview code to sample at this rate (by either the sample clock or reference clock) I receive error messags.  Does anyone know if its possible to have a truly variable sample rate for this card?
    Thanks,
    Steve
    Solved!
    Go to Solution.

    Hi Steve,
    Thanks for the post and I hope your well today!
    I noticed you've not had any support thus far.
    Im not very familar with NI-scope, but with DAQmx once the task has commited you wouldn't be able to alter the sample rate. Now with pulse train generation you can (create) what effectively appears to be a didn't sample rate.
    So unless NI-scope has built in this functionality, Im not sure it would be possible. 
    Could you maybe attach your code and the error details?
    Kind Regards,
    Kind Regards
    James Hillman
    Applications Engineer 2008 to 2009 National Instruments UK & Ireland
    Loughborough University UK - 2006 to 2011
    Remember Kudos those who help!

  • SAMPLE:C,DECIMAL TO HEXADECIMAL OR REVERSE

    제품 : PRECOMPILERS
    작성날짜 : 2002-05-26
    SAMPLE:C,DECIMAL TO HEXADECIMAL OR REVERSE
    ==========================================
    PURPOSE
    다음의 간단한 두 C Source code들은
    16진수를 10진수로 10진수를 16진수로 바꾸는 방법의 예를 보이고 있습니다.
    EXAMPLE
    prompt$ vi hex2dec.c
    #include <stdio.h>
    int main(void) {
    unsigned int num;
    printf("Hexadecimal number ? ");
    scanf("%x", &num);
    printf("(%d)10\n", num);
    return 0;
    :wq
    prompt$ vi dec2hex.c
    #include <stdio.h>
    int main(void) {
    unsigned int num;
    printf("Decimal number ? ");
    scanf("%d", &num);
    printf("(%X)16\n", num);
    return 0;
    :wq
    prompt$ cc -o hex2dec hex2dec.c
    prompt$ cc -o dec2hex dec2hex.c
    prompt$ ./hex2dec
    Hexadecimal number ? 7FFF
    (32767)10
    prompt$ ./dec2hex
    Decimal number ? 32767
    (7FFF)16
    Reference Document
    ------------------

    Try the SDK forum.

  • Question about sample rate and PXI 5122

    Hello! i am new at using labview and pxi cards. i am trying to sample a signal from an analog gennerator with pxi-5122 so afterwards i can process the samples and extract the processed samples to an oscilloscope through pxi-5421. i tried to use the labview examples for pxi-5122 for sampling and processing( more precisely the example "digital filtering"). They are working perfectly for high sample rates (some MHzs), but when i try to sample low frequency signals (for example 20kHz) and use sample rate according to Nyquist criterion, the acquired samples dont reconstruct the initial signal at all. if you have experienced similar problems, how can i sample low frequency signals with sample rates according to Nyquist criterion?

    Nyquist criterion says: "sampling freq. should be at least twice the max. feq. component in the signal". For better reconstruction you should keep the sampling rate to some 8-10 times of max freq. component in the signal.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • I am trying to sample 2khz signal at 8khz,with an accuracy upto 6place of decimal ,using pci 1200 DAQ card.

    how can i externally trigger this operation.i need to sample my signal at 4 points and store it in a excel sheet and the values should be same,as the the 2khz signal and the 8 khz signal both are comming from the same source.

    could u tell me what more details would be required....i will be more than glad to let u know about it.

  • Pci 5122 minimum sampling rate

    what is the minimum rate at which i can do sampling from pci5122 card with external clock?

    Check out this thread - http://forums.ni.com/ni/board/message?board.id=150&message.id=529.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • How to coerce the sampling rate??

    I think I found my problem with sampling rate.
    I'm using a PCI-5122 scope card, and in many of my aquisitions, I'm setting the sample rate to 40MS/s. Apparently, this is not a valid number and the scope reverts to 50 MS/s
    Later when I try to calculate cycles per second based on cycles per sample, I need the actual sample rate, and 40 MS/s ain't it.
    I'm trying to coerce sampling rate.
    please,.

    The digitizer coerces the sample rate because of how the sample clock is derrived from the Reference Clock.  The following information is on page 13 of the specifications:
    http://digital.ni.com/manuals.nsf/websearch/C6B059C1BDD70101862574C8005567F1
    The sample clock is created by dividing down the Reference clock (internal reference clock is 100MS/s) by decimation, and it divides it by N, which is an integer between 2 and 65530.  
    Thus 50MS/s uses a decimation factor of 2, and 33.3MS/s is the next valid sample rate with a decimation factor of 3.  So when you specify a sample rate that is not possible, the driver automatically coerces the requested sample rate up to the next valid rate.  You can obtain the actual sample rate used in an acquisition using the NI-SCOPE property "Actual Sample Rate", or the LabVIEW VI "niScope Sample Rate.vi".  Using this property, you can get the values you need for your calculations.
    I hope this helps!
    Nathan
    Product Support Engineer
    National Instruments

  • Re-arming trigger time with pxi-5122

    Hi all!
    this is my first discussion in this forum so I'm not sure it's the right place to post it, because i'm using LabView but maybe it is an hardware problem.
    So... I have a problem to calculate the re-arm trigger time for the pxi 5122.
    From the data sheets I read that it should be about 3 us with the tdc off or 12 us if on.
    But I needed an accurate measure of the dead time following each record measured so i decided to find it by myself...
    Using an acquisition program I have previous written in LabView, I started single acquisitions of 10000 records and each record is composed of 128 samples; as signal I used square waves with different frequencies, of 10 volts peak-to-peak (my trigger was set on the first channel of 5122 with 1 volt of edge value).
    First acquisition: 50 kHz wave. Theoretically I need 0.2 s to capture 10000 records without loosing any signals from the square wave. Choosing an acquisition time for a single record of 15.3 us, I found that the time required was 0.199998 s, very similar to the expected one.
    Then choosing an acquisition time for a single record of 15.4 us, I found about 0.4 s.
    I can guess that in this second case one every two wave peaks goes lost so I required twice the time to capture 10000 records.
    Because a wave period is 20 us I have calculated a dead time of 20 - 15.3 = 4.7 us.
    It wasn't as the 3 us described for the 5122 but i wasn't impressed and i went on with my try.
    Second wave: 20 kHz. I need 0.5 s to capture 10000 records without loosing signals from the square waves.
    What i found was that in this case, choosing an acquisition time for a single record of 39.6 us I required 0,5 s to capture all the peaks, while with 39.7 us I required about 1 second, again twice the time.
    As the previous example I have calculated the dead time: 50 - 39.6 = 10.4 us.
    Very strange... the dead time I supposed being the rearming trigger (and so fixed) was different for the 2 cases.
    Trying with others waves lenghts, values were always different.
    This happen also fixing the frequency of the square wave and changing the number of samples per record.
    For example, with 128 samples per records as I said before I needed a measure time of about 15.3 us to collect all the consecutive peaks, while with 64 samples I needed 12,8 us and so on.
    So it seems to be a dependency between the dead time after a records ( the rearming trigger? now i'm not so sure if I can call so) and the sampling frequency of the pxi 5122.
    But I don't know why the DAQ behave in this way.
    Is it right? Rearm time should be fixed,shouldn't it?
    I know it required a bit of time to read my problem but i tried to be more accurate I could.
    Thank you in advance.
    Giacomo
    Solved!
    Go to Solution.

    Just as with full blown oscope, the cannot select a timing period between the scales shown on the front panel.  For example, the horizontal setting is labled 1us, 2us, 5us, etc.  You cannot select 2.5us.  Here is an excerpt from the PXI-5122 spec manual triggering section:
    Divide by
    n decimation available where 1<n<65,535
    For more information about Sample Clock and decimation, refer to the NI High-Speed Digitizers Help.
    What this means is that when you change from 15.3us to 15.4us, the scope changes timing ranges.  That is why it takes twice as long to acquire the samples.
    - tbob
    Inventor of the WORM Global

  • Hexadecimal to decimal conversion help needed

    hi all
    i need to know if there exists a method to convert a hexadecimal number to a decimal number
    If so please let me know which class to refer
    As a sample to make it more clear
    i will be reading a hexadecimal number from a file and want to convert it into decimal number before entering it into Data Base
    Thanking in anticipation ofreplies

    i = Integer.parseInt("3ff", 16); this will parse to the decimal
    the resulting i will be 1023
    i think u get me
    regards
    shanu
    [email protected]

  • ALV report - remove of decimal values

    Hi experts,
    In my ALV report, output table having decimal values, ex:90000.50, i want to display only 90000,
    can help any one inthis.
    Thanks in advance.
    Regards
    Rams

    Hi,
    for that particular field in Field catalog..
    <ur field cat>-decimals_out = 0.
    see this sample code.
    type-pools: slis.
    DATA: begin of itab6 occurs 0,
    chk type c,
    a type p decimals 2,
    b type p decimals 2,
    c type c,
    end of itab6.
    data: ls_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
    wa_layout TYPE slis_layout_alv.
    itab6-a = '1.12'.
    itab6-b = '2.25'.
    itab6-c = '+'.
    append itab6.
    append itab6.
    append itab6.
    append itab6.
    ls_fieldcat-fieldname = 'A'.
    ls_fieldcat-seltext_m = 'A'.
    append ls_fieldcat.
    ls_fieldcat-fieldname = 'B'.
    ls_fieldcat-seltext_m = 'B'.
    ls_fieldcat-decimals_out = 0.  "this ll do
    append ls_fieldcat.
    ls_fieldcat-fieldname = 'C'.
    ls_fieldcat-seltext_m = 'C'.
    append ls_fieldcat.
    wa_layout-box_tabname = 'ITAB6'.
    wa_layout-box_fieldname = 'CHK'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = sy-repid
    it_fieldcat = ls_fieldcat[]
    IS_LAYOUT = wa_layout
    TABLES
    t_outtab = itab6[].
    Cheers,
    jose.

  • BI Report showing NULL for decimal numbers

    Oracle Business Intelligence 11.1.1.7.0
    In an earlier version of BI we had an issue with our Reports where any numbers with digits after the decimal would return a blank result in the report (the correct numbers would still show up in the Data Model's sample data), but only when viewed as an Interactive report (PDF views were fine).  However, after an upgrade it happened with any report views, not just the Interactive Report view.  I found a work-around for this were I CAST each number column to Double Precision, and then it would show up fine.  That worked for a few months, only now it doesn't work at all.  After speaking with the system admin, I do no think any upgrades happened between when the CAST solution started working and when it stopped working.
    Has anyone else witnessed this issue?

    Okay, apparently the CAST solution is still working, just not when I use a SUM (have not tested other aggregates).  Creating a sub-query like below, however, works:
    SELECT CAST(result AS DOUBLE PRECISION)
    FROM
    SELECT SUM(col_1) AS result
    FROM table_1

  • Sample code converting binary data to image file

    Hi experts ,
    I need sample code to convert binary data (bytes) in to an image file.
    any help will be appreciated.
    Thanks and Regards,
    Naresh

    You need to show binary and decimal?  Or now just decimal?
    If binary and decimal, you can right click on your indicator and choose "Display Format...".  If you select the Advanced Editing Mode, you can make soft interesting display formats.  This includes showing the same value in mulitple ways in the indicator.  Try something like "%032b - %d" for the format string.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Ni 5122: Use of functions that manipulate attributes in NISCOPE

    HI, all
    I would like to first thank  Alan L for responding to my last message. It was helpful.
    I am currently using ni 5122 in sampling data sets and EACH set consists of  400 triggered records
    and each record contains 1024 points (So this 1024 X 400 matrix will constitute a single image).
    The sampling rate is 33 Mhz(There is a reason for choosing this sampling frequency, plz do not
    suggest me to increase the sampling frequency as a solution).
    Since the trigger occurs at 10 KHz, it will take 40 milliseconds to acquire
    a data set which corresponds to a single frame of image.
    I am trying to configure my program ( I am using VC++) such a way that I fetch the data
    from on-board memory of digitizer to main memory of host computer and  perform DSP
    on each triggered record while sampling rather than waiting for the entire data set (1024 X 400) to be collected.
    The frequency of the trigger signal is 10 kHz, meaning that I have 100 usec for each triggered
    record. Since I am using approximately 31 usec to sample the data, I have about 69 usec of idling
    period bewteen each triggered record. So, I have attempted to utilize those idling period.
    I have looked at "Acquiring data continuously" section of  "High Speed Digitizer Help" manual.
    From there, I found out that I can fetch triggered records while sampling is still going on.
    The manual suggests me to play with the following attributes.
    NISCOPE_ATTR_FETCH_RECORD_NUMBER
    NISCOPE_ATTR_FETCH_NUM_RECORDS
    with the family of
    niScope_SetAttributeXXX and niScope_GetAttributeXXX functions.
    I have attempted to change value of those attributes but
    got the following error.
    "The channel or repeated capability  name is not allowed." This error also occured
    when I attempted to just READ! (The functions I mentioned above appear immediately
    before niScope_InitiateAcquisition function in my prog.)
    I have also looked at the accompanying c example codes to remedy this,
    but found a strange thing in the code. Within the example which uses
    niScope_SetAttributeViInt32, the parameter channelList is set to VI_NULL
    instead of "0", "1" or "0,1".  Why?
    As I mentioned earlier, I can get a single frame of image every 40 millisec
    ( 25 frame/sec), if everything works as I planned.  Without fetching portion of
    codes, my program currently generates about 20 frame/sec but when I include
    the fetching codes, the frame rate decreases to 8 frame/sec. 
    If anybody has a better idea of reducing fetching time than the one I am using,
    please help me.
    Godspeed
    joon

    I would like to thank you (Brooks W.)  for the reply.
    I think I have stated that " 'my program'  generates 20 fps if fetching portion of code is omitted."  As I have mentioned earlier I am developing own app. S/W using VC++.
    I am already using niScope_FetchBinary16 which you have suggested in your reply.
    Here is a full disclosure of issues I am experiencing when fetching triggered records from 5122. I initially wrote a simple code which runs in int main() function and profiled the  time used to fetch data using niScope_FetchBinary16. The rate was  23.885714 million samples/sec. However, when I integrated the exact same piece of code to my Win32 app., the rate has gone down to 8.714891 million samples/sec. My PCI link is running at 33 Mhz so the PCI clearly has nothing to do with this problem
    I have been looking through NI Discussion forum to find an answer for this and found a person (look at jim_monte's thread "Improving NI-SCOPE performance ") who is experiencing a similar kind of problem. He noticed while executing his program that what appears to be unnecessary DLLs are being loaded.
    Is my problem caused by something that jim_monte suggests or do you have any other explanation to my issue?

  • Select amount field of a table with decimal place of 3rd value grater than 0.

    Select all the reord  in a table with amount decimal place of 3rd value grater than 0.

    Can you show the sample data + desired result?
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

Maybe you are looking for

  • Problem exporting slideshow

    I hope someone can help me, I am new to MAC. I have just created my first slideshow in iPhoto (88 slides-3 songs). When I preview the slideshow in iPhotos the slides and photos are in perfect sync. I then export the slideshow to iDVD as I have read i

  • RFID in 46C - AII and XI or NOT

    Hi, we are thinking to implement RFID technology, but we don´t have AII and neither XI. What do you think that is the best way to begin? What are the advantadges of install AII (including extra cost for my client) and XI. -Can i integrated RF without

  • Email return data formating

    hi all, I'm building a basic "contact me" email return page, and it's working...at least partially. (that's the good news) the "bad" news is.. when I fill in the above blanks in the swf, and click send, it opens my email ("mail"-mac) and populates my

  • Soft Proof Default Location

    Photoshop CS3, Mac OS 10.5.2 After I create a custom soft proof I would like it show up in the "View" drop down. Where is the "default" location to save custom soft proofs so that they show up in the drop down menu? Thanks

  • Printing from Firefox - Print defaults to LANDSCAPE. How to change to PORTRAIT? (Mac OS 10.8)

    Hello all. Printer type: HP Laserjet Pro CP-1525nw Printer Model: CE-875AOS: Mac OS 10.8.3Browser: Firefox v 20.0  When I print from Word or Excel, all is OK.However, when I print from Firefox, any website (example):http://www.gentrustwm.com/wp-conte