On Thu, Jul 30, 2009 at 12:13:51PM +0530, Narayanan, Sivaramasubramanian
I actually need to vary only the phase of the signal, the frequency of
the signal and reference remaining constant. Also I need to be able to
vary the phase continuously in the run time.
freq = d phase / dt.
You cannot modulate the phase without modulating the instantaneous
frequency. The blocks I mentioned yesterday will do what you want.
I hope gr.delay(…) would work, except for the initial latency. And I
could use gr.delay.set_delay() to change the phase difference during run
time, provided the delay value is maintained within the number of
samples per cycle. Please advice.
You may want to bone up on your basic DSP and digital comms.
We’re got a big list of suggestions here:
Also, I want to know whether there is any block that takes in two
signals (float / complex streams) and gives out the phase difference
between them in some form, say no of samples. Please Clarify.
Note that the phase difference could be a fraction of a sample.
Imagine one complex sinusoid that’s rotated 15 degrees with respect to
Multiplying one stream by the conjugate of the other will give the
instantaneous phase difference between them. You can then take the
arctan of that if you like (gr.complex_to_arg).
Perhaps you should think about the correlation between the two
streams. I’m not sure what you’re really trying to do…