discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Low-pass filter


From: Paul B. Huter
Subject: Re: [Discuss-gnuradio] Low-pass filter
Date: Mon, 18 Nov 2013 12:44:57 -0600

Thank you for your help.

Paul B. Huter

On Nov 18, 2013 10:13 AM, "Tom Rondeau" <address@hidden> wrote:
On Mon, Nov 18, 2013 at 10:56 AM, Paul B. Huter <address@hidden> wrote:
> Thanks, Tom. I do intend to decimate the 50MHz input by 50 to have 1MHz. Is
> that correct?

Yes, decimating by a factor of 50 will give you 1 Msps. Remember to
define your filter for a sampling rate of 50 Msps and a bandwidth of
500 kHz to achieve what you want.

> Also, if I take my 50MHz source USRP, and run it through the filter with
> decimation and low pass filter set to 15000000 (15MHz)
> center frequency @ 15000000 (again, 15MHz)
> Taps = firdes.low_pass(1, samp_rate, 15000000, 100)
>
> Will that give me a 30MHz signal to save to a data file and run back through
> the filter I initially asked about?
>
> Thanks.
>
> Paul B. Huter

I should have asked this with your other question. What do you mean by
center frequency? Don't confuse that with samp_rate. The center
frequency is where you've tuned your receiver to. GNU Radio deals with
complex baseband, so the frequency you've tuned your front-end (e.g.,
USRP) to is viewed by GNU Radio as 0 Hz.

The samp_rate in your example above should be set to the sampling rate
of the receiver: that is, 50 Msps. The bandwidth of your filter is
determined based off this.

Remember that you are /just/ filtering your signal but not affecting
the sampling rate at all. So if you set up your filter like this:

taps = firdes.low_pass(1, 50e6, 15e6, 500e3)

And your filter block as:

lpf = filter.fft_filter_ccc(1, taps)

Then you are not changing the sampling rate at all. You will remove
anything between 30 - 50 MHz but your sampling rate is still 50 MHz.

Also, I see you have a sampling rate of 50 Msps but a transition width
of 100 Hz. That's going to be one gigantic filter! You don't need that
tight of a transition band.

Run gr_filter_design. You can set up the parameters there and look at
the shape of the filter. It will also tell you the size of your
filter.

Tom



> On Nov 18, 2013 9:46 AM, "Tom Rondeau" <address@hidden> wrote:
>>
>> On Mon, Nov 18, 2013 at 10:35 AM, Paul B. Huter <address@hidden>
>> wrote:
>> > If I want to use a low-pass filter to look at 1MHz blocks of data, is it
>> > appropriate to use the following parameters:
>> >
>> > low pass filter: 500khz
>> > center frequency: -500khz (for 1MHz, increments of 1MHz for others)
>> > Taps: firdes.low_pass(1, samp_rate, 500000, 100)
>> >
>> > Paul B. Huter
>>
>> For a low pass filter, you specify the passband bandwidth, but it's a
>> real-valued filter, so it's symmetric about 0. So, yes, if you set the
>> bandwidth of the filter to 500 kHz, then the filter will filter from
>> -500 to +500 kHz.
>>
>> If you just want to look at 1 MHz of spectrum, I suggest you also
>> decimate the incoming signal so that you reduce your processing
>> requirements as well as filter.
>>
>> Tom

reply via email to

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