discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Fractional delay in fractional resampler block


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] Fractional delay in fractional resampler block
Date: Fri, 28 Nov 2014 18:12:42 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

Hi Carlos,
I just realized that maybe the core problem here is that I don't really
understand what you're trying to do --
could you explain what this system will be used for, and why you need
that particular sampling rate etc?

Best regards,
Marcus
On 11/28/2014 05:59 PM, Marcus Müller wrote:
> Hello Carlos,
>
> I don't really think that what you built really reflects what you're
> trying to achieve: I thought you needed a really small delay in time
> domain, and a sampling rate conversion from 10MHz to 10.23MHz.
>
> Why are you doing a delay in frequency domain? That will simply be a
> frequency shift in time domain, which you could easily realize (and with
> much smaller computational error) by multiplying with a complex sine in
> time domain.
>
> I don't really understand what you mean with "small variable delay in
> the receiver": Do you mean your system is not somehow synchronized?
>
> Best regards,
> Marcus Müller
>
> On 11/28/2014 05:16 PM, Carlos Alberto Ruiz Naranjo wrote:
>> Hi Marcus,
>>
>> I spent a week doing tests and do not know what can be the fault. Did you
>> see any mistake? [1]
>> If I transmit the signal with no delay (signal -> FFT -> IFFT -> USRP) I
>> have a small variable delay unwanted in the receiver.
>>
>> Greetings.
>>
>> [1] Now use powers of two in the FFT lenght (128,256...)
>>
>> 2014-11-19 14:57 GMT+01:00 Carlos Alberto Ruiz Naranjo <
>> address@hidden>:
>>
>>> *** The bandwidth of the signal is 4 MHz.
>>>
>>>
>>>
>>> Greetings,
>>> Carlos Alberto Ruiz Naranjo.
>>>
>>> Área de Aviónica y Sistemas No Tripulados/Avionics and Unmanned Systems
>>> Department
>>>
>>> Parque Tecnológico y Aeronáutico de Andalucía
>>> C/ Wilbur y Orville Wright, 17-19-21
>>> 41309 La Rinconada
>>> Sevilla (Spain)
>>> (+34) 954179002
>>> http://www.catec.aero/
>>>
>>> 2014-11-19 9:03 GMT+01:00 Carlos Alberto Ruiz Naranjo <
>>> address@hidden>:
>>>
>>>> Hello!
>>>>
>>>> I have done the fractional delay block ( http://pastebin.com/cEDfTh9m ).
>>>> Have you seen some error? I have used the proposed filter in "Closed
>>>> Form Variable Fractional Time Delay Using FFT" [1][2]
>>>> This is my flowgraph:
>>>>
>>>>
>>>>
>>>> ​
>>>> - My signal sample rate is 10230000 samples per second and I want a
>>>> variable delay of 1ns of precision. What is the relationship between the
>>>> maximum precision of fractional delay and the length of the FFT? What is
>>>> the limit?
>>>>
>>>> - Is it a problem the fractional resampler of 1.023? Can it distort my
>>>> signal? [3]
>>>>
>>>>
>>>> Greetings,
>>>> Carlos Alberto Ruiz Naranjo.
>>>>
>>>> Área de Aviónica y Sistemas No Tripulados/Avionics and Unmanned Systems
>>>> Department
>>>>
>>>> Parque Tecnológico y Aeronáutico de Andalucía
>>>> C/ Wilbur y Orville Wright, 17-19-21
>>>> 41309 La Rinconada
>>>> Sevilla (Spain)
>>>> (+34) 954179002
>>>> http://www.catec.aero/
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> [1]
>>>> https://www.deepdyve.com/lp/institute-of-electrical-and-electronics-engineers/comments-on-closed-form-variable-fractional-time-delay-using-fft-tNk7X6CH9c
>>>> [2] http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6171834
>>>> [3] I use the fractional resampler because I can't put a sample rate of
>>>> 10230000 in the USRP block.
>>>>
>>>>
>>>>
>>>>
>>>> 2014-11-17 14:26 GMT+01:00 Marcus Müller <address@hidden>:
>>>>
>>>>> Hi Carlos,
>>>>> yes, your formular looks correct, scalar multiplication aside.
>>>>>
>>>>> Regarding your problem:
>>>>> It's not a problem, it's a feature :)
>>>>> you're using window functions in your FFT, that's what's changing your
>>>>> signal.
>>>>> The FFT is but an implementation of the DFT (discrete fourier
>>>>> transform), which is, considering the input as element of a
>>>>> n_fft-dimensional vector space, is but a base change, and thus has an
>>>>> inverse -- the IDFT (incarnated by the IFFT).
>>>>>
>>>>> what you see is something like the norm of the square of the window
>>>>> function; use "rectangular" to avoid this.
>>>>>
>>>>> Greetings,
>>>>> Marcus
>>>>>
>>>>> On 11/17/2014 12:23 PM, Carlos Alberto Ruiz Naranjo wrote:
>>>>>> I have some questions about FFT method.
>>>>>>
>>>>>> - I have done a test with my signal ( [Signal] -> [FFT] -> [IFFT] ->
>>>>> [Signal]
>>>>>> ) and I have a problem with the spectrum (central lobe):
>>>>>>
>>>>>>
>>>>>>
>>>>>> ​
>>>>>>
>>>>>> - To insert a delay I multiply the FFT by [1], right?
>>>>>>
>>>>>> Can I insert a delay (no variable) if I multiply the FFT by GNURadio
>>>>> sine
>>>>>> complex block?
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Greetings,
>>>>>> Carlos Alberto Ruiz Naranjo.
>>>>>>
>>>>>> Área de Aviónica y Sistemas No Tripulados/Avionics and Unmanned Systems
>>>>>> Department
>>>>>>
>>>>>> Parque Tecnológico y Aeronáutico de Andalucía
>>>>>> C/ Wilbur y Orville Wright, 17-19-21
>>>>>> 41309 La Rinconada
>>>>>> Sevilla (Spain)
>>>>>> (+34) 954179002
>>>>>> http://www.catec.aero/
>>>>>>
>>>>>>
>>>>>> [1] N: length of FFT, m: delay, k: position
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2014-11-12 15:32 GMT+01:00 Marcus Müller <address@hidden>:
>>>>>>
>>>>>>>  well, yes, you could, but that sounds ugly:
>>>>>>> 1. a sample rate of 1e9Hz implies --for complex float-- a memory
>>>>>>> consumption of 1e9*8B~=8GB per second...
>>>>>>> 2. unwieldy fractional resampling, because 10.23e6 and 1e9 don't have
>>>>> a
>>>>>>> very large common divisor; you'll be interpolating by a factor of
>>>>> 100000
>>>>>>> just to decimate by 1023... That is effectively just very very many
>>>>> samples
>>>>>>> in-between.
>>>>>>> 3. you're sampling at 10.23MS/s, but you want to do something with a
>>>>>>> temporal resolution of 10 times that rate; that's a phase shift, for
>>>>> sure,
>>>>>>> but I'm afraid that it sounds like you're trying to harm Nyquist in
>>>>> some
>>>>>>> way or another.
>>>>>>>
>>>>>>> When were talking on how to simulate delay introduced by radar range
>>>>> in
>>>>>>> GNU Radio, a wise[1] elder[2] told me to do time shifting in frequency
>>>>>>> domain:
>>>>>>>
>>>>>>> The idea is that a time shift corresponds to frequency shift in
>>>>> frequency
>>>>>>> domain, so you can, within the spectral precision defined by the
>>>>> length of
>>>>>>> your DFT, have arbitrary shifts by doing [time
>>>>> signal]->[DFT]->[multiply
>>>>>>> with complex sine]->[IDFT] . Note that, due to the circular nature of
>>>>> the
>>>>>>> DFT, this will distort the first samples of the output.
>>>>>>>
>>>>>>> Greetings,
>>>>>>> Marcus
>>>>>>>
>>>>>>> [1] one might consider him wise
>>>>>>> [2] not really an elder
>>>>>>>
>>>>>>>
>>>>>>> On 11/12/2014 02:50 PM, Carlos Alberto Ruiz Naranjo wrote:
>>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I have in my project a sample rate of 10.23 million samples per
>>>>> second and
>>>>>>> I need to delay the signal +-1ns. With GNURadio block delay I can
>>>>> delay the
>>>>>>> signal 97.75ns (1 / 10,230,000 -> + - one sample).
>>>>>>>
>>>>>>> Could I use the fractional resampler block to enter a variable
>>>>>>> fractional delay?
>>>>>>> Has anyone implemented a fractional delay block?
>>>>>>>
>>>>>>> Thank you.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Discuss-gnuradio mailing address@hidden://
>>>>> lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Discuss-gnuradio mailing list
>>>>>>> address@hidden
>>>>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>>>>>
>>>>>>>




reply via email to

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