Sentinel-1 SLC Nyquist Criteria and GeoTiff export

Hi everyone,

I’m working with Sentinel-1 SLC IW2 VV data in SNAP and trying to perform Nyquist resampling and export as GeoTIFF. However, having the I and Q bands as two separate real channels instead of one complex channel seems to prevent proper Nyquist sampling (Nyquist = ratio = pixel resolution / pixel posting = 1).

Here’s my workflow so far:

  1. Applied the Orbit File.
  2. Performed TOPSAR Deburst.
  3. Created a Subset
  4. Used SAR Utilities → Undersample for Nyquist resampling, based on the following calculations (from the Sentinel Wiki):

Range:
Resolution: 3.1 m / Pixel spacing: 2.3 m
Oversampling factor: 3.1 / 2.3 = 1.348
Percentage for undersampling: 1 / 1.348 = 0.742 (74.2%)

Azimuth:
Resolution: 22.7 m / Pixel spacing: 14.1 m
Oversampling factor: 22.7 / 14.1 = 1.610
Percentage for undersampling: 1 / 1.610 = 0.621 (62.1%)

These percentages were used as the ratio for the undersampling operation.

  1. Exported the result as GeoTIFF.

But the exported GeoTIFF contains two channels instead of a single complex channel and Nyquist resampling doesn’t seem to work as expected.
Also there’s a discrepancy between the pixel spacing shown in SNAP and the values stated in the Sentinel Wiki…

Is there a way in SNAP to combine the I and Q bands into a single complex band so that Nyquist resampling works as intended, and the GeoTIFF export results in a single complex channel?

The background is that I want to perform SVA filtering on Sentinel-1 and therefore need Nyquist criteria and GeoTiff format.

Thank you for your help!

I am not familiar with SVA, but is the required starting point really an undersampled SLC image with degraded signal characteristics?

Java does not have a native data type for complex numbers, which is one of the reasons I and Q bands are used in SNAP. Perhaps you can generate the GeoTIFF you need with Python for example?

Thank for your input! It doesn’t have to be nyquist sampled, just an integer. I could also sample to a ratio of 2 or 3… And yes, I could try using Python, thanks! I was just wondering if there is an option in SNAP