LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FSK Modulation/Demodulation

Hi, 

I am new to LabVIEW and have been learning using tutorials that I find in here.

 

I am trying to create a VI that will input an audio signal from myDAQ and do FSK modulation then demodulate and output using my laptop speakers.

Eventually I would like to send the modulated signal to another computer, but for now I am only learning how to do this. And possibly have a file with the history of the sent signal.

 

I have tried to do this without using the modulation toolkit, but I just ended up with loops that would take minutes to modulate for only a few seconds. So that didn't work as expected. Since I have the modulation toolkit I tried to use it looking at what others have done here, but I am not sure how to make it work exactly, and I couldn't find many tutorials about the modulation toolkit.

 

Can you guys please help me?!

I am attaching the VI that I created.

And if something doesn't make sense, please help me fix it, and understand why.

0 Kudos
Message 1 of 19
(9,904 Views)

@Gear wrote:

I couldn't find many tutorials about the modulation toolkit.


There is a HELP DOCUMENT available for the toolkit. Also before you start writing your code, you may want to see/refer other examples built around your requirememt.


I am not allergic to Kudos, in fact I love Kudos.

 Make your LabVIEW experience more CONVENIENT.


0 Kudos
Message 2 of 19
(9,896 Views)

 

After looking what you told me, I made a few changes and decided to start again.

I got an error, and I can't figure it out how to fix.

 

Can you please take a look and see what I did wrong? And how can I fix it?

Thank you

Download All
0 Kudos
Message 3 of 19
(9,871 Views)

Input Stream = 0...1

WaveForm to Binary U16 Array = Value Range ->  0...65535

 

Try something like this:

 

DWDT WaveForm to Boolean Array   For Loop [Indexing]  Boolean to (0,1)  [Concatening]

 

0 Kudos
Message 4 of 19
(9,844 Views)

I cannot open your code right now but seeing to the error message it is clear that the input bit stream (array) that you're feeding to 'MT modulate FSK.vi', it also contains elements with value other 'zeros' & 'ones'.

 

 


I am not allergic to Kudos, in fact I love Kudos.

 Make your LabVIEW experience more CONVENIENT.


0 Kudos
Message 5 of 19
(9,841 Views)

This seems to have worked. But how do I go back to digital?

I am trying to modulate and demodulate. 

Thank you!!

0 Kudos
Message 6 of 19
(9,824 Views)

Here it is the Conversion Logic.

 

Example Attached 😄

 

 

 

0 Kudos
Message 7 of 19
(9,811 Views)

Just one little modification.

 

0 Kudos
Message 8 of 19
(9,782 Views)

Thank you.

But can you please tell me where to find the second function that converts from dynamic data type to analog waveform?

You uploaded a VI using 2012 and I cannot open because I have a 2011. And I cannot seem to find this function.

0 Kudos
Message 9 of 19
(9,768 Views)

 


@Gear wrote:

But can you please tell me where to find the second function that converts from dynamic data type to analog waveform?

You uploaded a VI using 2012 and I cannot open because I have a 2011. And I cannot seem to find this function.



From Dynamic Data Type (DDT)

 

From Dynamic Data Type (DDT)


I am not allergic to Kudos, in fact I love Kudos.

 Make your LabVIEW experience more CONVENIENT.


0 Kudos
Message 10 of 19
(9,762 Views)