在LabVIEW SignalExpress裡如何使用 Create Analog Signal 產生低頻方波與高頻方波調變的訊號

各位先進大家好:
之前想要利用 Create Analog Signal產生一個低頻的方波與40k Hz的方波調變的訊號,
但不論如何調整 Create Analog Signal裡面block size或是sample rate的值,
所得到的兩個pulse的間距都沒有改變,(例如固定block size的值,調整sample rate,兩個pulse的間距都沒變,反之亦然)
參考下圖:
目前已有成功地產生出上圖的訊號,但卻不知如何調整設定使pulse間距能夠縮短(意即如何改變低頻方波的duty cycle),
而整體的設定如下圖:
雖然之前已有先進解釋過block size與sample rate的意思,
但在方波的調變上仍然有疑惑,
不知是否還有其他的參數要調整呢?
還請各位先進不吝指教,謝謝~

基本上您在SignalExpress調duty cycle, block size等,調的都是綠色框所示的部分,也就是你產生方波的duty cycle與綠色區塊的block 要多大。
你會看到紅色區域的間隔是由於訊號產生輸出後,軟體重新restart 下一次的任務的間隔,因此才會沒有波形輸出。你可以用post-execution delay來加大他的間隔,以ms來加大(因為PC的clock是1KHz),但是沒有辦法縮小得更小,因為最小就是0ms,也就是輸出訊號後DAQ close task馬上重新開始下一次task的最小迴圈間隔。
建議您使用Analog Waveform Editor先將波形編輯後(包含無訊號的間隔與有方波的地方),最後以continuous output連續輸出來達到這樣的效果。
或是單純用LabVIEW來做,也是可以先將欲輸出的訊號寫好進buffer,最後以硬體clock作連續輸出。

