On Tue, May 21, 2013 at 7:05 AM, Nemanja Savic <vlasi...@gmail.com> wrote: > Hi all, > > thank you Tom for that fast response. > I would like to clarify some additional stuff: > I want like first to design signal shaping filter. Can you give me some > guidlines, like 1.5 of the symbol rate or similar. I am currently playing > with the filter design tool, quite nice tool, but can't do anything cause I > don't know the optimal signal shape that I need. By the way, when designing > root raised cosine filter with filter design tool, there are two parameters > among others: sampling frequency (which is obvious) and symbol rate in > [sps]. Since I use sampling frequency of 100k, and want to shape pulses of > 19.2k, should I use value for symbol rate of 5~6, or 19200. In first case I > assume that symbol rate [sps] means how many samples are in one symbol, > which is 100k/19.2k, and in second case I assume sps should means symbols > per second. In the first case I am not able to see impulse reposnse of the > filter (time doain) and in second case I very nice sinc curve. > I suppose after managing to design correct filter I can proceed with tuning > loop for synchronization. > > Best regards and thanks > Nemanja
I think that the best way to think about it is that the clock sync block acts like an interpolating filter. So you have to treat the taps as such. Think about how you would create the matched filter at baseband and at the sampling rate of the signal. Now you have to upsample that by some number to fit it into the polyphase filterbank. In this case, the interpolation rate is the number of filters in the filterbank (32 by default). You will also want to set multiply the upsampled taps by the number of filters. Using filter.firdes.root_raised_cosine, this is the same as setting the gain of the filter. The generated filter has the same amount of power as the original, but that means that every arm of the filterbank has that much less power in it, so you make up for it by setting the gain here. That's the basic theory and understanding. You'll have to work out the details of the filter yourself for your application. Tom > On Sun, May 19, 2013 at 12:19 PM, Tom Rondeau <t...@trondeau.com> wrote: >> >> On Fri, May 17, 2013 at 12:37 PM, Nemanja Savic <vlasi...@gmail.com> >> wrote: >> > Hi all guys again, >> > >> > After few posts and numerous tries to set up M&M sync block, I finally >> > want >> > to give up, and before I start with some kind of ad-hoc approach I want >> > to >> > ask for help to setup polyphase Clock Synchronizator. >> > >> > This block is very well documented (by the way, it looks like >> > description of >> > the block is shown twice in the property window, at least in my >> > computer), >> > but since I am not that much in polyphase filtering, i have following >> > doubts: >> >> Good questions. >> >> > - As it is stated in documentation, there are two filterbanks, one for >> > signal shaping and one for filtering signal derivative. My question is >> > what >> > is the meaning of TAPS property (taps of which filter?)? >> >> Taps are the taps of the prototype filter. Since the other filter is >> the derivative filter, you give the block a set of taps (think of it >> as the upsampled RRC filter coefficients), and the block will generate >> the derivative filter by taking the derivative of the taps you provide >> it. >> >> > - What is filter size? (Number of paralel sections?) >> >> Each filter represents a different phase. The algorithm tries to drive >> the derivative to zero, which will occur when you have the correct >> filter phase. So the number of taps gives you the quantization of the >> phase value. Think 2pi/N. You reduce ISI and timing errors by using a >> larger number of filters as the expense of complexity and memory. >> Generally, 32 should be enough and the get reduced gains by going >> higher (unless you have some ridiculous dynamic range). >> >> There is some math you can do to calculate how much error you'd >> introduced for N filters and samples with B bits/sample, but I don't >> know it off the top of my head (nor want to derive it this morning). >> >> This would be a good topic to put up on the signal processing wiki page: >> http://gnuradio.org/redmine/projects/gnuradio/wiki/signalprocessing >> >> > - In which way to setup alpha and beta for best performances (based on >> > my >> > symbol rate or whatever)? >> >> Unknown... small. Usually set beta ~= (alpha^2)/4. You'll just have to >> play with this. >> >> The new block takes just a loop bandwidth parameter, which is usually >> some small increment around the unit circle. I tend to set it at >> 2pi/100. See this blog for more that: >> >> http://www.trondeau.com/blog/2011/8/13/control-loop-gain-values.html >> >> > As for reminding, I have 19.2ksps baseband signal, sampled with 100ksps. >> > >> > Thank you in advance >> > >> > -- >> > Nemanja Savić >> >> Tom > > > > > -- > Nemanja Savić _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio