[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gnuradio-discuss
Subject:    Re: Using Fractional or Rational resampler to simulate Doppler
From:       Jose Ruvalcaba <joruvalc () gmail ! com>
Date:       2023-07-28 16:26:24
Message-ID: CADbenGUF9GcRVPF6XsGe47pE=kaA0GtdS9i5+zkeNF35XM9XFg () mail ! gmail ! com
[Download RAW message or body]

Thank you all for your responses. I will look into the suggested libraries
and blocks to see if they can work for me.

My goal right now is to simulate a dynamic frequency offset on higher
frequency (2.4GHz and above) and wideband signals (1 MSps and above) for
say a LEO satellite. This scenario would assume I should simulate some type
of expansion and contraction on the signal bandwidth. I will try the
periodic callback suggestion from Mr Estevez and see if that works for my
Doppler simulation at LEO.

Thanks,
Jose


On Fri, Jul 28, 2023 at 8:58 AM Daniel Estévez <daniel@destevez.net> wrote:

> Hi all,
>
> Whether a resample (i.e., group delay change) is needed depends on the
> intended application. The question you need to ask yourself is: is the
> fact that in real life the Doppler at each frequency in your passband is
> slightly different because they are all different carrier frequencies
> relevant, or is it not and can we just take the Doppler for the centre
> frequency as Doppler for all frequencies?
>
> If a resample is needed, then it is easy to do a constant resampler rate
> (corresponding to constant Doppler) by using the Polyphase Arbitrary
> Resampler (or the Channel Model block, which contains a Polyphase
> Arbitrary Resampler). Currently there isn't a simple way to make the
> resample rate change over time (corresponding to Doppler change over
> time). Perhaps a simple solution is to periodically call the callback to
> update the resample rate, according to the required Doppler curve.
>
> Best,
> Daniel.
>
> On 27/07/2023 22:54, Tim Meehan wrote:
> > Hi Jose,
> >
> > I would take a look at gr_sattelite.  The work described here
> >
> https://destevez.net/2022/07/real-time-doppler-correction-with-gnu-radio/
> >   was integrated.  A true doppler correction would need to also
> > resample, but the time varying frequency correction may be enough for
> > your use case.
> >
> > Tim
> >
> > On Thu, Jul 27, 2023 at 1:19 PM Jose Ruvalcaba <joruvalc@gmail.com>
> wrote:
> >>
> >> Hello,
> >>
> >> I am trying to simulate an accurate representation of Doppler Shift in
> a channel and I was told that to do this I would have to multiply a complex
> signal with a cosine and implement a resampler block to simulate the signal
> samples that are coming closer or farther away from each other.
> >>
> >> My question is this, can I use either the rational resampler or
> fractional resampler block in GNU Radio to dynamically simulate samples
> moving closer or farther than each other?  Or would I need to make my own
> OOT block to do this?
> >>
> >> I tried using a QT GUI Range block to change the resampling ratio of a
> fractional resampler but my flowgraph froze.
> >>
> >> Any suggestions?
> >>
> >> Thanks,
> >> Jose
> >
>
>

[Attachment #3 (text/html)]

<div dir="ltr">Thank you all for your responses. I will look into the suggested \
libraries and blocks to see if they can work for me.    <div><br></div><div>My goal \
right now is to simulate a dynamic frequency offset on higher frequency (2.4GHz and \
above) and wideband signals (1 MSps and above) for say  a LEO satellite. This \
scenario would assume I should simulate some type of expansion and contraction on the \
signal bandwidth. I will try the periodic callback suggestion from Mr Estevez and see \
if that works for my Doppler simulation at LEO.  </div><div><br></div><div>Thanks,  \
</div><div>Jose  </div><div><br></div></div><br><div class="gmail_quote"><div \
dir="ltr" class="gmail_attr">On Fri, Jul 28, 2023 at 8:58 AM Daniel Estévez &lt;<a \
href="mailto:daniel@destevez.net">daniel@destevez.net</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br> <br>
Whether a resample (i.e., group delay change) is needed depends on the <br>
intended application. The question you need to ask yourself is: is the <br>
fact that in real life the Doppler at each frequency in your passband is <br>
slightly different because they are all different carrier frequencies <br>
relevant, or is it not and can we just take the Doppler for the centre <br>
frequency as Doppler for all frequencies?<br>
<br>
If a resample is needed, then it is easy to do a constant resampler rate <br>
(corresponding to constant Doppler) by using the Polyphase Arbitrary <br>
Resampler (or the Channel Model block, which contains a Polyphase <br>
Arbitrary Resampler). Currently there isn&#39;t a simple way to make the <br>
resample rate change over time (corresponding to Doppler change over <br>
time). Perhaps a simple solution is to periodically call the callback to <br>
update the resample rate, according to the required Doppler curve.<br>
<br>
Best,<br>
Daniel.<br>
<br>
On 27/07/2023 22:54, Tim Meehan wrote:<br>
&gt; Hi Jose,<br>
&gt; <br>
&gt; I would take a look at gr_sattelite.   The work described here<br>
&gt; <a href="https://destevez.net/2022/07/real-time-doppler-correction-with-gnu-radio/" \
rel="noreferrer" target="_blank">https://destevez.net/2022/07/real-time-doppler-correction-with-gnu-radio/</a><br>
 &gt;     was integrated.   A true doppler correction would need to also<br>
&gt; resample, but the time varying frequency correction may be enough for<br>
&gt; your use case.<br>
&gt; <br>
&gt; Tim<br>
&gt; <br>
&gt; On Thu, Jul 27, 2023 at 1:19 PM Jose Ruvalcaba &lt;<a \
href="mailto:joruvalc@gmail.com" target="_blank">joruvalc@gmail.com</a>&gt; \
wrote:<br> &gt;&gt;<br>
&gt;&gt; Hello,<br>
&gt;&gt;<br>
&gt;&gt; I am trying to simulate an accurate representation of Doppler Shift in a \
channel and I was told that to do this I would have to multiply a complex signal with \
a cosine and implement a resampler block to simulate the signal samples that are \
coming closer or farther away from each other.<br> &gt;&gt;<br>
&gt;&gt; My question is this, can I use either the rational resampler or fractional \
resampler block in GNU Radio to dynamically simulate samples moving closer or farther \
than each other?   Or would I need to make my own OOT block to do this?<br> \
&gt;&gt;<br> &gt;&gt; I tried using a QT GUI Range block to change the resampling \
ratio of a fractional resampler but my flowgraph froze.<br> &gt;&gt;<br>
&gt;&gt; Any suggestions?<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt; Jose<br>
&gt; <br>
<br>
</blockquote></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic