Hi Nives,

It is not clear for me what is your issue. However, based on what you have 
wrote I think you have issue with
Implementing and understanding decimation.

Here is short explanation what is decimation. With decimation of digital signal 
you are removing some samples
of your signal in order to decrease its sampling rate. What you are achieving 
is reduction of your sampling rate.
Easiest to explain would be decimation by 2. Imagine you have signal that you 
sample at 16MHz so you get 16 Msps
and in your processing chain you would like to decrease its sampling rate to 8 
Msps. What you want to do is to decimate it
by 2.
Imagine you represent certain period of your signal (T) as vector of samples :
x = [1, 2,  3,  4,  5, 6, 7, 8]

Then signal decimated by 2 would be:
x_2d = [1, 3, 5, 7]

So basically you have removed every second sample from your original signal and 
you have reduced its sampling rate.
This should be easy to implement in FPGA by mapping two shift registers. Or you 
could use some of Xilinx IP cores.

However you should be careful when you do decimation. When bandwidth of your 
signal is not small enough direct decimation
will cause aliasing of your signal. In order to avoid this  before you do 
decimation you should band limit your signal by low pass filter.

In order to understand these concepts. I would advise you to read some DSP 
book. 
(https://www.amazon.com/Understanding-Digital-Signal-Processing-3rd/dp/0137027419/ref=sr_1_1?ie=UTF8&qid=1530806535&sr=8-1&keywords=understanding+dsp)

Good Luck,
Tarik






From: USRP-users [mailto:usrp-users-boun...@lists.ettus.com] On Behalf Of Nives 
Novkovic via USRP-users
Sent: donderdag 5 juli 2018 17:37
To: Marcus D. Leech
Cc: USRP-users@lists.ettus.com
Subject: Re: [USRP-users] RFNoC FIR filter block - filter taps

Thank you for the tip, I have found this tool for easy FIR filter design: 
http://t-filter.engineerjs.com/ . What I am trying to achieve here is to get 
the same output signal from RFNoC FIR filter as I am currently getting from a 
design that is running purely on CPU using the low pass filter block in GNU 
radio. That block has the option to account a parameter called "decimation". 
Does anybody know how can I implement that parameter in RFNoC FIR filter block 
design?
Kind regards,
Nives

pon, 2. srp 2018. u 16:02 Marcus D. Leech 
<mle...@ripnet.com<mailto:mle...@ripnet.com>> napisao je:
On 07/02/2018 07:33 AM, Nives Novković wrote:

Hi Marcus,

Thank you for your answer, since I am quite new in this area I didn't 
understand how to figure out which coefficients to enter. For example, if I 
want to pass a signal only between 200 and 300 kHz, which coefficients should I 
use?
Kind regards,
Nives

You'll need to use a filter design tool, like the FIRDES routines in Gnu Radio, 
or the external filter designer or some other tool.

https://www.allaboutcircuits.com/technical-articles/finite-impulse-response-filter-design-by-windowing-part-i-concepts-and-rect/





---------------------------------------------------------------------------------------------------
Message: 5
Date: Tue, 19 Jun 2018 14:04:40 -0400
From: "Marcus D. Leech" <mle...@ripnet.com<mailto:mle...@ripnet.com>>
To: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] RFNoC FIR filter block - filter taps
Message-ID: <5b2945b8.1080...@ripnet.com<mailto:5b2945b8.1080...@ripnet.com>>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

The RFNoC FIR filter takes a list of ints that can be scaled from a
floating-point representation of the filter.

Gnu Radio includes the firdes routines for producing coefficients for
simple low-pass/high-pass/band-pass filters.  One you have the results,
you can just use a simple Python expression to scale by 32767.0 and
convert to int.   Something like:

  [int(i*32767) for i in filter_coeffs]

Keep in mind that the RFNoC FIR filter is, last I checked, limited to 41
filter coefficients
On 06/19/2018 10:28 AM, Nives Novkovi? via USRP-users wrote:
> Hi everyone,
>
> me again with the questions. :) Next thing I am trying to learn is
> RFNoC FIR filter. I see that the only thing I can modify for the
> filter is filter taps. Is there any official documentation on those
> blocks? I am trying to figure out what values should I enter there if,
> i.e. I want to eliminate all the frequencies above 100 kHz. Those are
> actually coefficients in the FIR filter equation? Here is my current
> flow graph.
>
>
> fir_filter_flow_grc.png
>
> Kind regards,
> Nives
>
>

_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to