Before monopulse, targets looked like they were wobbling on the radar scope. The FAA's Mode-S design required monopulse to function correctly, and also releaved Kalman filter tracking algorithms from dealing with the wobble. Alas, the FAA only had a receiver for boresight, and an Omni antenna (used for sidelobe cancellation), now it had to buy two receiver systems for every Mode-S interrogator site. Excellent presentation, very interesting to watch.
Thanks! I would love to learn more about the history of the early days of radar and phased array. Sort of a Ken Burns style documentary on it would be ideal! They (you!) were doing such clever stuff. Do you know of any good books or articles on that?
@@jonkraft I know what you mean. As technicians this stuff just magically appeared, and we kept it running, but never really got access to the development end. I have one book from 1988 called "Secondary Surveillance Radar" by M.C. Stevens I can donate and send you. It has history and design. A PDF online is "Monopulse Secondary Surveillance Radar Coverage - Determinant Factors" has math, and graphics. Neither are Ken Burns though, ha. I think the era of modern radar started when the FFT was introduced. This allowed DSP to be used to extract the targets, and computers to process all the target reports. No more rotating sweeps and dark rooms.
Thanks Jon once again for a very delightful tutorial! I previously compiled a python program using mat plot lib which plots a zig zag line made up of colored dots, green dot for strong signal, yellow dot for weak signal and red dot for very bad signal.. i used gps coordinates for the plotting the colored dots which eventually create a zig zag line that represents the flight path of my drone carrying the RX. The whole contraption basically plots the radiation pattern of a directional antenna under test (on a stationary TX) . With your method, I could totally omit the GPS module and do not need the RSSI value from the RX for determining the signal strength color of the dots. And I could plot the TX antenna radiation pattern in an indoor hall. Epic! 👍
Very cool project! And that's a great idea--let me know if you ever try this out. And I should definitely update the monopulse tracking demo to color code the dots based on signal strength.
Thank you for making this. I just discovered it by "accident" and it did a much better job of explaining monopulse than any other material I've looked at. Curious, how would you go about implementing this for 5.8GHz? That's outside the range of the Pluto SDR.
Thanks! For 5.8 GHz operation, you can just apply the frequency expansion hack. This gives you 70MHz to 6 GHz operation. And if you've set your Pluto up for 2 Tx/2Rx, then that freq explanation is already included. Give it a try, and let me know how it works!
@@jonkraft I just ordered mine from Mouser, so hopefully it's Rev C. I think it would be interesting to try this using real, modulated signal sources rather than plain carriers. I suspect things may break, especially with PSK variants.
Very nice! I'd like to see how to best combine the signals from two sources, to amplify the wanted signals and/or cancel unwanted coloured signals. Would that be of your interest?
Do you mean adaptive beamforming? Where we reject an interferer (or jammer), and only look at the signal of interest? If so, that's the video I"m working on now! Stay tuned!
This is so cool. Thanks, I don't believe that anyone on youtube is doing anything like this that is accessible to an amateur. Your code explanations are clear and concise and because it is all available it can be replicated and added to. I have been fumbling through trying to make radars for the past 5 years and have tried many things with spaghetti cables and a crap ton of ADCs. But now I realize that sdrs just work, and I will try something along these lines for my next project. Just with radar illumination and maybe lower frequencies. I was wondering, pluto docs say that it has functionality in C/C++. Python is really nice for several reasons, but is pretty slow. Have you tried programming in C and would you recommend going that route? It seems like python may have enough grunt for everything though. Anyway thanks and I look forward to your next video. Ordering pluto now
Ah, thanks so much! As I say in nearly every video: I work with a great group of engineers, who are a fantastic resource on this kind of stuff. Like Dr. Travis Collins that I mentioned in this video--helping me with the correlation operation. But in terms of C, I'm not that brave.... If you end up doing something like that, and then put it in steps I would understand, I would love to see it!
Also, for Radar with Pluto, check out my friend Dr. Don Metzger's video: ua-cam.com/video/MQi-sQ1GZcY/v-deo.html He's doing FMCW pulse compression with that Pluto Rev C. Also check out Victor Cai's MFCW/FSK radar with Pluto: ua-cam.com/video/RdYfmMYW_R0/v-deo.html I think we should do some kind of radar application with this 2 channel Pluto beamformer.... I'll put it on the list!
@@jonkraft cool, I will check it out! Thanks for everything, radar is always cool! You did do some fmcw for tracking right? I though I saw that on your channel, but I will also check out the other channel you mentioned.
@@Kabodanki why rust or go? I get they may be slightly faster in some situations but in others are slower, at least from what I've seen. I've never coded in rust, Will it blow me away compared to C. I'd be willing to mess around with it. But if I am interested in speed I can just write sections of code in x86 assembly using avx512 and other simd instructions. This approach is difficult, but is the fastest possible way to do calculations like ffts right in the hardware. Also I think there might be some library support for the hardware in c already(less work for me), but this could be rewritten in another language if you wanted.
Thanks, Jon for such a great tutorial. I tried to play with pluto this way with different types of antennas and everything works perfectly. I just didn't get why the distance between antennas is calculated for lo =2.3 GHz, but we use demodulated signals Rx_0 and Rx_1whis 200kHz frequency to get the phase shift. It's not obvious, why phase shifts should be the same. Moreover, looks like it shouldn't be the same. But still, it works. I've plotted the received demodulated signals, and the phase shift between them really depends on an angle as LO oscillation should. This fact really confused me. Could you pls just briefly explain this moment?
Many thanks for your reply! I've finally got it. So this huge phase-shift in demodulated signal from two channels is nothing but a kind of mathematical "artifact" of demodulation.
Hi thank you for explain it, very interesting I was thinking about a passive tags for uhf tracking it, Pluto bandwidth could energize tags to return signal back uuid identification to check location in 2d
Using a 20w amplifier 2,4 GHz to amplify the monopulse , What do you think the range of this radar would be if we transmitted with a yagi antenna continuously scanning 120 degrees with a servo?
I'm not sure. But there are several radar range calculators online. Or if you have the Matlab radar toolbox, that has calculators and examples for radar range.
In that case, we would hit it with a transmitting signal and then measure the reflection. So basically radar. And then track that reflection. I'm going to do a radar setup next, and then maybe after that I can try to combine that radar with these Monopulse principles.
That would work if you connect an upconverter on each Rx channel so that you can get into the min freq range of Pluto (>70 MHz). I've used the "Ham It Up" by nooelec for this. But the real problem is that you'll have to space your antennas very far apart: 0.5MHz is a wavelength of 600 meters, so to avoid grating lobes you'd have to place the antennas 300m apart! 30MHz is a little better, but they would still need to be 5m apart. So while it is possible, it might be impractical.
Before monopulse, targets looked like they were wobbling on the radar scope. The FAA's Mode-S design required monopulse to function correctly, and also releaved Kalman filter tracking algorithms from dealing with the wobble. Alas, the FAA only had a receiver for boresight, and an Omni antenna (used for sidelobe cancellation), now it had to buy two receiver systems for every Mode-S interrogator site. Excellent presentation, very interesting to watch.
Thanks! I would love to learn more about the history of the early days of radar and phased array. Sort of a Ken Burns style documentary on it would be ideal! They (you!) were doing such clever stuff. Do you know of any good books or articles on that?
@@jonkraft I know what you mean. As technicians this stuff just magically appeared, and we kept it running, but never really got access to the development end. I have one book from 1988 called "Secondary Surveillance Radar" by M.C. Stevens I can donate and send you. It has history and design. A PDF online is "Monopulse Secondary Surveillance Radar Coverage - Determinant Factors" has math, and graphics. Neither are Ken Burns though, ha. I think the era of modern radar started when the FFT was introduced. This allowed DSP to be used to extract the targets, and computers to process all the target reports. No more rotating sweeps and dark rooms.
Thanks Jon once again for a very delightful tutorial! I previously compiled a python program using mat plot lib which plots a zig zag line made up of colored dots, green dot for strong signal, yellow dot for weak signal and red dot for very bad signal.. i used gps coordinates for the plotting the colored dots which eventually create a zig zag line that represents the flight path of my drone carrying the RX. The whole contraption basically plots the radiation pattern of a directional antenna under test (on a stationary TX) . With your method, I could totally omit the GPS module and do not need the RSSI value from the RX for determining the signal strength color of the dots. And I could plot the TX antenna radiation pattern in an indoor hall. Epic! 👍
Very cool project! And that's a great idea--let me know if you ever try this out. And I should definitely update the monopulse tracking demo to color code the dots based on signal strength.
Hey John - thank you for sharing - much appreciated.
Very good Jon!
Thank you for making this. I just discovered it by "accident" and it did a much better job of explaining monopulse than any other material I've looked at.
Curious, how would you go about implementing this for 5.8GHz? That's outside the range of the Pluto SDR.
Thanks! For 5.8 GHz operation, you can just apply the frequency expansion hack. This gives you 70MHz to 6 GHz operation. And if you've set your Pluto up for 2 Tx/2Rx, then that freq explanation is already included. Give it a try, and let me know how it works!
@@jonkraft I just ordered mine from Mouser, so hopefully it's Rev C. I think it would be interesting to try this using real, modulated signal sources rather than plain carriers. I suspect things may break, especially with PSK variants.
Very nice! I'd like to see how to best combine the signals from two sources, to amplify the wanted signals and/or cancel unwanted coloured signals. Would that be of your interest?
Do you mean adaptive beamforming? Where we reject an interferer (or jammer), and only look at the signal of interest? If so, that's the video I"m working on now! Stay tuned!
nice work Jon
Thanks Luca!
This is so cool. Thanks, I don't believe that anyone on youtube is doing anything like this that is accessible to an amateur. Your code explanations are clear and concise and because it is all available it can be replicated and added to. I have been fumbling through trying to make radars for the past 5 years and have tried many things with spaghetti cables and a crap ton of ADCs. But now I realize that sdrs just work, and I will try something along these lines for my next project. Just with radar illumination and maybe lower frequencies. I was wondering, pluto docs say that it has functionality in C/C++. Python is really nice for several reasons, but is pretty slow. Have you tried programming in C and would you recommend going that route? It seems like python may have enough grunt for everything though. Anyway thanks and I look forward to your next video. Ordering pluto now
Ah, thanks so much! As I say in nearly every video: I work with a great group of engineers, who are a fantastic resource on this kind of stuff. Like Dr. Travis Collins that I mentioned in this video--helping me with the correlation operation. But in terms of C, I'm not that brave.... If you end up doing something like that, and then put it in steps I would understand, I would love to see it!
Also, for Radar with Pluto, check out my friend Dr. Don Metzger's video: ua-cam.com/video/MQi-sQ1GZcY/v-deo.html
He's doing FMCW pulse compression with that Pluto Rev C.
Also check out Victor Cai's MFCW/FSK radar with Pluto: ua-cam.com/video/RdYfmMYW_R0/v-deo.html
I think we should do some kind of radar application with this 2 channel Pluto beamformer.... I'll put it on the list!
@@jonkraft cool, I will check it out! Thanks for everything, radar is always cool! You did do some fmcw for tracking right? I though I saw that on your channel, but I will also check out the other channel you mentioned.
I would bite the bullet and go for rust or even go…
@@Kabodanki why rust or go? I get they may be slightly faster in some situations but in others are slower, at least from what I've seen. I've never coded in rust, Will it blow me away compared to C. I'd be willing to mess around with it. But if I am interested in speed I can just write sections of code in x86 assembly using avx512 and other simd instructions. This approach is difficult, but is the fastest possible way to do calculations like ffts right in the hardware. Also I think there might be some library support for the hardware in c already(less work for me), but this could be rewritten in another language if you wanted.
Thanks, Jon for such a great tutorial. I tried to play with pluto this way with different types of antennas and everything works perfectly. I just didn't get why the distance between antennas is calculated for lo =2.3 GHz, but we use demodulated signals Rx_0 and Rx_1whis 200kHz frequency to get the phase shift. It's not obvious, why phase shifts should be the same. Moreover, looks like it shouldn't be the same. But still, it works. I've plotted the received demodulated signals, and the phase shift between them really depends on an angle as LO oscillation should. This fact really confused me. Could you pls just briefly explain this moment?
Take a look at the explanation in the time delay video. I think that will help with your question.
Many thanks for your reply! I've finally got it. So this huge phase-shift in demodulated signal from two channels is nothing but a kind of mathematical "artifact" of demodulation.
Very good video
Hi thank you for explain it, very interesting I was thinking about a passive tags for uhf tracking it, Pluto bandwidth could energize tags to return signal back uuid identification to check location in 2d
Thank you ❤
Interesting... 🙂
Nice!
Using a 20w amplifier 2,4 GHz to amplify the monopulse , What do you think the range of this radar would be if we transmitted with a yagi antenna continuously scanning 120 degrees with a servo?
I'm not sure. But there are several radar range calculators online. Or if you have the Matlab radar toolbox, that has calculators and examples for radar range.
what will the range for this , can it track drone 10 km away
Could this track a moving target which is not radiating signals?
In that case, we would hit it with a transmitting signal and then measure the reflection. So basically radar. And then track that reflection. I'm going to do a radar setup next, and then maybe after that I can try to combine that radar with these Monopulse principles.
@@jonkraft That would be great! Can't wait to watch your new videos!
Are there any cheaper alternatives to the Pluto SDR that you are aware of but still offer the same functionality?
Not that I know of. The price on Pluto is pretty good. It's about $230 USD. That's not bad for 2 Rx, 2 Tx, 40 MHz BW, and 70M to 6 GHz RF range!
Do you think it would work with high frequency band? 0.5-30MHz?
That would work if you connect an upconverter on each Rx channel so that you can get into the min freq range of Pluto (>70 MHz). I've used the "Ham It Up" by nooelec for this. But the real problem is that you'll have to space your antennas very far apart: 0.5MHz is a wavelength of 600 meters, so to avoid grating lobes you'd have to place the antennas 300m apart! 30MHz is a little better, but they would still need to be 5m apart. So while it is possible, it might be impractical.
18:05
Hi Jon May I contacted you via email? Thanks
It’s probably easiest to connect on linked in. linkedin.com/in/kraftjon