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 <marcus.muel...@ettus.com>: > 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 <marcus.muel...@ettus.com>: > > > >> 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 listDiscuss-gnuradio@gnu.orghttps:// > lists.gnu.org/mailman/listinfo/discuss-gnuradio > >> > >> > >> > >> _______________________________________________ > >> Discuss-gnuradio mailing list > >> Discuss-gnuradio@gnu.org > >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > >> > >> > >
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio