discuss-gnuradio
[Top][All Lists]
Advanced

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

How to efficiently implement dechannelization (combine multiple narrowba


From: Amr Bekhit
Subject: How to efficiently implement dechannelization (combine multiple narrowband signals into a single broadband spectrum)
Date: Tue, 29 Oct 2019 08:11:47 +0300

Hello all,

I'm working on an SDR project where I need to transmit a narrow
baseband signal on multiple different carriers simultaneously, over a
relatively wide bandwidth (1Mhz). Essentially, when working normally,
the system acts as a radio passthrough, retransmitting the existing
channels, but then when an input is triggered, an external audio
source is then AM modulated and transmitted on several channels
instead of the original baseband.

I've been implementing the system in GNU Radio Companion and
essentially have the following for each channel:

External in -> AM mod -
                                      |-Selector -> Band Pass filter
-> Add -> TX
Baseband in --------------

Now although this works, in practice as the number of channels
increases, performance becomes an issue, as you'd expect. The main
culprit here is primarily the band pass filter, which is responsible
for about 60% of the CPU usage (the modulation is responsible for
about 30%). Using an FFT filter for the bandpass filter definitely
helped performance, but I need to improve it more.  After researching
online, I understand that the problem is primarily due to having to
deal with a very wide baseband compared to the narrowband signal that
I'm trying to filter (AM audio at 10kHz bandwidth). Unfortunately, I
can't see how I can reduce the sample rate. At the moment, everything
runs at the 1Mhz sample rate apart from the external input, which runs
at a lower rate until I have to multiply it with the AM carrier.

What is an efficient way of de-channelizing and taking multiple narrow
channels and combining them into a wide spectrum?



reply via email to

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