Similar Messages

  • "create analog signal" programmatic control of parameter Duty Cycle

    I need to generate a square wave with a programmable duty cycle in LabView (not SignalExpress).  I can use "Create Analog Signal" for a fixed duty-cycle signal but I cannot figure out how to get at the Duty Cycle parameter to change it programmatically.  I was hoping for something like Property Node access but found that this only works for front panel objects.
    Is there a way to dynamically change the Duty Cycle parameter in the "Create Analog Signal"? 
    Solved!
    Go to Solution.

    The Square Waveform vi found in Signal Processing - Wfm Generation has an input at the top for offset.
    - tbob
    Inventor of the WORM Global

  • Analog signal duty cycle incorrect

    I am using an NI PCIe 6535 board to send digital timing signals to a custom PCB.
    The signals are digital square wave signals with various duty cycles and phase shifts.
    I also need to send a 12 bit ramp signal to the board.
    I am having issues with the frequency.
    I need the timing signals to run at 833.33333 khz.
    I need the lsb of the ramp to run at 416.666666khz.
    To create the timing signals I am using "Create Analog signal", so that I can set up the square wave with the appropriate phase shift and duty cycle.
    Then I conver from analog to digital.
    I am using a DAQmx generate to output the signal to the PCB. I have noticed that the DAQmx gen frequency directly controls the ramps frequency.
    However for the digital timing signals there is some scaling factor. The frequency of the digital timing signals can be set in the timing signals them selves. The sample rate in the analog signal also effects the frequency.
    To get the frequencies that I need. I had to set the"create analog signal" sample rate at 2.778G S/s, the "create analog signal" frequency to 1.2889GHZ, and the DAQmx generate frequency to 1.66666 MHZ. At those numbers, I get the timing signals to output at 833.333KHZ and the second bit of the ramp at 416.6666HZ (for the ramp I upped it to 13 bit and I don't use bit 0, as it outputs at 833KHZ).
    However at these settings all of my timing signals have the same phase, and the same duty cycle, even though I have them set differently.
    Can someone please help? I think the issue is that I have the sample rate and frequency of the "create analog signal" block set too high, but if I set them lower my signals will not be at the right frequency.
    Attachments:
    timing signal 1.JPG ‏44 KB
    timing signal 2.JPG ‏47 KB
    daqmx gen.JPG ‏55 KB

    Hi David,
    We found that there seems to be a weird divider between the sampling rate of the analog signal module, the analog signal sample rate, and the f daqmx gen.
    After various tests we made a chart of what we observed. Fsignal and sample rate are values set in the "create analog signal" module, Fdaqmxgen is set in the "DAQmx generate" module. We used a "create anaolg signal" module to create the square wave, then convert analog to digital convert the square wave to digital.
    We have "repeated signal" and "N periods" checked.
    Fsignal
    Fdaqmxgen
    Sample rate
    Frequency   measured on the scope
    1GHZ
    10MHZ
    100G s/s
    100KHz
    100MHZ
    10MHZ
    100G s/s
    10KHZ
    1GHZ
    1MHZ
    100G s/s
    10KHZ
    10GHZ
    10MHZ
    100G s/s
    1MHZ
    100GHZ
    10MHZ
    100G s/s
    10MHZ
    100GHZ
    10MHZ
    100G s/s
    5MHZ
    The equation we came up with is Feff = (Fsginal/FDaqmxgen)*1000.
    To meaure the frequencies were using an HP 54600A oscilloscope, and probing standoff pins on our custom pcb.
    We have several versions of the project, attached is the latest one.
    Kyle,
    How do I set the compression to false?
    The picture below looks like labview? We are using signal express.
    I can't change the frequency on the DAQ mx gen because I need the ramp to run at a set frequency.
    There is a divider between the daqmx gen and the f signal. I have to set the Fsginal in the GHZ to get it to out at the right frequency. The equation we came up with is Feff = (Fsginal/FDaqmxgen)*1000.
    Thanks,
    Devin

  • How do create an analog signal from a text or binary file?

    I'm trying to output an analog signal from a file on an NI-DAQ 6251 card using labview 8.5. I've found the examples on building a waveform, but I'm stuck at how to read a text file and make a 1-D array to input my amplitudes into the buildwaveform.vi and I can't find any information on how to do so. Any help or direction is greatly appreciated.
    thanks,
    David
    Solved!
    Go to Solution.

    If all that you want in the file is the Y values, then a text file with a value on each line could be read. The Read From Spreadsheet File can be used. It will return a 2D that you can then use the index array function to get a column or if you select Transpose, the returned 1D array would be used.
    If you want to create an example, use a 1D array constant in a VI and pass it to the Write to Spreadsheet File.

  • Problem when combinning PWM signal and Analog signal TOGETHER!

    Hello everybody,
    first of all i have DAQmx 6212, and i need to run a small water pump (9V-16V) which needs to be driven by a PWM signal; also i have a motor (5V-13V) for a water valve that needs to be driven by a analog signal and it has a built in a force feedback potentiometer, i connected on the extremeties of this potentiometer +5V from the DAQmx and used the output voltage from the third extremety as a diagnose value for knowing the position of the motor.
    my VI shows:
    1. is a normal Counter output to create my PWMout signal.
    2. is an analog input i use it as a PWMin to the LabVIEW to diagnose what is happenning in my water pump through the duty cycle and the frequency.
    3. is an analog input from the third extremety of the potentiometer.
    4. is an analog output which i have used as a power supply for the motor valve and i have used an AC/DC amplifier to aplify the signal from the DAQmx and drive the motor, between (3. and 4.) i have made a feedback with some calculations i had a P-controller to know the actual position of the motor valve.
    My Problem:
    when putting 1. and 2. in the same VI alone, i am getting a clean PWM in/out with no problems mentioned;
    also when putting 3. and 4. in the same VI alone i can control the motor valve without any problems;
    but when i put all these 4 together as found in the attached VI, i have a problem that the motor valve is running continously without stopping even if i change the valve position between 0 and 100 %, i should mention that i am seeing a normal PWM out/in signal on my oscilloscope, one other thing that if i delete one of (1. or 2.)  and run the VI the motor valve is working fine without any problems.
    so this my problem, if you can think of any solution please let me know.
    thanks in advance for your help.
    Regards,
    Alosh
    Solved!
    Go to Solution.
    Attachments:
    pwm.out.in.analog.out.in.vi ‏45 KB

    Dear nathand thanks for your reply,
    i have ran the vi again and i am have error no 50103 from the (AI, number 3. )  but it is not displaying the error message, the VI keeps running without any error notification.
    adding to that,  i have tested the VI again today by placing (1. and 2.for the PWM inout) together in one VI and (3. and 4.for the motor valve) in another VI and ran them one after the other, i had another problem. if i turn the motor valve vi, the motor will run smoothly but in the pwm vi i will have a problem in which the AI did not read any value. also doing this vice versa by running the pwm vi first it will work perfect but the motor vi will have problem in reading the measured voltage in AI during this the motor will keep on running without stopping.
    so i think now the problem is in AI (2. and 3.) readings they are interfering on each other but i am not discovering where is my problem...
    Q: does the AI's seems well build or i can do it in an another way so to get over the interfering?
    Regards,
    Alosh

  • Crashing LabView SignalExpress 2012 at startup

    Hi,
    I've just installed NI material (PXI-1033) and software which run normaly with MAX
    When I try to run LabView signalexpress 2012 and try to open an example or or create a new project, LaBView begins to load then crashes at initialing Style phase. My OS is XP SP3 French, my PC a DELL Optiplex 790. I have uninstall my antivirus, update windows, installed last patch fp3 LabView 2012, but always the same issue. I send screen shot and windows event as attached document.
    Thank in advance for your help
    Attachments:
    Crash_LabView_signalExpress2012.zip ‏468 KB

    Hello Rhingray,
    Have you tried to uninstall Signal Express and to reinstall it ?
    By the way have you tried to reinstall .Net Framework 4 ?
    Regards,
    Mathieu P. | Certified LabVIEW Associate Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Journées techniques : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...

  • How do I set a threshold from an analog signal (4-20ma) coming in on a cfp AI 110, to trigger an alarm on my UI?

    I have the alarm set, indicator set,  just need a digital trigger from an analog input. I realize I could use an external switch into a digital input, but would rather use what we have. We are using this analog signal for other purposes as well. This application is for controlling a machine. Thanks.....

    Hi Bob,
    The way you have your Case structure setup now is that the “7” case will only get executed if the value from the wire is exactly 7. This same applies to the “8”. Also, there is no default case, so if value does not match any of the cases then your indicator will not change.
    You indicated earlier that you need the indicator to be ON when the value is below 7mA and OFF when above 7mA. You will want some like this:
    Alternatively could just use the Not function inside the Boolean palette to achieve the same functionality without the case structure.
    You will want to check out the LabVIEW Training Page.
    Message Edited by DiscoBall on 03-27-2009 12:12 PM
    Message Edited by DiscoBall on 03-27-2009 12:13 PM
    Joshua B.
    National Instruments
    NI Services
    NI Support Resources
    NI Training Resources
    Attachments:
    compare.jpg ‏27 KB

  • Why use FIFO to read analog signal?

    Why must we use FIFO to obtain analog signal from FPGA? I can use a normal method of calling the FPGA using Read/Write Control and the results in a waveform chart is much more smoother. 

    I've uploaded 2 real-time VIs with and without FIFO. MQ convert is the subVI in my computer. Do have a look at it...
    My waveform chart is done that way so that I can easily export to excel ( i think) but this is a different problem in a different topic http://forums.ni.com/t5/LabVIEW/3-Waveform-Chart-to-a-Single-Excel-but-in-Different-Spreadsheet/m-p/...
    Attachments:
    Real-Time With FIFO.vi ‏397 KB
    Real-Time without FIFO.vi ‏391 KB
    MQ Convert.vi ‏19 KB

  • How to convert a analog signal to digital signal

    Hello,
    How to convert an analog signal into digital signal such that every sample of analog signal corresponding to 1.2V will be represented as '1' in digital signal and other samples of analog signal(that are not 1.2v) will be represented(converted) as '0' in digital signal.
    And how to display both wavefroms or signals in graph indicators.
    Thanks.
    Solved!
    Go to Solution.

    If you have 1000 samples, and you want to convert to digital, you are going to get 1000 digital values.  Attached is what I mean.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.
    Attachments:
    Analog_to_Digital Hooovahh Edit.vi ‏52 KB

  • How can I delay analog signal?

    I have an analog signal, the frequency is less than 1kHz. I want to get a delayed analog signal. Is it possible to realize analog delay generator using labview (daq card is PCI-6115)? I hope I could specify the delay time.
    Any suggestion will be greatly appreciated!
    Stephen

    Hello Stephen,
    It is possible to institute a delay an analog output. This is best done by specifying a trigger and then beginning the output when that trigger occurs.
    Below is a link to an example program developed for LabVIEW that waits a specified number of seconds and then triggers analog output to begin. This code performs analog input as well, but for your program you could remove that portion. The trigger that is used is RTSI pin 0. After a specified period of time, the RTSI pin 0 is set to 1 and then the analog output begins.
    Analog Input with Delayed Analog Output
    Take a look at this example and
    try to build from it for your code. If you have any further questions on this issue, let me know.
    Regards,
    Scott R.
    Applications Engineer
    National Instruments

  • How do i send an analog signal to trigger another program

    I am trying to send out an analog signal from labView that will start Bioware. How can I do this?

    Hi Orbz,
    There are 3 Send modes in Logic:
    • Pre Fader (original signal is sent before it reaches the channel strip's fader etc.
    • Post Fader (sent before volume fader adjustments)
    • Post Pan (send before volume fader and Pan/Balance adjustments).
    Click and hold on the Send slot in your synth channel strip and select Post Pan fro the drop-down menu.
    Funnily enough I've just finished writing a tutorial about this very topic!! It's not published yet, but will appear on the macProVideo.com blog in the coming days...
    http://www.macprovideo.com/blog/

  • How to make a synchronous acquisition of two analog signals with a one channel DAQ ?

    Hi !
    It is the first time I use Labview. I have just made some easy VIs, and now, I do not know how to deal with my problem...
    My problem : I have only one acquisition card (DAQ Ni 6034E) and I would like
    to acquire simultaneously two analog signals. It seems to be possible, in a quasi-synchronous acquisition if the card acquires one point of the first signal, then the first point of the second signal, then the second of the first signal, and so on ... I thougth that I could made two sequencies with a VI of data acquisition in each sequency, with the AI MULT PT. But with this, I think that I will lose the precision of the sampling frequency. And I have to know the sampling fre
    quency ...
    Thanks for your help !
    Carline

    Hi Carline,
    A PCI-6034E is a low-cost board, which only has one Analog to Digital Converter (ADC).
    With only one ADC you can't acquire different channels at the same time. That's why you find a multiplexer before the ADC in this type of board. This enables you to acquire multi-channels at the same rate quasi simultaneously. The samples of the different channels will be interleaved as it is explained in the following knowledge base :
    - http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/9379ea091c264b7c86256bc90082ca5d?OpenDocument.
    With this method, the sampling frequency is the same for all channels. The sampling frequency of one channel is determined with the "scan rate" parameter. There is only a small delay between the samples
    of each channels. When you perform an interval scanning acquisition, this delay depends on the "sample rate" that you specify. To have more informations about this terminology, please refer to the following KBs :
    - http://digital.ni.com/public.nsf/websearch/4D1435DF82EF494186256D8A006DD6D4?OpenDocument.
    - http://digital.ni.com/public.nsf/websearch/4D1435DF82EF494186256D8A006DD6D4?OpenDocument.
    To easily perform such a multi-channels analog acquisition, you can use the VI named "AI Acquire Waveforms.vi". You also can use an example provided with LabVIEW. You just have to browse the NI Example Finder in "Harware Input & output >> Traditional NI-DAQ >> General".
    Best regards,
    Benjamin
    National Instruments France

  • Synchronous acquisition 4 analog signal and independently count TTL impulse

    Hello!
    I'm have NI DAQ board PXI-6115. I have problem:
    Need synchronous acquisition 4 analog signal and independently count TTL impulse. When value counter will, at example, 5000 acquisition must stop. I'm read program in LV 7.1 but have a problem.  In HELP write:"You can create only one counter input channel at a time with this VI because a task can contain only one counter input channel. To read from multiple counters simultaneously, use a separate task for each counter". I make two different task, but error not disappear.
    I don't know how escape this error?
    Program VI with Front panel screen-shot in attach archive.
    Message Edited by _Pavel_ on 05-23-2007 09:06 AM
    Attachments:
    Progr.zip ‏80 KB

    Hey Pavel,
    Thanks for contacting National Instruments support.  Your program, in it's current state, is attempting to generate a finite pule train and count edges on the same card.  Finite pulse generation is a two counter device, where one counter generates the pulse train and the other counter gates the generation, or goes high when the generation is to start and low when it is finishes.  So no matter which counter you select for the count edges task you will get the error you describe. 
    Is it possible to use the pulses that you are counting as an external clock?  If so then you could just generate 5000 pulses and you would only acquire 5000 samples. 
    I have attached a modified example from your code.
    Let me know what you think.  It only acquires 5000 samples as desired.
    Regards,
    Kenn North
    Senior Product Manager - Search, Product Data
    http://ni.com/search
    Attachments:
    Progr.vi ‏58 KB

  • Is there a VI availible that will allow one to interact with an analog signal

    Hello all,
     I am new to the sight and look forward to participating. I have a project that I’m working on and I would like to ask for your thoughts and direction if you’re willing. I have a few weeks left before completing an electronics program degree and Labview is one of the classes. The project I have chosen is to illustrate the differences between a micro controlled system and Labview controlled environment. I will be  acquiring a signal through a ultra sonic distance sensor. The analog signal will be produced after which  acquired  through a SCB – 68 connector block and converted using the pci-mio-16E. The sensor operates at 40 kHz emitting a 5v pulse (burst) then falling to gnd for a short period followed by a 5v rise and staying high for a period of time waiting for the return of the frequency. This time period represents 3 inches to 27 ft in distance.  I would like to interact with this signal through the distance period (portion) and output a string displaying a numeric value of the distance on the front panel obtained from an array built from different periods of the signal.  I am not clear on what Labview function offers this type of control.  I am hopeful in utilizing a vi or some type of trigger that allows me to build an array produced by some math functions.  Any help would be appreciated.
    Thank you, dhitch

    First thank you for your response, I will have an opportunity to make a capture tomorrow in class.  I believe I have run across the waveform measurement VI in my searches and am sure it’s a very good choice. The trigger VI you suggest, going by the name, should be my ticket. Would you imagine a delay or decreasing time after the capture, allowing the trigger VI time to respond to an output configuration be required?
    If I remember correctly the sampling rate capabilities are 500K samples/ second with 12 bits of resolution and as I say that it seems some of the capabilities rely on the processing speed of the computer. I guess I will kick the tires tomorrow hey.  There are 2 class periods remaining to finish our projects @ 2 hrs / class and my anxiety is a bit high. Wish me luck and thank you so much.
    dhitch

  • Moving Averages in Labview SignalExpress

    Hi everyone,
    I am measuring power consumption values from a PC system at 25k samples/sec and looking for a way to calculate the 1-sec and 5-sec moving averages via Labview SignalExpress (Unfortunately I don't have Labview to custom-implement this). One person suggested using FIR low pass filter instead, but I am not quite sure what values I need to set for "number of taps" and "cutoff frequency" values to have it act like a 1-second and 5-second moving average. Any suggestions here?
    Also, does anyone have a .VI from Labview for a moving average functionality, which I can use in my Labview SignalExpress setup?
    Thanks,
    --Serhan 

    Serhan,
    If you are just aiming to smooth out your signal and reduce noise, than an FIR filter would work fine, but it sounds like you are trying to achieve an exact moving average.  Unfortunately, there are entire textbooks on filter design and getting the filter to accomplish that with great accuracy would be a feat.  It is true that the moving average is a form of the FIR filter.
    I had some old code that took the running average of 100 samples in SE, but I'll have to look for it when I get to work tomorrow.  I'll post again when Ifind it.
    I don't have any moving average VI's handy, but that would probably be the easiest way to accomplish this. Maybe someone can distribute their VI to Serhan?
    Rob K
    Measurements Mechanical Engineer (C-Series, USB X-Series)
    National Instruments
    CompactRIO Developers Guide
    CompactRIO Out of the Box Video

Maybe you are looking for

  • Why won't my music sync to my iPhone from iTunes?!?

    I have been having such a hard problem with syncing my music from iTunes (which is up to date) to my iPhone 4S (which is also up to date). I have tried restoring my phone three times. It's recently backed up. All my music was wiped from my phone, on

  • Can you change the background image in IP Communicator

    Can you load an image file from you local workstation as the background in IP communicator?

  • Which adapter for Argentina?

    I'm traveling to Buenos Aires for ten days next month, and I'd like to bring my 2nd gen. shuffle for the long plane ride. (I have a 4th gen. iPod, too, but it doesn't have enough battery left for the 10-hour flight.) I have the USB power adapter and

  • Only getting an empty file.

    I know that my propertiesSystem object has stuff in it because I can see it on the Eclipse Console, but I cannot figure out why it won't write the information to the SystemProperties.txt file. Properties propertiesSystem = new Properties(); propertie

  • [svn:bz-trunk] 22363: Updates for SDK 4.5.2 and its player

    Revision: 22363 Revision: 22363 Author:   [email protected] Date:     2011-09-01 12:47:07 -0700 (Thu, 01 Sep 2011) Log Message: Updates for SDK 4.5.2 and its player Modified Paths:     blazeds/trunk/build.properties     blazeds/trunk/build.xml     bl