Hi Marcus, Thank you for your inputs.
On 13 March 2018 at 22:22, Müller, Marcus (CEL) <muel...@kit.edu> wrote: > Hi Anshul, > > do you normalize your correlation by the received signal power in that > same window? > No. I wasn't normalizing the correlations. I'm using the image attached as reference design. I guess I got a little excited to see the peaks in Matlab that I did not even consider the energy of the signal as a possible normalization denominator. :D > How's your frequency correction doing? If you don't have frequency > detection at that point, your signal might get decorrelated. > The preamble detection step itself is supposed to find a coarse frequency-offset which must be further refined by correlation with the Carrier-Distribution-Sequence(cds) in the next step. So, no, currently, there is no frequency correction as per se. > > You can solve both by employing a fixed delay correlation of your > receive signal; IIRC, P1 is roughly split into three parts: A middle > part that repeats in the front and at the end of the symbol. Let's say > that repeated part in the front is N samples long. Take these N, > correlate with the N that follow, divide by the power of these samples. > Correct. I was not dividing by the power. I did that and the slopes have become more smooth except occasional blips over a single sample. I am correcting for these occasional blips by comparing my current value with the running average a small previous window (5 samples currently), the reasoning being - If the signal is rising fairly consistently, the current value will be greater than the average of what came in the short term past. By doing so, I am able to get a coarse window of prospective sample ranges where the signal might be starting. I will now try to filter them further by correlating with the CDS and revert back if I run into more trouble. Many thanks! > > You'll not only get a value that should be independent from absolute > receive signal strength (as long as fading is not faster than ¼ of the > P1 length), and as a bonus, the correlation coefficient's phase allows > for a relatively robust frequency offset estimate. You can use that > estimate to correct your receive signal and get a better detection > result :) Best regards, > Marcus > > On Tue, 2018-03-13 at 20:38 +0530, Anshul Thakur wrote: > > Hello all, > > > > I am trying to implement a DVB-T2 receiver's P1 symbol detection block > using C++ in GNURadio. From a non-real time code in MATLAB, I can see that > the correlation peaks during the P1 symbols are almost 50 to 100 times > larger than the rest of the time. This rise is not steep in consecutive > samples. > > > > However, I am having trouble in implementing this as a kind of > stream-algorithm that operates on blocks of data (like a real receiver > would) rather than the entire thing (in GNU Radio, that is). The problem is > thus: > > > > I want to detect when the signal correlation reaches its peak-plateau > region. While the overall trend in correlations does rise, the consecutive > values may fluctuate in both positive and negative directions due to > noise/fading effects. I've tried a few rudimentary approaches: > > > > 1. Average the correlations over some period and see if the current > average is greater than some sample at an offset in the history by a > threshold value to term it as rising. While it can give some degree of > rise, it is not very good at peak detection. > > > > 2. Keep a history of consecutive slopes in my block and use a small > average. The fluctuations should die down and give some value near to 0. > This doesn't seem to happen. The results are not satisfactory. Also, the > consecutive slopes are also not that spectacular to contrast with the > average case. > > > > Possibly, I need to use some smoothening and differentiator filter. Can > you point to a sample implementation of a similar kind? Or give some more > ideas I could experiment with? > > > > > > Warm regards, > > Anshul > > _______________________________________________ > > 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