WARNING: This server is unstable and will be retired in the next days.
If you want to keep this forum available, please request immediately a migration
on the Nabble Support forum.
Forums that don't receive any migration request will be deleted forever.
I have a basic question when simulating and displaying complex signals Gnu Radio (GRC 3.5.1). I tried to solve them by myself but they are not yet clear to me. I am simply using the signal source block, generating some signals, and visualizing them with a scope block. By using the float format everything is fine. However, troubles come when using and interpreting the complex format:
1. Firstly, books say that In-phase and Quadrature components are lowpass and related with the complex envelope of the signal, i.e., let's suppose a real signal s(t), it's complex envelope will be:
s_complex_envelope(t) = si(t) + j*sq(t) ; being si(t) and sq(t) the in-phase and quadrature components, respectively.
For a simple cosine wave s(t) = cos(wt) I think si(t) = 1 for all t and sq(t) = 0, provided that s(t) = si(t) * cos(wt) - sq(t) * sin(wt)
I think the source block outputs the "pre-envelope" or analytic signal, which is the complex envelope shifted at w, being w the carrier frequency. Questions:
a. I think I am correct when I interpret channels 1-2 in the scope block as the real and imaginary parts of the analytic signal, which are NOT the in-phase and quadrature components of the signal.
However, Am I wrong about what I said related with the in-phase and quadrature components of a cosine wave. To get the in-phase and quadrature components of a cosine wave I tried the grc scheme shown in the attached "I_Q_components_cosine.png". In this case, I expected channel 1 = 1 (in-phase component) and channel 2 = 0 (quadrature component), however nothing appears. Am I wrong in my understanding?. How could I get the in-phase and quadrature components of a cosine wave?
2. I think, as I said in 1, that the block source outputs the pre-envelope (analytic signal). So, when I select a cosine wave in the block it is the same as selecting a "complex exponential", i.e. s(t) = exp(jwt) = cos(wt) + j*sin(wt),
being sin(wt) the Hilbert transform of cos(wt). If I select a sine wave in the block source I can see in the scope block sin(wt) - j * cos(wt), being -cos(wt) the Hilbert transform sin(wt). Thus, both cases seems logical. Questions:
a. When displaying the channels 1-2 of a cosine function and using the T Offsset option in the scope to see the waveform at time = 0, I should see the values of cos(w*0) = 1 for channel 1 and sin(w*0) = 0 for channel two. Why it seems channel 1 and 2 are delayed? (see figure "analytic_cosine_wave.png")
b. Why when I select the square waveform in the source block (with complex format) I see in channel 2 the squared waveform delayed instead of its Hilbert transform (see "square_wave.png")?