From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Are there any filteres on the analog output of the 7831r?

Hi,

I am using the PXI-7831r board. Are there any filters on the analog output (digital/analog)? Is there a way to configure/disable them?

 

Thanks

0 Kudos
Message 1 of 16
(2,995 Views)

Hi Dvido,

 

Unfortunately, the 7831R doesn't have any built in analog output filters (NI R Series Multifunction RIO User Manual).

However, if you are using the PXI-7831, the SC Express family of signal conditioning modules may be the solution you are looking for.

 

Hope this helps,

Fred Visser -- SystemLink R&D -- National Instruments
0 Kudos
Message 2 of 16
(2,975 Views)

Hi Fred,

I'm transmitting different signals (i.e.. a 75KHz sine) and sampling the output with a scope. I can see that the DAC steps are smoothed. As far as I understand that should occur due to a filter on the output.

Also, I have some issues with the transmission while continuously reading data from a computer data through a DMA FIFO  - is there someone in charge of that area that I can talk to? I studied the board thoroughly and I believe that I have the reason for these issues but I don't know how can I solve it.

 

Thanks

0 Kudos
Message 3 of 16
(2,946 Views)

Hi Dvido,

 

More precisely, there are no user configurable AO filters on the PXI-7831R. There is a built-in low pass filter that reduces high frequency noise due to DAC step changes, but the cutoff frequency is well above user generated signals.

 

What type of issue are you seeing with the DMA FIFO? If you have a specific error, or unusual behavior, feel free to describe it and I'm sure someone will have insight on the issue.

 

Kind regards,

 

Fred Visser -- SystemLink R&D -- National Instruments
0 Kudos
Message 4 of 16
(2,932 Views)

Hi Fred,

The goal of my project is to continuously read TDMS files from the computer hard-drive and transmit them using 5 analog output channels. All the channels should be perfectly synchronized. First of all, since I'm working with very large data files, I'm parsing them into smaller files (offline, before the actual transmission). BTW I'm currently working on a version that will perform the parsing on-line - it's not ready yet but from what I see it won't solve the issues that I'm talking about.

In order to transmit all the files simultaneously, I'm using a single DMA FIFO. I'm concatenating every value from the 5 files into an array, transmitting it to the FIFO and then on the FPGA side I'm sending each sample to a different analog output.

I've encountered the following issues:

1. Transmission rate: Though the board spec (7831R) says that the transmission rate is up to 1M, I'm unable to transmit with a rate higher then ~550K without distorting the signal. For example, I use a 75KHz sine sampled at 500KS/sec rate. In that case, if I transmit the sine @1M I should see a 150KHz signal but what I actually see is a ~80KHz signal.

2. When I analyze the transmission spectrum (with MATLAB), I can clearly see 2 spikes at +/-7Hz around the signal. These spikes are extremely bad for my project. I analyzed the files that I recorded (before the transmission) and the spikes aren't there which means that they're caused by the DAC. I managed to get rid of the spikes by not limiting the FPGA clock, but in that case, as I mentioned earlier the signal frequency is wrong.

 

I think that the 7Hz noise occurs due to the fact that the FPGA buffer is emptied and re-filled. When analyzing the transmission with MATLAB I can clearly see that every ~150ms some samples are missing from the transmission. I tried it change the FIFO size but it didn't help.

 

My project is attached - please tell me what am I doing wrong.

 

Thanks in advance 

0 Kudos
Message 5 of 16
(2,918 Views)
Anyone?
0 Kudos
Message 6 of 16
(2,875 Views)

I'm downloading your code and I will look into this and get back with you.

National Instruments
Applications Engineer
0 Kudos
Message 7 of 16
(2,846 Views)

There could be problems with the way you are converting the data fromt he TDMS file. First thing is to correct this issue by specifying the group and channel of the data in the TDMS file, then specifying the "data type" terminal ont he TDMS read as a 1D array of I16 or fixed point and you should be able wire that directly into the DMA FIFO. Make that change and let me know if you are still having distortion issues.

National Instruments
Applications Engineer
0 Kudos
Message 8 of 16
(2,831 Views)

Hi,

How exactly can I specify the data type? I see the data type terminal but what am I supposed to wire to it in order to get an array in the output?

Also, I tried to run my code on the 7852R and I found that the +/-7Hz noise has moved to +/-20Hz and was significantly lower (which is OK for my project). I still can't transmit at 1Ms though.

0 Kudos
Message 9 of 16
(2,823 Views)

You can specify the data type by creating a constant 1D array of I16 or Fixed point on the block diagram (do this by right clicking on numeric constant and choosing "Representation") and wiring that constant into the data type terminal on the TDMS read.

National Instruments
Applications Engineer
0 Kudos
Message 10 of 16
(2,818 Views)