Hi andrew thanks a lot for your answer. 
I have some more questions.

- According to your answer, all the computation in order to get the time 
delay between signals is made by software and off line, instead of 
calculating that delay in the FPGA and in Real Time.
So first, ¿how do you get the number of samples that the signal should be 
delayed in the coarse delay block?
I imagine that the signals after the ADC are stored and then, for example in 
Matlab or Python, a kind of cross correlation in the time domain is 
calculated in order to get that number of samples.
Please, could you confirm me this? and if it is possible could you describe 
which algorithm are you using? 

- Once the coarse delay is corrected, we have to correct the fractional 
delay in the frequency domain. You say you don't need to calculate the phase 
difference among the different  bins of the antennas because you already 
know the position of the source and the antennas...
but could you please send me an example just to know how to get those 
phases...
- Those phase differences are calculated at the beginning and then they don' 
need to be updated in the time?

-  How do youn choose the number of bins?

- How do you calculate the fringe rotation?

I have another question connected with the reference signal of 10 MHz. I am 
using the TIMETECH equipment that is advised in the Casper web, in order to 
generate a 10 MHz reference. Then all my Signal generators use this 
reference signal in order to generate the clock signals for the ADC, 
DAC...and also for the LNBs of the two antennas. The problem is that, 
although the two LNBs are using the same reference signal, each one has its 
own PLL. So I think I have a little offset between the two signals I get 
from the two antennas. How Casper have solved this problem? 

thanks in advanced, and kind regards,

Jesús




-----Original Message-----
From: Andrew Martens <[email protected]>
To: Jesús García LLedó <[email protected]>
Cc: casper list <[email protected]>
Date: Tue, 19 Jun 2012 15:37:27 +0200
Subject: Re: Some questions


Hi Jesus

I am including the CASPER list in my reply as your questions are
probably shared by almost anyone developing correlators/beamformers.

On Mon, 2012-06-18 at 14:57 +0200, Jesús García LLedó wrote:
> Hi Andrew,
>
> I write you in order to speak you about a problem I am dealing with. 
Firstly I would like to tell you some details of my problem and I will try 
to avoid boring you.
>
> The idea is to implement an Antenna Array to receive signals from 
geostationary satellites. These kind of satellites can be seen a signal 
source fixed in the sky.
> Now, to make things simpler, we only want to implement a two antenna 
correlator.
> The signal from the Satellite arrives to each of the antennas, but as 
these antennas are separate in the space, we have some delay between these 
two signals.
> So what we have to do is just to correct this delay, and them sum these 
two signals. Making this we would improve the Signal to Noise ratio of the 
resultant signal in 3dBs.

> We want to make this with broadband communication signals. At least with a 
bandwidth of 100MHz.
>
> I think this is more or less the working philosophy of CASPER, so we could 
use some of the tools and blocks which are already implemented.To do this I 
also
> think that with a RoACH board, a KatAdc Board and a DAC board it will be 
enough.
>
> I write you to ask you about the blocks that I would need to solve this 
problem.

You will only need the DAC if you want to transmit. A katADC will give
you two inputs, I am assuming that you have only a single polarisation
per antenna? The iADC will also be fine if you don't need the variable
gain and switch to ground offered by the katADC.

> I think in CASPER, time delay between the signals is measured and 
corrected in the frequency domain.

It is more accurate to say that our correlators are FX correlators so we
try to do things in the frequency domain where possible. However, this
could be done in the time-domain, we just don't have as much support for
it. There are plans at Manchester to develop a programmable group delay
FIR filter block so that fractional (less than one ADC sample) delay can
be done in the time domain.

> I suppose that the  PFB + FFT block divides the spectrum of the signal 
into several bins, then for each bin the phase difference from the two 
antenna signals is measured
> (but I don't know with wich block...) and afterwards I guess that phase 
difference is corrected, the two signals are summed and then a synthesis 
filter (the inverse of the
> PFB + FFT block) is necessary to return to the time domain....

The process in our systems is as follows;
1. The signal is sampled by the ADC
2. The signal can be delayed by multiples of one sample in a block
called a 'coarse delay' block (delay_wideband_prog in Delays subsection
of library). This allows most of the delay to be removed.
3. The PFB/FFT divides the signal into bins.
4. The final fraction of delay can be removed using complex
multiplication to rotate the phase of the data in the FFT bins. This is
done in a block called the 'fine delay' block. I can send the one we use
to you as it is not yet in the library. If you are not using baseband
signals you will need to do fringe stopping at this point too.
5. We add the signals from different antennas and transmit the the
result.

Note a few things;
1. We don't go back to the 'time-domain' i.e no synthesis filter.
2. We don't measure the phase difference in the FPGA. We use software to
calculate the delays in advance given that we know the position of the
antennas and source.

Attached is an image showing the data flow in our system to help
explain.

Regards
Andrew

Reply via email to