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: Carlos Alberto Ruiz Naranjo
Subject: Re: [Discuss-gnuradio] Fractional delay in fractional resampler block
Date: Wed, 19 Nov 2014 09:03:46 +0100

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]