saveitforparts / Tailgater-Microwave-Imaging

Microwave imaging using Tailgater portable satellite antenna
The Unlicense
72 stars 12 forks source link

feature: adaptive resolution #4

Open RubenKelevra opened 1 year ago

RubenKelevra commented 1 year ago

Currently, the whole area is specified and scanned in one resolution.

Using the nudging feature, it should be possible to do 0.2° steps, but this would take a huge amount of time to complete.

Not only is it not necessarily feasible timewise to do such scans, also objects may move – if not (geo)-stationary.

Adapt resolution based on signal strength

Instead of doing a full resolution sweep, the antenna could first sweep the sky with a very low resolution, like 4°.

Then sort the signal strength received and mark areas of interest where the signal strength is in the upper 90th percentile.

In those areas it does a 2° sweep and sort/filter again.

Repeated by a 1° sweep.

To improve scan time the next resolution could be a "double nudge" to the right off plus a "double nudge" to the right off of -1 of the "interesting" value. While that's a delta of 0.4° it should still be close enough.

The whole progress would massively improve the scan time of the sky, as only small portions would be scanned with high accuracy, while sections which would only appear as “noise” wouldn't need to be scanned.

Display

While scanning the progress could be shown on the console by printing out the grid of 2°s as chars.

While just counting up how many measurements were taken in each 2° area. A simple . is no measurement and 1-j display would, e.g., look like that:

###############################################
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.111.111.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.111.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.111.1.1.1.1.1.111.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.111.1.1.1.111.1.1.24421.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.124484211.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1248jjjjj8211.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.12488j84211.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1244421.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1122221.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.11111.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
#1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1#
###############################################
RubenKelevra commented 1 year ago

@derekShaheen

Maybe you could chime in here, what you think about that.

saveitforparts commented 1 year ago

I'm also going to chime in about potential physical limitations of the dish.

Multiple commenters on my Youtube channel have mentioned that these small dishes can't resolve down below ~2-3 degrees of azimuth, which is why commercial TV satellites are spaced relatively far apart, and why you need a bigger dish (with narrower beamwidth) to get some of the free TV satellites that are in between. According to this calculator (https://www.satsig.net/pointing/antenna-beamwidth-calculator.htm) using the 14-inch diameter of the Tailgater reflector (0.35 meters), my full beam width appears to be 1.39 degrees (in 12ghz Ku band).

Now I'm absolutely not a radio theory expert, but I think this means the dish won't resolve any smaller than a degree (or 1.4-ish), so using "nudge" will just give a lot of overlap and reflections. I think I'm already getting reflections, in the way each strong satellite signal in my bitmaps shows a "ring" around it. I think those rings might be the reflections from trying to image 1-degree increments with a 1.4-degree view. (Or I could be talking complete nonsense).

I really appreciate people improving this and coming up with ideas, but I suspect the nudge option might be something of a dead end, unless there's something I'm missing.

RubenKelevra commented 1 year ago

Hey @saveitforparts,

commercial TB satellites are spaces apart for multiple reasons, main one is that geostationary orbits are very limited, thus the positions have to be managed by agencies which assign the positions.

But sure, the advantage of assigning positions far apart is, that you can fully avoid getting similar signals on similar frequencies as noise, enhancing the SNR (signal-to-noise ratio).

Regarding the antenna “resolution”: I think there's a misconception here, as the antenna is neither blocking signals outside of this “beam” nor increasing signals inside this “beam” with an equal amount.

Antennas are meant to focus which signals are beeing received, by increasing gain while reducing gain in other regions. The beam of antenna is not a binary pattern, but an arc. While there's a large gain from off the target to on the target, there's still a signal increase by more than 3 times if you aim the center of the beam to the signal – in this example:

Screenshot_20230417_054415-1

So just as an example, if you use a linear signal to byte conversions:

If you see a strong signal, which you would render as an 255 on an image, you would see it just as an 63 if it's at the edge of your beam.

You could even “enhance” the resolution further in the resulting image, by using local contrast increasing image filters, like Unsharp Mask, which suppresses the weaker signals next to a strong signal.

RubenKelevra commented 1 year ago

Apart from that, why not just add a higher gain reflector? :)

saveitforparts commented 1 year ago

I still plan to try the high-res scan and run through all the PRs on the hardware again, I just haven't had time to ID or address some of the errors I ran into. I'm also still waiting to hear from another source with some hardware details. A higher gain reflector would be great, but I think the main way to do that is a larger diameter dish. While I do have a 2.5M reflector, I don't currently have motors large enough to move it!

saveitforparts commented 1 year ago

A couple follow-ups on this, since I had some limited time to mess with it again:

saveitforparts commented 1 year ago

Here are a couple quick examples of high and low-res scans of a limited azimuth and elevation range (160 to 190 az and 30-40 degrees elevation). The high res was produced by running "nudge" 5x per degree counterclockwise, returning to the starting azimuth for each elevation.

Note that there are still some gear meshing and other indexing artifacts on the high res scan. In addition to the inconsistent "nudge" movements, I think I'm wearing out the little motors and plastic gears on this dish by running it way longer than intended.

0_High 0_Low 0_Detail

Vitzlitzveig commented 1 year ago

Hey! Some thoughts about resolution of your dish. Due to small size it has pretty low resolution (~4 degrees). However, its possible to make it sharper using Richardson–Lucy deconvolution. There are some other approaches, but this one works best for me. Shortly speaking, this method finds an image which looks the same as yours when blurred with beam form of a parabolic antenna.

Result isn't too fascinating, but some satellites become distinguishable from groups, e.g. group of 3 or 4 at azimuth 60 sharp_image sharp_image_large

Script is here. Maybe it would work better with hi-res scans if you return to this topic at future

saveitforparts commented 1 year ago

That is very cool! I'll put that on the to-do list to look into when I get back to this!

https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail Virus-free.www.avast.com https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On Thu, May 11, 2023 at 12:33 PM Ilya Pogorelov @.***> wrote:

Hey! Some thoughts about resolution of your dish. Due to small size it has pretty low resolution (~4 degrees). However, its possible to make it sharper using Richardson–Lucy deconvolution https://en.wikipedia.org/wiki/Richardson%E2%80%93Lucy_deconvolution. There are some other approaches, but this one works best for me. Shortly speaking, this method finds an image which looks the same as yours when blurred with beam form of a parabolic antenna https://en.wikipedia.org/wiki/Parabolic_antenna#Radiation_pattern_formula .

Result isn't too fascinating, but some satellites become distinguishable from groups, e.g. group of 3 or 4 at azimuth 60 [image: sharp_image] https://user-images.githubusercontent.com/74183355/237766619-d9e9adbe-5318-4e21-af7b-311d56308bb0.png [image: sharp_image_large] https://user-images.githubusercontent.com/74183355/237766649-67b5ff1b-2130-4309-9cff-a752b0c14502.png

Script is here https://github.com/Vitzlitzveig/Tailgater-Microwave-Imaging/blob/RE_sharpening/sharpen_image.py. Maybe it would work better with hi-res scans if you return to this topic at future

— Reply to this email directly, view it on GitHub https://github.com/saveitforparts/Tailgater-Microwave-Imaging/issues/4#issuecomment-1544409662, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUBUBKMRHCJ47C35NFYW77LXFUPFJANCNFSM6AAAAAAWV44U24 . You are receiving this because you were mentioned.Message ID: @.*** com>