# Rectifying and Low Pass filter

**URL:** <https://www.ruby-forum.com/t/rectifying-and-low-pass-filter/237520>\
**Category:** GNU Radio\
**Created:** [November 17, 2013, 8:02pm UTC](https://www.ruby-forum.com/t/rectifying-and-low-pass-filter/237520 "2013-11-17T20:02:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![musicdenotation](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@musicdenotation](https://www.ruby-forum.com/u/musicdenotation)\
**Post date:** [November 17, 2013, 8:02pm UTC](https://www.ruby-forum.com/t/rectifying-and-low-pass-filter/237520/1 "2013-11-17T20:02:12Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![robertjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e9c0ed/32.png) [@robertjames](https://www.ruby-forum.com/u/robertjames)\
**Post date:** [November 17, 2013, 8:26pm UTC](https://www.ruby-forum.com/t/rectifying-and-low-pass-filter/237520/2 "2013-11-17T20:26:44Z")

</div>

* * *

Discuss-gnuradio mailing list  
removed\_email\_address@domain.invalid  
[https://lists.gnu.org/mailman/listinfo/discuss-gnuradio](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

---

<div class="post-metadata">

**Author:** ![robertjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e9c0ed/32.png) [@robertjames](https://www.ruby-forum.com/u/robertjames)\
**Post date:** [November 17, 2013, 8:54pm UTC](https://www.ruby-forum.com/t/rectifying-and-low-pass-filter/237520/3 "2013-11-17T20:54:12Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![robertjames](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e9c0ed/32.png) [@robertjames](https://www.ruby-forum.com/u/robertjames)\
**Post date:** [November 17, 2013, 10:17pm UTC](https://www.ruby-forum.com/t/rectifying-and-low-pass-filter/237520/4 "2013-11-17T22:17:09Z")

</div>

On Sun, Nov 17, 2013 at 2:53 PM, Robert J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
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
