Make frequency response analyser using frequency generator and counter

Hello
Can we make a frequency response analyser using a Frequency generator and frequency counter?
How to add modulation with it? Modulation frequency is to be varied as per the input to given to the carrier!
The outputs are Frequency, magnitude, and the phase as like solartron FRA.
somebody have an Idea for this
awaiting for the solution 
thank you 
"Thanks with regards "
by
..........Gireesh..........

Hello Gireesh,
You can use a function generator to generate frequencies and use the modulation tollkit and other tools availabe with LabVIEW to do the modulation part . Or you can use the analog output ports on the daq card to generate different frequency signals for the same purpose .This should pretty much serve your purpose.
http://zone.ni.com/devzone/cda/epd/p/id/5646
http://digital.ni.com/manuals.nsf/websearch/AF3615F31CE9656C862576070020B8F7

Similar Messages

  • Frequency Response Analyser: Error -1802 occurred

    Hi,
    I'm fairly new to Labview but feel I know most of the fundamentals.
    I've been trying to convert the following bit of code from Matlab to Labview (I am aware 8.20 has a math script function but I don't have access to it). Please could someone have a look at my VI and possibly tell me why I am getting the 1802 error. It suggests that "(Hex 0xFFFFF8F6) Waveforms have different dt values." but I'm not sure what this means or how to fix it.
    Also, if anyone has any constructive critisism of my methods for implementing the code then I would love to hear them.
    Many thanks for your time in assisting me,
    Ian Haigh
    % routine for calculating Transfer Function
    % signal is the array containing the measured signal
    % sigs is the array containing the input sine wave
    % sigc is the array containing the input cosine wave
    clear;
    freq=11.45;
    sfreq=360*freq;
    cycs=10;
    a=0;
    b=0;
    i=1;
    for t=0:1/sfreq:cycs/freq;
    n=cycs*360+1;
    ph=60;
    signal=0.37*sin(2*pi*freq*t+ph*pi/180);
    time(i)=t;
    sigs=sin(2*pi*freq*t);
    sigc=cos(2*pi*freq*t);
    real(i)=signal.*sigs;
    r=real(i);
    comp(i)=signal.*sigc;
    c=comp(i);
    a=a+r;
    b=b+c;
    i=i+1;
    end
    a=(2*a-real(1)-real(n))/(n-1);
    b=(2*b-comp(1)-comp(n))/(n-1);
    R=sqrt(a*a+b*b)
    ang=atan(b/a)*180/pi
    Attachments:
    Frequency Response Analyser v7.vi ‏1045 KB

    Hi Ian,
    It seems that you are attempting to use different dt in the waveforms, but I founded in this link two ways to avoid having this problem. Hope you find it useful. Thanks for using the forums!
    http://digital.ni.com/public.nsf/websearch/C41966093C3D030F86256FF8007F8BF5?OpenDocument
    NorSa
    AE LATAM
    NorSa
    NI Applications Engineer Latin America
    Para Soporte entra aquí

  • Frequency Response Analyser or Impedance Spectroscopy

    Hi
    I am looking for a Labview program to allow the freq. response of say a
    tuned circuit.
    I will be using a GPIB Function Gen. From 1Hz to 10MHz and measuring the
    peak-peak value across a shunt resistor that is in series with the tuned
    circuit.
    Thus as the frequency increases then the tuned circuit will respond
    accordingly. If we take samples every 100Hz then we can produce a spectra
    of the tune circuit.
    I actually going to use this for measuring the char. of an electrochemical
    cell.
    Any Suggestions
    Wayne

    Thanks Carlos
    The latter method I did not think of but will try it.
    Cheers
    Wayne
    "JuanCarlos" wrote in message
    news:[email protected]..
    > Wayne,
    >
    > Looks like a sweep sine analysis should give you a good idea about the
    > frequency response. Make sure that you measure the input and output
    > signals of the circuit; this way you can just compeir RMS values and
    > get the frequency response.
    >
    > Another method that you may want to look into is a broad band
    > frequency response. Basically you send white noise to the circuit;
    > then you acquire the input noise and the output noise; the you
    > calculate the FFTs of this data and compair it; after some averaging
    > you get the frequency response graph of your dev
    ice. LabVIEW has a VI
    > called Frequency Response Function that does a large part of the job;
    > together with the "Frequency Analysis of a Filted Design.vi" example
    > you can get a good idea on how to perform this test.
    >
    > I hope this helps.
    >
    > Regards,
    >
    > Juan Carlos
    > N.I.

  • Frequency response at low frequency

    I'm working on a bandpass filter, and I'd like to get the frequency response showing that the frequencies outside the lower and higher cutoff frequencies are being cut off. However, the correct plot is shown only when my cutoff frequencies are high (roughly from 1000-8000 hertz). When I use low cutoff frequences(roughly 4-5 hertz), the plot is incorrect. So how can I get the frequency response to my low cutoff frequencies? Thanks.
    P.S. In the code, some parts are irrelevent. In the front panel, the only relevent part is the frequency response plot at the lower right corner, and the specs above it; in the block diagram, only the upper half(with IIR and FRF) is relevent. Thanks.
    Attachments:
    BME_Pressure_Sensor_V1.00.vi ‏591 KB

    Hi Manson
    There is a bug in your diagram since you connected the number of samples where you should have connected the sampling frequency.
    The sampling frequency is related to the pace at which you take the measurement.
    Usually, Fs = 1 / dT
    where Fs is the sampling frequency and dT is the time interval.
    It should work better.
    In any case, to have a better resolution in the low frequency range of your spectrum computations, you have to increase the number of points of your data because there exist the following relationship between dF (space between 2 points in you spectrum), dT, and N (number of data points) :
    dF = 1 / (2 x dT x N)
    Doc-Doc
    Doc-Doc
    http://www.machinevision.ch
    http://visionindustrielle.ch
    Please take time to rate this answer

  • How to make jar files run using java.exe and not javaw.exe

    Hi ,
    I am developing a project in which there is an GUI which inturn will call a console . I have made it into an jar file now.
    Here comes the problem. When i run the jar files , i don't get a console. While going through this forum, i came to know that jar runs using javaw.exe and this stops it from bring the console up.
    Please suggest me a way of running the jar file through java.exe or any other method by which i can get an new console poping up.
    PS : i cannot start the application itself in a system console , because the Console mode is an added feature and it is not to be displayed every time but only when the user intends to.

    Thanks for the reply pbrockway2. But i think, i was not able to convey my problem properly.
    I am supposed to start my application in a GUI mode ( No console are should be present at this point of time). Within the GUI , i have a option for working in the console ( i.e if console is choosen, then i start giving my output and take inputs from the console. I am trying to do this by just calling the "System.out "and "System.in" methods. )
    Here is the problem. As i have started it through " jar " it would not have a associated console with it.
    PS: i cannot have launching .bat file because that would result in my application having a console displayed at the very start of the application. I want the console to be displayed only when the user wants to start in console mode.
    Please suggest me some ways of doing this. Can i create a console from my java program and then exit it.

  • Web Service encoding response improperly using the plugin and ssl

    We are having a problem with the response from a document style web service. The response is xml but the elements come back as "&lt element &gt" instead of <element>. The return variable is of type String.
    Our setup is Iplanet(6.1) frontend using the wl-proxy plugin
    to Weblogic 8.1. The webservice is using https. If we use port 7001 (not https) instead of https 443 it works fine.
    It appears to me that the plugin when used with ssl has a bug.
    In help would be greatly appreciated. This situation did not occur using wls6.1. When we migrated to 8.1 that is when it started happening.
    Other screnarios tested: When going right at weblogic 8.1 using ssl no problem.

    Hi
    When you have generated the client proxy classes from NW DS you can then include the .jar file into your applets code. Then, to actually execute the web service you can use the following code (for example)
    String logicalPort = "<logical port defined in WSDL>";
    <generate service interface> service = new <generated service implementation>();
    <generated proxy class> port = (<generated proxy class>)service.getLogicalPort(logicalPort, <generated proxy class>.class);
    String param = "myval";
    String result = port.<method>(param);
    where everything in the <> represents the relevant client classes that have been generated by NW DS. Bear in mind that you can either create deployed proxies or standalone proxies. Deployed proxies get deplyed to the J2EE server and need to be looked up via JNDI. The implementation classes are not included as part of the proxy generation.
    Standalone proxies are created with the implementation classes included and can therefore be included in ANY java application.
    I hope this helps
    Darrell

  • Can NI 9263 and NI 9219 used to generate and acquirinfg ac signal

    nripen kalita

    Hi Nripen,
    you still write very unspecific questions, so you will receive very unspecific answers...
    Open the file functions palette. You will find a lot of functions to save data to files!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Samplerate problem using Analog In and Counter In from a NI 6259 USB. "Counter timeout" setting in DAQmx?!

    Hello,
    I got a fundamental problem with the correlation of the timer settings of the DAQmx driver in DIAdem DAQ. I dont know where the problem is located exactly but maybe someone can help me if I explain what happens:
    In my configuration I use some analog inputs from a USB 6259 with 20kHz samplerate and two counter inputs for frequency measuring via DAQmx in DIAdem DAQ.
    There has to be an extra DAQin block for the analog inputs and the counter inputs with also an extra "Clock"-block for each of them. The clock of the analog inputs runs with 20kHz hardware clock and the other one with 10Hz software clock because the hardware clock mode is not allowed or supported.
    My problem is the display refresh rate in VIEW. If the counter signal has no input (because the measured system is not active) the display seems to wait for any input and doesnt refresh the analog values on screen. If the system is active and a rectangle signal is seen by the counter in, the display refresh rate raises and the frequency value is displayed more or less accurate. Has that something to do with the counter timeout setting in the DAQin driver options block (marked in the attached image)? If i decrease the timeout, the display refresh rate gets better but not as good as without using the counter inputs in my DAQ diagram. I think the counter input is not as easy to handle as the usual analog inputs... I only want to see the measured frequency on the display during the measurement without getting any influence on the analog input channels and their displaying.
    The other problem is the display and the measurement of the frequency itself. If i check the function of the counter input in the Meas. & Automation Explorer the frequency is display correct without any dropouts or something like that. The signal I measure in DIAdem on the other side looks quite bad because there are spikes of some MHz and even more although the measured range is between 20 and 80Hz!
    Has anybody made similar experiences?
    Regards
    S. Zimmer
    Attachments:
    probs.png ‏112 KB

    Hi there,
    it seems that german is your mothertongue, so I'll reply on german.
    Digitale Eingänge müssen Software getaktet werden, da nur analoge Eingänge Hardware-Takt Unterstützung haben!
    Sie können den Hardware-Takt nur mit analogen Eingängen einsetzen, die, von einem Timer gesteuert, gepuffert Werte einlesen können. Digitale Größen verarbeitet der Hardware-Takt nicht.
    Mit dem Hardware-Takt erreichen Sie sehr hohe Abtastraten. DIAdem überträgt die gewünschte Rate und die Kanalliste auf die Karte und startet die Messung. Die Hardware erfasst die Daten selbstständig und sammelt die Daten. Der PC ist nur für den Abtransport und die Weiterverarbeitung verantwortlich.[...]
    Da digitale Signale nicht im Hardware-Takt erfasst werden können, müssen diese Signale parallel in Software-Takten ermittelt werden. Dies kann zu zeitlichen Verschiebungen führen, weil sowohl beim Start der Messung als auch während der Messung keine Synchronisierung der Timer im PC und im Messgerät erfolgen kann. Da zwei Timer nie ganz genau gleichzeitig gestartet werden und auch nie ganz genau gleich schnell laufen, stimmen die Zeiten in den Zeitkanälen nach der Messung nicht genau überein. Üblicherweise betragen die Abweichungen einige Millisekunden.[...]
    Weiters hab ich mal n Versuchsaufbau für die Frequenzmessung gemacht. Ich konnte problemlos Frequenzen messen...
    Am besten du schilderst kurz den Aufbau deiner Messung, was du messen möchtest und wie du den Max konfiguriert hast.
    Mfg Markus

  • Use of SUM and COUNT with GROUP BY

    All,
    I have a set like below:
    State DOB StartDt EndDt Desc Category MemberID SubID Code
    NC 2003-01-30 2014-01-01 2014-01-31 Child B 123456 2 38
    NC 2003-01-30 2014-01-01 2014-01-31 Child B 123456 2 39
    NC 2003-01-30 2014-02-01 2014-05-31 Child B 123456 2 38
    NC 2003-01-30 2014-02-01 2014-05-31 Child B 123456 2 39
    NC 2003-01-30 2014-06-01 2014-07-31 Child B 123456 2 38
    NC 2003-01-30 2014-06-01 2014-07-31 Child B 123456 2 39
    NC 2014-01-17 2014-01-01 2014-07-31 Infant S 456789 1 49
    NC 2014-02-04 2014-02-01 2014-07-31 Infant S 246376 3 49
    -- MemberID and SubID identify 1 member
    -- Member 123456 has 2 distinct "Code" i.e. 38,39 but each code has different "StartDt" and "EndDt"
    -- Expected Result
    State Desc Category CountOfDistinctCode TotalMonthsEnrolled
    NC Child B 2 (38 and 39 for same member) 7 months (1 + 4 + 2) (Difference between StartDt and EndDt:1 (1/31/2014 - 1/1/2014) + 4 (5/31/2014 - 2/1/2014).. )
    NC Infant S 2 (Same code 49 but different member) 13 months (7+6) (7/31/2014 - 1/1/2014 = 7 months + 7/31/2014 - 2/1/2014 = 6 months)
    I tried doing a count of distinct Code and the summing up the member months, grouped by State, Desc, Category, but I am not able to get 2 and 7 for child, it somehow calculates Months as 14 (7+7). Please let me know what you guys suggest.

    OK, so we need a different approach. We need a table of numbers, a concept that I discuss here:
    http://www.sommarskog.se/arrays-in-sql-2005.html#numbersasconcept
    (Only read down to the next header.)
    We join the numbers to temp table with BETWEEN over the numbers. Then we count the distinct combination of member ID and number.
    We also need to make an adjustment how to build the string for the DISTINCT. I initially assumed that your columns were integer, why I used str() which produces a right-adjusted fixed-length string of 10 characters. (The default, you can specify a different
    width as the second parameter.) But str() expects a float value as input, and will fail if for instance member id would be non-numeric. We cannot just concatenate the strings, since in that case (MemberID, SubID) = ('12345', '61') would be
    the same as ('123456', '1'). So we must convert to char to get fixed length. All that said, and some more test data added, here is a solution:
    CREATE TABLE #Test
    [State] CHAR(2),
    DOB DATE,
    StartDt DATE,
    EndDt DATE,
    [Desc] VARCHAR(8),
    Category CHAR(1),
    MemberID VARCHAR(10),
    SubID VARCHAR(2),
    Code VARCHAR(5)
    INSERT INTO #Test
    VALUES
    ('NC', '20130130', '20140101', '20140120', 'Child', 'B', '123456', '2', '38'),
    ('NC', '20130130', '20140121', '20140131', 'Child', 'B', '123456', '2', '39'),
    ('NC', '20130130', '20140201', '20140531', 'Child', 'B', '123456', '2', '38'),
    ('NC', '20130130', '20140401', '20140613', 'Child', 'B', '123456', '2', '39'),
    ('NC', '20130130', '20140601', '20140731', 'Child', 'B', '123456', '2', '38'),
    ('NC', '20130130', '20140614', '20140731', 'Child', 'B', '123456', '2', '39'),
    ('NC', '20130129', '20140601', '20140731', 'Child', 'B', '9123456', '1', '38'),
    ('NC', '20130129', '20140614', '20140831', 'Child', 'B', '9123456', '1', '39'),
    ('NC', '20140117', '20140101', '20140731', 'Infant', 'S', '456789', '1', '49'),
    ('NC', '20140204', '20140201', '20140731', 'Infant', 'S', '246376', '3', '49')
    SELECT * FROM #Test ORDER BY MemberID, StartDt, EndDt
    SELECT
    [State]
    , [Desc]
    , Category
    , COUNT(DISTINCT convert(char(10), MemberID) +
    convert(char(2), SubID) +
    convert(char(5), Code)) AS TotalCnt
    , COUNT(DISTINCT convert(char(10), MemberID) +
    convert(char(2), SubID) +
    str(N.Number)) AS CalMonths
    FROM #Test t
    JOIN Numbers N ON N.Number BETWEEN
    datediff(MONTH, '19000101', t.StartDt) AND
    datediff(MONTH, '19000101', t.EndDt)
    GROUP BY [State], [Desc], Category
    go
    DROP TABLE #Test
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Using MODEL clause and COUNT for not numeric data columns....

    Hi ,
    Is it possible somehow to use the COUNT function to transform a non-numeric data column to a numeric data value (a counter) and be used in a MODEL clause....????
    For example , i tried the following in the emp table of SCOTT dataschema with no desired result...
    SQL> select deptno , empno , hiredate from emp;
    DEPTNO EMPNO HIREDATE
        20  7369 18/12/1980
        30  7499 20/02/1981
        30  7521 22/02/1981
        20  7566 02/04/1981
        30  7654 28/09/1981
        30  7698 01/05/1981
        10  7782 09/06/1981
        20  7788 18/04/1987
        10  7839 17/11/1981
        30  7844 08/09/1981
        20  7876 21/05/1987
        30  7900 03/12/1981
        20  7902 03/12/1981
        10  7934 23/01/1982
    14 rows selected Now , i want to use the MODEL clause in order to 'predict' the number of employees who were going to be hired in the 1990 per deptno...
    So , i have constructed the following query which , as expected, does not return the desired results....
    SQL>   select deptno , month , year , count_
      2    from
      3    (
      4    select deptno , to_number(to_char(hiredate,'mm')) month ,
      5                to_number(to_char(hiredate , 'rrrr')) year , count(ename) count_
      6    from emp
      7    group by  deptno , to_number(to_char(hiredate,'mm'))  ,
      8                to_number(to_char(hiredate , 'rrrr'))
      9    )
    10    model
    11    partition by(deptno)
    12    dimension by (month , year)
    13    measures (count_ )
    14    (
    15     count_[1,1990]=count_[1,1982]+count_[11,1982]
    16    )
    17  /
        DEPTNO      MONTH       YEAR     COUNT_
            30          5       1981          1
            30         12       1981          1
            30          2       1981          2
            30          9       1981          2
            30          1       1990
            20          4       1987          1
            20          5       1987          1
            20          4       1981          1
            20         12       1981          1
            20         12       1980          1
            20          1       1990
            10          6       1981          1
            10         11       1981          1
            10          1       1982          1
            10          1       1990 As you see , the measures for the 1990 year is null...because the measure(the count(deptno)) is computed via the group by and not by the MODEL clause...
    How should i transform the above query... so as the "count_[1,1982]+count_[11,1982]" will return non-null results per deptno...????
    Thanks , a lot
    Simon

    Connected to Oracle Database 10g Express Edition Release 10.2.0.1.0
    Connected as hr
    SQL>
    SQL> SELECT department_id, MONTH, YEAR, count_
      2    FROM (SELECT e.department_id
      3                ,to_number(to_char(e.hire_date, 'mm')) MONTH
      4                ,to_number(to_char(e.hire_date, 'rrrr')) YEAR
      5                ,COUNT(e.first_name) count_
      6            FROM employees e
      7            WHERE e.department_id = 20
      8           GROUP BY e.department_id
      9                   ,to_number(to_char(e.hire_date, 'mm'))
    10                   ,to_number(to_char(e.hire_date, 'rrrr')));
    DEPARTMENT_ID      MONTH       YEAR     COUNT_
               20          8       1997          1
               20          2       1996          1
    SQL> --
    SQL> SELECT department_id, MONTH, YEAR, count_
      2    FROM (SELECT e.department_id
      3                ,to_number(to_char(e.hire_date, 'mm')) MONTH
      4                ,to_number(to_char(e.hire_date, 'rrrr')) YEAR
      5                ,COUNT(e.first_name) count_
      6            FROM employees e
      7            WHERE e.department_id = 20
      8           GROUP BY e.department_id
      9                   ,to_number(to_char(e.hire_date, 'mm'))
    10                   ,to_number(to_char(e.hire_date, 'rrrr')))
    11  model
    12  PARTITION BY(department_id)
    13  dimension BY(MONTH, YEAR)
    14  measures(count_)(
    15    count_ [1, 1990] = count_ [2, 1996] + count_ [8, 1997]
    16  );
    DEPARTMENT_ID      MONTH       YEAR     COUNT_
               20          8       1997          1
               20          2       1996          1
               20          1       1990          2
    SQL> ---
    SQL> SELECT department_id, MONTH, YEAR, count_
      2    FROM (SELECT e.department_id
      3                ,to_number(to_char(e.hire_date, 'mm')) MONTH
      4                ,to_number(to_char(e.hire_date, 'rrrr')) YEAR
      5                ,COUNT(e.first_name) count_
      6            FROM employees e
      7           GROUP BY e.department_id
      8                   ,to_number(to_char(e.hire_date, 'mm'))
      9                   ,to_number(to_char(e.hire_date, 'rrrr')))
    10  model ignore nav
    11  PARTITION BY(department_id)
    12  dimension BY(MONTH, YEAR)
    13  measures(count_)(
    14    count_ [1, 1990] = count_ [2, 1996] + count_ [8, 1997]
    15  );
    DEPARTMENT_ID      MONTH       YEAR     COUNT_
              100          8       1994          2
               30         12       1997          1
              100          3       1998          1
               30          7       1997          1
                           5       1999          1
               30         12       1994          1
               30         11       1998          1
               30          5       1995          1
              100          9       1997          2
              100         12       1999          1
               30          8       1999          1
                           1       1990          0
               30          1       1990          0
              100          1       1990          0
               90          9       1989          1
               20          8       1997          1
               70          6       1994          1
    93 rows selected
    SQL>

  • Looking to use BPEL Instance and counter inside of a transformation

    I'm trying to find a way to include the BPEL instance and a counter within a BPEL transformation to create a unique key.
    Example, picking up files with multiple lines and no unique keys, each file is processed as a unique BPEL instance (key 1), and would like to use the row number (of the file, but not specified in the file) as the second key.
    My process takes a file from a file adapter and loads it into a database adapter if that helps.
    Any ideas would be appreciated.

    We ended up finding a Node-set Function -> Position to return the position inside of the dataset.

  • Help using GROUP BY and COUNT

    The following SELECT statement will yield a report showing 3 days of the week and the number of "Msgs" that occurred for each day. How can I make it so that there's a 3rd column showing how many of those "Msgs" were "TxMsgs"
    (where IsTxMsg=1)
    DECLARE @Msgs TABLE (MsgId INT, DayOfWeek VARCHAR(5), IsTxMsg INT)
    INSERT INTO @Msgs VALUES (1, 'Mon', 1)
    INSERT INTO @Msgs VALUES (2, 'Mon', 0)
    INSERT INTO @Msgs VALUES (3, 'Tue', 1)
    INSERT INTO @Msgs VALUES (4, 'Tue', 0)
    INSERT INTO @Msgs VALUES (5, 'Wed', 1)
    INSERT INTO @Msgs VALUES (6, 'Wed', 0)
    INSERT INTO @Msgs VALUES (7, 'Wed', 0)
    SELECT DayOfWeek, COUNT(*) FROM @Msgs
    GROUP BY DayOfWeek
    ORDER BY DayOfWeek
    Thanks! 
    -- Curt

    DECLARE @Msgs TABLE (MsgId INT, DayOfWeek VARCHAR(5), IsTxMsg INT)
    INSERT INTO @Msgs VALUES (1, 'Mon', 1)
    INSERT INTO @Msgs VALUES (2, 'Mon', 0)
    INSERT INTO @Msgs VALUES (3, 'Tue', 1)
    INSERT INTO @Msgs VALUES (4, 'Tue', 0)
    INSERT INTO @Msgs VALUES (5, 'Wed', 1)
    INSERT INTO @Msgs VALUES (6, 'Wed', 0)
    INSERT INTO @Msgs VALUES (7, 'Wed', 0)
    SELECT DayOfWeek, COUNT(*) cnt1, SUM(Case when IsTxMsg=1 Then 1 Else 0 End) cnt2 FROM @Msgs
    GROUP BY DayOfWeek
    ORDER BY DayOfWeek

  • Frequency response function modal analysis

    After reviewing the signal analysis functions in DIAdem I have realized them to be a bit limited for modal analysis.  I have a couple hammer impact tests that I need to process a frequency response function for, and since this is brand new to me I'm not seeing anything in the embedded function list that is going to help me.  I was wondering if anyone out there has a couple of pointers on generating a FRF plot for modal hammer impact tests.  I did notice that the ChnFFT2 command allows me to generate a transfer function, coherance, and FFT Cross Spectrum channels for analysis.  Though I might be confused and this may be everything I need.  My FFT2 settings are below.
    [code]
    FFTIndexChn      = 0
    FFTIntervUser    = "NumberStartOverl"
    FFTIntervPara(1) = 1
    FFTIntervPara(2) = 2500
    FFTIntervPara(3) = 1
    FFTIntervOverl   = 0
    FFTNoV           = 0
    FFTWndFct        = "Rectangle"
    FFTWndPara       = 10
    FFTWndChn        = "[1]/Time axis"
    FFTWndCorrectTyp = "No"
    FFTAverageType   = "No"
    FFTAmplFirst     = "Amplitude"
    FFTAmpl          = 1
    FFTAmplType      = "PSD"
    FFTCrossSpectr   = 1
    FFTCoherence     = 1
    FFTTransFctType  = "Spectrum H0"
    FFTCrossPhase    = 0
    FFTTransPhase    = 0
    Call ChnFFT2("[1]/Time axis","'[1]/H_1' - '[1]/H_4'","'[1]/A_1' - '[1]/A_4'") '... XW,ChnNoStr1,ChnNoStr2
    [/code]

    Standard modal analysis has something denoted as FRF.  I have a labview application note "The Fundamentals of FFT-Based Signal Analysis..."
    Frequency Response Function
    The frequency response function (FRF) gives the gain and phase versus frequency of a network and is typically computed as
    where A is the stimulus signal and B is the response signal.
    The frequency response function is in two-sided complex form. To convert to the frequency response gain (magnitude) and the frequency response phase, use the Rectangular-To-Polar conversion function. To convert to single-sided form, simply discard the second half of the array.
    You may want to take several frequency response function readings and then average them. To do so, average the cross power spectrum, SAB(f), by summing it in the complex form then dividing by the number of averages, before converting it to magnitude and phase, and so forth. The power spectrum, SAA(f), is already in real form and is averaged normally.
    Refer to the Frequency Response and Network Analysis topic in the LabVIEW Help (linked below) for the most updated information about the frequency response function.
    http://zone.ni.com/devzone/cda/tut/p/id/4278
    So the options for FFT2 are
    No
    DIAdem does not calculate a transfer frequency response.
    Spectrum H0
    DIAdem calculates the transfer frequency response by dividing the FFT of the output signal (A) by the input signal (E): FFT(A)/FFT(E). DIAdem averages the amplitudes of the individual transfer functions.
    Spectrum H1
    DIAdem specifies the cross spectrum and the auto spectrum for each signal pair. DIAdem calculates the transfer frequency response by dividing the averaged spectra: Middle(cross(A,E))/middle(auto(E)). DIAdem does not average phases, because phases can delete each other.
    Spectrum H2
    DIAdem specifies the cross spectrum and the auto spectrum for each signal pair. DIAdem calculates the transfer frequency response by dividing the averaged spectra: Middle(auto(A))/middle(cross(E,A))
    If you assign the values Spectrum H1 or Spectrum H2 to the variable FFTTransFctType, DIAdem averages and divides the cross spectra and the auto spectra and calculates the amplitudes last.
    Which state auto spectrum when FRF is power spectrum. 

  • Frequency response - sound and vibration

    Hi,
    I need to find the frequency response of the DUT. I am using the NI example from sound and vibration toolkit to do
    so (LabVIEW 8.5\examples\Sound and Vibration\Getting Started\SVXMPL_Getting Started with Swept Sine (DAQmx).vi) now my problem is
    to tabulate the phase difference between the stimulus and response when i do it i get constant values. Even though i dont give any response 
    signal to the channel i get the wave same as stimulus, is it suppose to be like that !!!!!!!!!! I will attach my vi so that it gives the idea where 
    i am measuring the phase difference pls check it and help me with this.....thank you in advance.
    Attachments:
    DAQ Freq resp (req)_trial.vi ‏121 KB

    What is the DAQ card you are using for executing this Frequency Response?
    This DAQ error is related to the output frequency of your signal higher than the possible output rate of the card. Basically, you are trying to update at a rate higher than the capability of the card.
    For doing Frequency response, generally you need to have a NI DSA card (446x/447x/449x) with one Analog output and two analog inputs (minimum). Generate the swept sine signal from the Analog output channel, give this signal as input to your DUT and also to one of the Analog input channel. This input to your Analog input channel will act as your Reference signal. Then the response signal from your DUT, connect it to another Analog input channel. You would get a very good response results.
    The reason why you need to have a DSA board is that, for doing Frequency response, we need to acquire both high frequency and low frequency components without much loss. This is possible only if your DAQ board has a higher dB value (in the range of >110dB) which is present only in DSA boards.
    I have completed a Frequency Response Analysis just a week back with the same example programs. So there wont be any problem with that vi.
    Regards,
    Sundar Ganesh

  • This is regarding clarificat​ion regarding frequency responce analysis

    This is regarding clarification regarding frequency responce analysis
    using
    NI
    PCI 4551 add-on card, especially in the singal generation part for
    stimulating
    the unit under test.
    1. Is it possible to generate sine, step, ramp and arbitrary waveforms
    using
    this particular card?
    2. Ifso what is the range of frequencies that can be possible to
    generate
    using
    PCI 4551 card?( we may require from 1mHz to 2kHZ)
    3. And what is the maximum amplitude of the generated signal for full
    scale
    value?
    4. Whether real-time octave analysis for NI DSA software can serve the
    purpose
    of following tests: Frequency response test, Step response test,
    Velocity
    test,
    Strain Measurement, Linearity Test, Cyclic test.
    Or any other software tool is required?
    Regards,
    Sreedhar T

    Hi SreedharT,
    In response to your questions, I've included my responses. I highly advise referencing the NI-4551 User Manual for more details.
    1. Is it possible to generate sine, step, ramp and arbitrary waveforms
    using this particular card?
    NI-DSA includes functions to generate standard white noise, pink noise, band-limited noise, periodic white noise, single or dual-tone sine, and chirp signals. For step, ramp, and any other arbitrary waveforms you can use NI-DSA to define and generate an arbitrary analog output signal.
    There is a good example which ships with NI-DSA that demonstrates how to generate arbitrary waveforms on the NI-4551. You can find this example in the NI-DSA function palette in LabVIEW under Application Examples>>Advanced>>Arbitrary Output Example.
    By default, this example outputs a swept sine wave, but you can change the waveform to whatever you need.
    2. If so, what is the range of frequencies that can be possible to
    generate using PCI 4551 card?( we may require from 1mHz to 2kHZ)
    The maximum output frequency you can generate with NI-DSA is 23 kHz. This limit is governed by the maximum output sampling rate of 51.2 kS/s. Because the digital-to-analog converters on the NI 455x DSA devices feature sharp roll-off, anti-imaging filters, you can generate a spectrally pure sine tone up to 23 kHz with minimal quantization noise, so when using the NI 455x devices, you do not need to worry about the output signal becoming choppy or noisy when approaching the Nyquist frequency.
    The minimum frequency you can set is 0.1 Hz. This is limited by the finite size of the output buffer and the minimum update rate for the DAC. The output buffer is limited to 4,096 samples, and the DAC must maintain a minimum rate of 1.25kS/s for accurate results.
    In Octave Analyzer Mode, when you're inputting a certain frequency, keep in mind the input range differs for each analysis type and the two configurable center frequencies. I've included the frequency ranges for a single channel below.
    1/1-octave analysis
    center frequency fs=25.6 kHz:
    High: 8 kHz
    Low: 16 Hz
    fs=51.2 kHz
    High: 16 kHz
    Low: 31.5 Hz
    1/3-octave analysis
    fs=25.6 kHz
    High: 10 kHz
    Low 12.5 Hz
    fs=51.2 kHz
    High: 20 kHz
    Low: 25 Hz
    1/12-octave analysis
    fs=25.6 kHz
    High: 10.68 kHz
    Low: 11.05 Hz
    fs=51.2 kHz
    High: 5.34 kHz
    Low: 5.52 Hz
    3. And what is the maximum amplitude of the generated signal for full
    scale value?
    The maximum amplitude is equal to the voltage range for the selected output channel.
    4. Whether real-time octave analysis for NI DSA software can serve the
    purpose of following tests: Frequency response test, Step response test,
    Velocity test, Strain Measurement, Linearity Test, Cyclic test.
    Or any other software tool is required?
    The NI-DSA Real-Time Octave Analysis software add-on for NI-DSA supports fractional-octave analysis for 1/1, 1/3, and 1/12 octave analysis, level measurements, and A-, B-, and C-weighting. You can do octave, level, or both octave and level measurements, and have the additional option of specifying the weighting if required. This is all that can be done in real-time.
    To perform a frequency response test, it is preferable to use the swept-sine analysis mode of the NI-4551 rather than a broadband FFT-based frequency response. Swept-sine analysis provides two main advantages over a broadband frequency response measurement in which all frequencies are excited and measured simultaneously. The first is a wider dynamic range. The second is flexible measurements of signal distortion and nonlinearity. For more information of swept-sine analysis, please refer to the NI-DSA Software Manual downloadable off our web site. http://www.ni.com/
    For the Velocity test, Strain Measurement, Linearity Test, and Cyclic Test I should ask for more information about each test before attempting an answer. However, to answer your question, there are no methods I know of in NI-DSA that would directly perform these tests. In contrast with that answer, you may be surprised this functionality may be included with a LabVIEW development environment.
    Let me know if you have further questions or this does not resolve your issue!
    Chad AE
    Applications Engineer

Maybe you are looking for

  • Logical error in join stmt

    Hi, Pls tell me whats wrong with this stmt which is giving null values .   SELECT Aaufnr Bgstri Bgstrs Aautyp Aloekz Akokrs A~abkrs              into corresponding fields of table it_aufk              FROM AUFK AS A              INNER JOIN AFKO AS B

  • How to active my PR00as is comming in active

    my PR00is inactive   wen i m raising the sales order whta is the procedure to  make it active

  • Use of scope resolution operator in PHP development example

    I am relatively new to OOP in general so this question may sound dumb but In this documentation:  Query Performance and Prefetching To quote that text, " The $db->setPrefetch() call is used to set the prefetch value. The microtime() calls are used to

  • To map batch number to serial number for inbound message type WMMBXY

    Hi Gurus, Can anybody guid me how to map batch number to serial number for goods receipt inbound EDI 861 message type WMMBXY  . And can tell me how to assign serial number in Purchase Order for serialized product for perticuler Batch number.

  • Servlet run in tomcat server 5.5

    Hello I am new in developing the struts project.Any one help for my questtion My question is? I have develop the struts project in struts using eclipse and I have uploaded the files into the server.The Servlet file not working Thanks in advance