Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

How to implement Frequency Shift Keying (FSK)in nidaqmx?

In Traditional Nidaq, one counter controlled the change in output frequency of the second counter. How is this implemented in nidaqmx? i can find no examples or function calls that do this.

thanks,
Brady
0 Kudos
Message 1 of 7
(3,223 Views)
Hello Brady. Thank you for contacting National Instruments. Frequency Shift Keying is not supported in DAQmx. (Open NI-DAQmx Help and expand Traditional NI-DAQ (Legacy) Versus NI-DAQmx>>Counters>>Counter Application Names.) However, you can change the pulse specs on the fly. So you could monitor a digital line in software and then change the pulse specs accordingly. There will be some software latency, but the overall effect should be the same. Please let me know if you have any questions. Have a great day!

Marni S.
National Instruments
0 Kudos
Message 2 of 7
(3,188 Views)
If the software polled method described above does not solve your application, please post some information about your application, if possible.

Thanks!
gus....
0 Kudos
Message 3 of 7
(3,178 Views)
If the software polled method described above does not solve your application, please post some information about your application, if possible.

Thanks!
gus....
0 Kudos
Message 4 of 7
(3,179 Views)
Hi, and thanks for your responses.

My application is that i am repeatedly applying a square wave light stimulus to a slice of retina tissue. I vary the intensity of the light via PWM. In some instances, the stimulus goes from dark to a set intensity and then back to dark, and in others, there is a "background" illumination that is stepped up or down. FSK was ideal for this. Why won't NIDAQmx support FSK, and is it in the plan for the future? With NIDAQmx 7.4, i can do hardware timing of single pulses from a counter, but i need PWM of 1kHz pulses, and i don't know that software can be reliable at that rate. I tried the PWM-counter example on a friend's maching running labview 7.1, and it started missing clock cycles at 1 kHz.

I use Borland C++ Builder for my apps. I would appreciate any advice you can give.

Thanks,
Brady
0 Kudos
Message 5 of 7
(3,175 Views)
Brady, if you are using an M Series device you should try doing correlated I/O. The Digital I/O subsystem does not have its own internal clock source, and therefore, an external signal or clock from another subsystem on the board must be provided - thus correlating the digital data to this signal. You could create a signal that you want in software and then feed that signal to the digital port. Please let me know if you have any questions. Have a great day!

Marni S.
National Instruments
0 Kudos
Message 6 of 7
(3,134 Views)
Marni,

Thanks again. I had thought about correlated DIO. In fact, that might be the way i go, because then i could drive 32 different LEDs at different frequencies. Very cool. However, I think i might be able to pull it off with the "update on the fly" of the counter's pulse specs, as you suggested earlier.

To all reading this thread, I was wrong about update speed before. Obviously, the counter frequency must be equal to or (preferably) less than the frequency at which you are trying to change the pulse specs (duh.) I'm getting error free update rates now of 500 Hz to 1kHz. (p4 2.8Ghz). I think it might be faster if i were just writing to the DAC.

Best,
Brady
0 Kudos
Message 7 of 7
(3,128 Views)