03-11-2010 07:31 AM
Let me preface this by saying I am new to Labview. I am a student trying to learn how to use it for a small part of my senior design project. I am using Labview2009 student edition. I came across this Caller ID project that is similar to what I'm trying to achieve (full credit and citation will be given of course, as per the guidelines given at the bottom of the page). Link is below. Please be gentle.
http://cnx.org/content/m18708/latest/
I've gotten to the point that I think the pll locks on the signal OK. I can tell this by looking at the baseband signal as well as the phase error coming out of the demodulator (feel free to tell me if I'm wrong though). The problem I'm having is with the "PLL Locked" indicator, for lack of a better word. No matter what I try, I can't get it to switch from false to true, then back to false again once it is not locked. The LED just stays on, even though I know it is no longer locked. I'm sure I'm missing something rather obvious and I'm hoping someone here will be nice enough to help me out.
The project is attached and the main vi is FSK entitled FSK4.vi
Thanks in advance for any help!
03-12-2010 09:08 AM
Bump.
Still can't figure it out. I'm sure it's obvious, just not to me. 😞
03-12-2010 10:48 AM
Hi Steve,
I don't really know much about this project, since it was created and posted on another website, however, I can explain why the PLL lock indicators always indicate a lock. The reason is in the numbers. I have attached an image that shows an indicator of the waveform data values tha are being compared to the PLL threshold value. The PLL threshold value is 70 and in the application there is a function that is asking if the waveform Y values are less than 70. These waveform values are all less than 0, so this function will always return true. There may be some other information in this project that you may have missed, or maybe their definition of the project is a bit off. I'm not sure, something you could post on their site and ask for clarification. I hope this helps to clarify at least why you were seeing that results in your indicator.
Chris
03-12-2010 11:51 AM - edited 03-12-2010 11:52 AM
Chris,
First let me thank you for responding. I appreciate it.
Not sure why I have 70 as a default, but no matter what I set it at, I don't get the result I expect.
Attached is an example I've been playing with just to try things. My thinking is that I could set the amplitude of the sine wave to 2, then set the lock at 1. If the sine wave frequency is 5Hz, I should see the light blink on and off as the amplitude crosses 1. In this example, I've tried the "less than" function in two different ways with no joy. Also odd is the fact that once the led is lit, you can't make it go out again by changing the lock to, say 3 or higher.
03-15-2010 10:41 AM
Hi Steve,
I think that in order to make sense of the PLL issue, you're going to have to go back through the development of your project and really try to understand what is being done in each step. The less than comparison that indicates a lock comes after a few other function calls. First, the sound waveform goes through a PLL block, and the resulting waveform is taken as an absolute value and passed through an IIR filter to shape it. Then the signal is passed through the AC/DC estimate function, which pulls the AC and DC components from this resulting waveform. You are using the less than comparison against the DC component of that processed waveform. You'll have to go back through and take a look at the data along that path and see what the output waveform is from the PLL function and IIR filter to see if what you are seeing as a comparison result is actually correct. It is not as simple as just looking at the amplitude of the audio waveform to see if it's going to lock. I attached another image that shows the path of the audio waveform data. If you can add in some indicators throughout this path to see how the waveform changes then you will have a better idea of what you're expecting.
Chris W