|
From: | Marcus Müller |
Subject: | Re: [Discuss-gnuradio] How to reset the phase for subsequent sweeps from VCO? |
Date: | Thu, 10 Jul 2014 21:57:20 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 |
Hi Khalid, the VCO is phase-continous, so the starting phase of your sweep should be continous with the end phase of your last sweep. The block does not offer a way to reset its phase; out of the top of my head there's also no easy "workaround" for this, only rather complex solutions like constantly calculating the argument of the vco output, sample_and_hold that argument on the sawtooth minimum, and dividing the VCO output by the output of phase_modulator with the sampled value as input (which should shift everything by the -phase(t=t_sawtooth_minimum) ). I think it might be easier for you to just copy the functionality of vco_fc, but that would require programming a block in C++ or python (preferably C++, because you could just copy&paste 90% of the functionality from the original vco_fc.h, vco_fc_impl.{cc,h}), and I don't know if that suits your level of GNU Radio knowledge. With best regards, Marcus Müller On 10.07.2014 19:27, khalid.el-darymli
wrote:
Hi, I am using the VCO block in GRC to generate complex-valued sweeps with BW of 50 KHz and a sweep time of 1 second. The VCO is driven by the sawtooth signal generator in GRC. The problem I am facing is that subsequent sweeps do not start at the same time. Each new sweep seems to have a random phase shift relevant to the other. Please see the attached figure which demonstrates the case for seven subsequent sweeps. This figure was generated in Matlab after saving the output of VCO to a binary file in GRC. Then, for the sampling frequency of 50 KHz, individual sweeps were resolved and superimposed on each other. My question is, how do I reset the phase of the VCO at the beginning of each new sweep? Thank you. Best regards, Khalid |
[Prev in Thread] | Current Thread | [Next in Thread] |