ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Demodulating AM bitstream

Hi,
 
I am attempting to grab and demodulate a simple AM modulated transmitted code (433Mhz @ ~26Kbps) using a PXI 5660.
 
Using the AM demodulation example code I added some filters and I have managed to capture the bitstream as shown in the diagram below in the Analog waveform graph window, but I don't know how to convert this to a simple digital bitstream that I can analyse, i.e of the form 11010001100 etc...
 
I'm hoping this is pretty easy when you know how? Please help!
 
Cheers
 
Matt
 
 
0 Kudos
Message 1 of 6
(3,434 Views)
I would first pick a threshold value between the low and high (for the data example, 0.5 should work).  Then I would search for the first edge to cross this threshold and that would be my reference point.  Since the data is coming in at 26 Kbps, that translates to a period of ~38.5 us.  I would then break up the data into blocks of points ~38.5 us wide based on the position of the first edge (go backwards and forwards in this step size).  I don't know what sampling rate your data has so I can't tell you how many points there will be in each block.  Hopefully, each block of data can easily be interpreted as a high or low (0 or 1), assuming the period is correct.
Randall Pursley
Message 2 of 6
(3,424 Views)
In the function palette Waveform - Digital Waveform - Digital Conversion, there is a function called Digital Waveform to Binary.  If your waveform is analog, you need to use the Analog to Digital.vi first to convert to a digital waveform.  Then call the Digital Waveform to Binary vi.  This should give you a bit stream in the form of a boolean array.  You need to choose the data type (U8, U16,U32) from the function's drop down menu.  I haven't tried it, but I think this should work.
- tbob

Inventor of the WORM Global
Message 3 of 6
(3,419 Views)
Tbob,

Thanks for pointing out these functions.  I have never used them before.  They seem to be a good way of cleaning up the digital data, but in the end you have the same number of points as when you started.  None of the functions I found reduces the data down to one value per bit.
Randall Pursley
0 Kudos
Message 4 of 6
(3,406 Views)

Randall:

Actually I never used these functions.  I just noticed that they were there one day while searching for something else.  I thought they would produce one value of binary data per bit of waveform data.  Seems like that is what they were written for.  I'll try it out when I have time.  Meanwhile, your previous suggestion should do the trick.

 

- tbob

Inventor of the WORM Global
0 Kudos
Message 5 of 6
(3,399 Views)

Hi Guys,

Thank you very much to you both, your posts have prooved very useful.

Cheers

Matt

0 Kudos
Message 6 of 6
(3,360 Views)