discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Rectifying and Low Pass filter


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] Rectifying and Low Pass filter
Date: Sun, 17 Nov 2013 16:15:41 -0500

On Sun, Nov 17, 2013 at 2:53 PM, Robert James <address@hidden> wrote:
> I see.  For those of us who have some background in analog circuits,
> is there a way to work with real valued passband signals? For example,
> is there a block which takes a complex baseband signal and converts it
> to a real valued passband signal?

You can always go through a type converter block "complex to float"
which outputs a stream for the real and (if connected) the imaginary.
Or you can just use the "complex to real" block to just get the real
part.

However, and I'm not trying to be glib or insulting, the best thing to
do is really to understand how to work at complex baseband. When
working with software radio, we're not just doing in software what we
did in analog circuits. Sometimes we do, sometimes it looks similar,
but by working in the digital domain, we're changing a lot about how
we work with signals. In many ways, we're now able to more accurately
represent the real mathematics of signal processing where we were only
approximating it in hardware.

Tom


> On 11/17/13, Johnathan Corgan <address@hidden> wrote:
>> On 11/17/2013 11:01 AM, Robert James wrote:
>>
>>> I'm trying to demodulate AM (I know there are existing blocks to do
>>> that, but I'd like to learn how to do it on my own).
>>>
>>> In a real world analog circuit, I would find the envelope by first
>>> rectifying the signal (using a diode), and then using a low pass
>>> filter - that would give me the envelope.
>>>
>>> How can I rectify with GNU Radio?
>>
>> In GNU Radio, one is typically dealing with complex baseband I/Q
>> signals, where a "real valued" passband signal has had its carrier
>> shifted down to zero and what remains is the complex envelope
>> represented by I and Q.  There are many resources indexed by Google to
>> help you learn more about this.
>>
>> To demodulate a passband AM signal represented at baseband, simply take
>> the magnitude of the I/Q representation, i.e., sqrt(I^2 + Q^2).  GNU
>> Radio has a block to do this, gr::blocks::complex_to_mag, which you can
>> also access in Python as blocks.complex_to_mag(), or from GRC under
>> "Type Converters/Complex to Mag".  It is a synchronous block that
>> accepts a complex signal stream at an arbitrary sample rate and outputs
>> the magnitude of that signal as a float stream at the same sample rate.
>>
>> Depending on what the original signal was that went into the AM
>> modulator on the transmitter (such as audio like in AM broadcast radio),
>> you may need to further process the signal in order to use it, such as
>> removing DC offset, filtering, amplification, or changing the sampling
>> rate.
>>
>> --
>> Johnathan Corgan, Corgan Labs
>> SDR Training and Development Services
>> http://corganlabs.com
>>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



reply via email to

[Prev in Thread] Current Thread [Next in Thread]