 So I would like to address presentation about using passive radar application on software different radio. I'm pleased that this year I'm not in the academia section because actually this is all done for fun. Yet I should emphasize that I get a bit of money from the French National Resource Center to investigate this topic. It's been something I've been thinking of for a few years now, and I was very lucky to join University of Hoku for three months at the end of last year, which gave me enough time to finish this work. So I should acknowledge the two PhD students, Waker Feng and Gregory Churniak for working with me on this and the laboratory of Professor Stato. So what is the whole story about passive radar? The problem with active radar is that quite few people have access to a high power emitter, and even if they do, they would hardly have the legal authority to emit such high power. So as an example of what an active radar would be, in East of France, close to the laboratory where I come from, we have in Besançon the graph radar, which is a French radar for air space surveillance, get detecting satellites, and when we're leaving 40 kilometer from 400 kilowatt radar, you just take a wire out of the window, and if you take the free transform of whatever is happening around the carrier, you see all the planes flying in the area. That's very easy, but unfortunately quite few people have access to a 400 kilowatt emitter. So what are the requirements for passive radar, which is basically hitchhiking on existing emitters for radar applications? The first challenge is that radar signal decays as the fourth power of distance. So you need a powerful emitter. The second is that if you want range information, which is not the case for graph, because for graph, you're looking at satellites. So if you just know the velocity of the satellite is enough to get with Kepler's law, you know the altitude of the satellite. But if you want the range, the range is inversely proportional to bandwidth. So you want high bandwidth sources. So that being said, I think all the possible sources of radar signal have been investigated. I've put on the web the slides and you can find the references. Wi-Fi, initially people have been using analog TV, which were powerful 100 kilowatt emitter in England. GSM, Wi-Fi have been used for close range, short range passive radar. And in this particular case, we'll be investigating using digital video broadcast emitters, which are now pretty much everywhere irradiating signals in all countries. Just as a quick reminder, because I'm sure that most people in this audience will be familiar with, my receiver will be the low-cost poor quality, but yet affordable DVBT receiver uses software and different radios, which combines RTL2832U, analog digital converter and USB converter, with the R820T2 front-end, which gives a success especially to a 400 to 500 megahertz DVBT band. I will not get in the details, new radio will be used for collecting the data. So I'm not claiming to do anything new here, because of course you might be familiar that this Finnish guy, whose name I can pronounce here, but has been presenting this since 2013. My problem is that the results are amazing, but I just don't know how he did it, because there is hardly any technical presentation about the topic. So what I wanted to do was to try to get hands-on experience and get understanding of all the challenges of getting this to work. So basically, what is passive radar? Passive radar is using existing electromagnetic wave and reflections on static and moving targets to detect the range and velocity of these targets. Now, usually when you send a pulse, you know the shape of a pulse and the classical means of detecting the target is to cross-correlate the pulse that you emit with any return signal and this will be your match filter approach. Now, in this case, we don't know what the emitted signal is, because we have no knowledge about what the TV station is emitting. So in a passive radar, you need a reference measurements where you look at the direct wave from your non-corporative emitter and you look at the measurement signal from static or moving targets and cross-correlating the reference with the measurement will give you the match filter and ability to detect targets in your return signal. So this is very basic, but the challenge for software different radio or this particular low-cost approach is that these two receivers must be synchronized. If there is some time delay, you will not be able to differentiate the range of target with respect to the time delay between communication of the receiver and the reference and measurement receiver, and these two devices must be frequency locked if there are at a different sampling rate, of course your cross-correlation will not match. So just as a quick reminder about the basic maps, so just that we can follow up later, usually when you want to do a convolution, you know that a convolution is an n squared complexity operation, and the classical means of computing the convolution is to take your convolution theorem where you're saying that the free transform of a convolution is the dot product of a free transforms. Now here we're not doing a convolution, we're doing a correlation, and the difference between convolution and correlation is that time has been flipped in the convolution. And how do you flip time? Well, flipping time is just a matter of taking the complex conjugate. If you take the complex conjugate, you flip time omega t becomes minus omega t. So you have the obvious solution of computing your cross-correlation. So what you do efficiently is that the free transform of a correlation is the free transform of one signal, dot product with a complex conjugate of the free transform of reference signal. So that's how you easily compute your cross-correlation. Why do I remind you of this? Because once you know this, implementing this in new radio is quite trivial. You take here a noise source, this noise source is time delayed, this delay will represent the distance to the target. And the only thing is that when you want to tell the dot product between the two free transform, you need to convert your stream to vectors. The length of the vector will give you the range, the largest range that you can detect. You take the multiply conjugate inverse free transform, and you get in the waterfall the distance. If I make a small trick to vary linearly, so in a triangular fashion, the delay here, you see the cross-correlation between the two reference signal and measurement signal. And if you vary the delay in a triangle shape, well, you indeed see the cross-correlation. So this computation of a cross-correlation in new radio is working pretty well for a transform dot product of a complex conjugate inverse free transform. There's just a couple of tricks for the maximum in the middle and not on the side, but that's a trivial matter of solving issues. OK, so we know we can compute the cross-correlation in new radio, that's easy enough. Now, how can we actually measure data and not use simulated data? The challenge is, of course, you put two DVBT, one collected to the reference antenna, one connected to a measurement antenna, and the question is, are they synchronous? Are they locked in frequency? Well, frequency locking is just a matter of unsoldering one of the quarts and connecting the frequency source of one DVBT to the other one, that's easy enough. However, the carrier frequency, the local oscillator, is generated by using a PLL, and you don't know how this PLL is implemented. Second question is, is the data stream time synchronous? That's the second story. And the last issue is phase synchronous, which will be tackled in the conclusion. Now, the first thing is frequency synchronous. The PLL, the fractional PLL, which is inside the DVBT, actually uses divring to have high resolution, so sub-400 hertz tuning resolution. And it happens that this, I cannot explain why, but my understanding is that because the divring from the two local oscillator is not triggered at the same time, the pseudo-random generator is not running synchronously on the two DVBT because they get their orders on the USB bus at different times. These two DVBT will be diverted at different times. And so if you look on the green curve, which is evolution of phase over time, you see that there's a frequency offset, even though the two DVBT are measuring the same reference signal to 100 megahertz oscillator, they are clocked by the same local oscillator, and still you have a frequency difference, which is not what you want. This is done by using the basic RTL, LibRTL library that is provided a depth and seed distribution. And so the first thing you do is you recompile your LibRTL-SDR to remove divring, and then you get just the random fluctuation. This is thousands of seconds, so this is actually a weak measurement, but so you can remove the frequency offset by removing divring, you'll find a couple of websites explaining how to do this, and then you just get the random phase fluctuation, which we have attributed to temperature differences. If you freeze one of the two DVBT receivers, the PLL, you see a huge jump. So this is really related to temperature issues. We try to improve this by using a terminal bridge between the two, but that doesn't improve anything. So now we have the solution about frequency difference. Now, are the signals time-synchronous? This is five measurements. We just run the same noise generator, and we just do five measurements. And you see that the time difference, the point at which the correlation occurs, is different. Now, the first thing that's interesting is we do have a correlation. The fact that we have a correlation means that two days that stream are continuous. That's a good thing. However, the time delay between the two USB streams is random. So the challenge of doing passive radar is to calibrate this time offset and to make sure that it remains constant because whenever you stop the stream and start it again, well, you have a new time offset. So if you want to calibrate initially, you must make sure you never stop the stream of data. So this is what the whole flow chart looks like. I'll explain how we avoid stopping the stream. So basically two Osmo-SDR sources with the index RTL equals zero, RTL equals one. Another approach is that I replace this one with an oscilloscope source because actually in radar, you don't need continuous stream. You just want to have batches of data synchronous. So you can take a radio frequency oscilloscope, look at the two channels connected to two antennas, and you run the exact same data stream, FFT, complex conjugate, inverse FFT. I think it's really important to have real-time feedback whether your measurement is working or not. If you go in the field, you do a lot of data collection and you go back to the lab to realize that you had the mistake and you had forgotten to connect one of the antenna, that's very disappointing. So real-time display of a correlation to me is mandatory. So this is pretty much what the a new radio flow chart looks like. The oscilloscope input is documented on the GitHub. So that's the actual setup. The actual setup is one antenna facing towards target, one antenna facing towards the DVPT receivers. We run the flow graph, we have a cross correlation peak. So the two data streams are contiguous and continuous, sorry, and we do have a proper operating. If we zoom into this peak here, we do see some structure, which is quite encouraging. So we do see the correlation peak here, the zero time, and we see all these familial structures, which I will show you target reflections. So that's a good start. Now, the problem is if we start measuring and we want to make sure that the calibration of a zero-time delay is valid for the whole measurement, we need to make sure that the data are collected, are sent stream continuously. However, I don't want to collect continuously data because I'm generating six gigabyte per minute at this rate. So how can I make sure that my stream is continuous and yet I just collect data when I need them? So here we use the zero MQ streaming. So Tom Rondo explained us that external software would be best used to collect data from Neuradio. What we did here is we use Neuradio to collect the data, we stream the data using a UDP-like approach, meaning that the data are continuously streamed and because Octave has a zero MQ sync, we can collect the data just when we connect to the socket and when we don't need the data, well, the data are just lost, but at least they are continuously acquired and they are just collected whenever we need them. So that's a demonstration, Neuradio streaming data for UDP, sorry, zero MQ sync and Neuradio collecting the data for source. So it's working pretty well. This is with synthetic data and when you do this with real data and you take your reference antenna and azimuth rotate it so you want to look at different areas, well, you see here, these are the time, each one of these dots is a correlation peak and, well, we do see the nearby building giving more reflections and if you trust me here, there's a bit more energy on this large building here. Now, because we have only two megahertz bandwidth, two megahertz bandwidth is a monostatic range of 150 meters, of course, my range resolution is not very good. So this is why we went for the oscilloscope because the oscilloscope gives us 200 megahertz range and that's 100-fold improvement and that's your map of the reflectors nearby building over here. This building is much better visible here and that tells you you can see static targets using passive radar, just using correlation between your reference measurement and your received signal. Now, okay, this is building, static targets. Can we do anything better than static targets like moving targets? Well, of course, you can measure moving targets because moving targets as opposed to building are moving. So they have some velocity and if they have some velocity, they have some Doppler shift. So now your ambiguity function is no longer just the correlation between the reflected signal and the measurement signal, but now you need to Doppler shift all the possible Doppler shifts of your measurement signal to try to compensate for the Doppler. If you saw the GPS presentation a couple of years ago, that's exactly what we did with GPS. We had the code of the GPS and we were looking for all the Doppler shifted copies of the GPS in the received signal. This is, of course, much more computationally intensive, but let's try to have a hint about what is the Doppler shift that we're looking for which will define the duration of the measurement because the Doppler resolution will be inverse of the duration of the measurement. A plane flying at 100 meter per second, which is at the landing stage, 360 kilometer per hour, will exhibit a Doppler shift. Remember that in radars, the Doppler occurs twice once the wave is going to the target and once the wave is coming back from the target. So at 100 meter per second, at a 500 megahertz carrier, we have a 300 hertz Doppler shift. 300 hertz means we need to collect data, well, 3 milliseconds would be 300 hertz. If you want 100 bins, you need 300 millisecond data collection. We went for 250 millisecond long batches. The batch length will also define your signal-to-noise ratio because it will define your compression capability. Compression, BT, bandwidth, time, measurement time is the number of samples. The number of samples tells you the signal-to-noise ratio improvement. So we go for 250 millisecond long batches and in 250 milliseconds, a plane flying at 100 meter per second will move by about 25 meter, which is shorter than the range resolution. So we do not lose range resolution by doing this. So your ambiguity function is actually your auto-correlation when you replace the signal that you collect with the reference signal and you try to look at all the features of the data that you collect. So you see here, this is the Japanese DVBT signal, ADSB, sorry, forgot the name, the Japanese terrestrial broadcast, you have here the zero Doppler and here you have OFDM separated by about 210 hertz. You have time-delayed copies of a signal and these should not be mistaken for targets. These are just features of a signal emitted from the reference signal. So having said that, well, we go to the airport, we go at the end of the landing strip and we just look at planes flying in front of the antenna. And this is example, I'll show you the movie during the question time, but basically these are zero Doppler, so this is all the clutter, this is your plane coming in and in this plot, this is the range direction, this is the velocity, so as the plane is coming closer towards the landing strip, it is slowing down. These we believe to be cars on a nearby highway with a bridge where the cars are visible and because this Doppler shift is consistent with plus or minus 100 kilometer per hour and they're all located in the same Doppler shift. So we believe we also see in addition to the plane landing over here, we see cars in the nearby area. The same story is applicable to, sorry, and if I accumulate all the data, this is your plane trajectory in the velocity range plane with all the cars at plus or minus 100 kilometer per hour. Having said that, we can do the same with autocorrelation because if you want to avoid all the issues about synchronizing to DVBT, well, there's always a bit of leakage of a reference signal on your measurement signal, so the autocorrelation will give you the same result. Of course, with a poor signal to noise ratio because the reference signal is now much weaker and you have a lot of artifacts. Here it works very well because there's only one target, but if you have multiple targets, you get all the mixing between all the targets. So autocorrelation is one way of getting the story without all the hassle of synchronizing multiple receivers. Because we're using embedded hardware and we don't need all the fancy oscilloscope power supplies for amplifiers and all the stuff, well, you can just take the DVBT dongles, your laptop and antennas on your backpack and you go on the seashore and you just put your antennas on the seashore where there's a lot of ships going around and ships have a huge radar cross-section. They're not very fast but they have a huge radar cross-section. So here are two examples, one ship with a positive Doppler shift coming towards us, one ship with a negative Doppler shift going away from us. So they all work very well. So this is one of the demonstrations that's been published a few years ago with a USRP by the PISA, people from Italy in PISA where they are measuring ships using passive radar. So we've measured buildings, we've measured planes, we've measured ships. Can we do anything better yet? Well, the question is, can we measure cars? Now with cars, we believe that there is no not enough range resolution. Their cars are too small to have enough radar cross-section for us to collect the data from cars located 75 meters away. So if you look at your ambiguity function, your range information is actually lost. You don't have tau anymore because you've lost the range information, you don't have enough resolution. So if you look at the ambiguity function which is now integral of reference time measurement without the tau multiplied by two pi f t, well that's simply the Fourier transform of reference times measurement. So this is computationally much more efficient. You just take the Fourier transform of your reference time your measurement and you should have some information about the velocity of the cars, no range of information, but we don't care, we just want the velocity of the car. Again, if you take the order of magnitude of the velocity of your car, you will know about the velocity, the frequency resolution that you're looking for and from the frequency resolution it gives you the time integration because inverse of the time integration gives you your frequency resolution. So again, we are having one antenna looking towards the car, one antenna looking towards reference antenna and when you take the Fourier transform of this story this is what you get. You get a whole range of data where this is the long duration, this is two minute measurement, these are your Doppler shift and the first time we did this I didn't believe it could be working. So we did the same measurement the next day and we ran a movie. We were collecting a movie of the cars driving in front of us and each one of these white dots is I converted the movie into pictures and these pictures are just through way over pictures that did not have a car. So each one of these white dots is a picture with a car and what you can see is that for each one of these Doppler shifted signal we have one white dot and for each white line here we have a Doppler trace. So I can say for sure we have a one-to-one relationship between each one of these cars and you can see that the cars going away from us have a negative Doppler shift, the cars coming towards us, this is in Japan, so the Japan drive on the left side, all the cars coming towards us have a positive Doppler shift. So we can detect cars using passive radar. So again, we have such signal processing is so powerful that you can even get a bike. A bike driving here will give you enough radar cross-section to detect some sort of signal that was definitely not expected. Finally, to conclude my talk, the range resolution is limited by the bandwidth. But you can take multiple DVBT and just put them in parallel, two of them looking at the reference signal, two of them looking at the measurement signal, and just tune them to adjust and frequency ranges. Now it happens that you double the bandwidth. By doing this, if you double the bandwidth, you want to narrow down your correlation peak and narrowing down your correlation peak is done by destructive interference of the side lobes. That requires a range time positioning of your two-signal time offset calculation with sub-pixel accuracy, which a bit more involves. But to give you a short story, this is our shift that we're measuring here, one frequency band, adjacent frequency band, so this is a two-megahertz band around 500 megahertz, this is one about 502 megahertz, and if you take the combination of the two-signal, you have the range resolution. If you're not convinced, we can just take a cross-section. This is a cross-section along the range resolution. You see that the blue and the red curves are individual frequency bands. The yellow one is a combined of the two frequency bands, and you see here that the range resolution has been improved twice. The Doppler, of course, has not been affected by your doubling of frequency. So as a conclusion, well, I believe that we have demonstrated that we can have a good understanding of how to use non-cooperative emitters for passive radar using very low-cost application of DVBT receivers as a general-purpose SDR. New radio is used to collect the data, all processing is done offline using Octave, and what we would like to do this summer is to investigate DVBT arrays, and if we want to do direction of arrival, which seems to be the hot topic if you look at all the GRCON presentations, well, direction of arrival needs phase synchronization. The moment I don't have phase synchronization, I'm looking at a strategy similar to Dick switch where you're periodically switching your DVBT receivers on a reference signal to analyze the phase offset. So I have a hardware in my backpack if anyone is interested. So that would be the work for this summer when weather becomes a bit better direction of arrival, and I would like to use the FPGA of anything like a red pitaya for real-time correlation computation as opposed to offline computation because at the moment one second of collected data takes about 30 seconds of processing, and if you could do this in real-time, it would be much nicer. So with that, I thank you for our attention. I'll just run the movie of the plain landing, and if there is any question, feel free to ask. Can you please repeat it? Of course. We're doing on the product interface. Window function and what is your criteria for selecting? The criteria for selecting? The window function. What's the size though? So the question is I'm using intensively free transform which is correct. The question is whether I'm using windowing will definitely strongly improve your side-lobs. I am not using any windowing in these applications. I'm using long enough correlations so that my signal to noise ratio is sufficient to have a single pixel in my correlation. Here I'm not using any windowing, but obviously windowing in the auto correlation function, it makes a huge improvement on your side-lobs. All the data that I'm showing here are not using windowing. I waste a little bit of the resolution, but the question is what's the antenna I'm using, and I'm just using off-the-shelf DVBT antennas. So these are, I checked 30 euro inference at the moment, so two times 30 euro antennas, which actually you can scrap out of garbage. Ms. Marcus. So like receivers with channeling and stuff, so is it possible to actually receive the bits that are in the DVBT signal read and track the original signal increase? So the question is whether we can regenerate the signal from by just decoding DVBT and regenerating the carrier. This is a very hot topic on the literature, scientific literature, improving signal to noise ratio by decoding the signal, re-encoding. We were using, there is a decoder from a guy in Uruguay, who has implemented the DVBT protocol used in Japan. We try to do it and it's just beyond our technical skills. So if anyone wants to try it, do it, but I don't get this. Okay, thank you. So if anyone wants, I've put some papers which are the printed copies of the abstract that we put on the website, and for the French-speaking audience, this is the current issue of Newly Linux Magazine which holds the current paper. How are you? Fine, thank you.