remote sensing laboratory, knu
TRANSCRIPT
์ฃผ ์ (ํธ์ง์์ 8)
(15 ํฌ์ธํธ ๊ณ ๋๊ณ์ด)
โ6cmโ
2006415
GB|SAR
์์คํ ์์ํ
๊ธฐ๋ฒ
๊ฐ๋ฐ
๊ฐ์๋ํ๊ต
ํ์ง
2006415
GB-SAR ์์คํ ์์ํ ๊ธฐ๋ฒ ๊ฐ๋ฐ
Development of Imaging Technique for the GB-SAR System
๊ฐ ์ ๋ ํ ๊ต
ํ๊ตญ์ง์ง์์์ฐ๊ตฌ์
- 1 -
์ ์ถ ๋ฌธ
ํ๊ตญ์ง์ง์์์ฐ๊ตฌ์ ์์ฅ ๊ทํ
์ด ๋ณด๊ณ ์๋ฅผ โGB-SAR ์์คํ ์์ํ ๊ธฐ๋ฒ ๊ฐ๋ฐโ ๊ณผ์ ์ ๋ณด๊ณ ์๋ก ์
์ถํฉ๋๋ค.
2006. 12
์ํ์ฐ๊ตฌ๊ธฐ๊ด๋ช : ๊ฐ์๋ํ๊ต
์ํ์ฐ๊ตฌ์ฑ ์์ : ์ด ํ ์ด
์ฐ ๊ตฌ ์ : ์ฑ ํฌ ์ผ
ํ ํฅ ์
- 2 -
๋ณด๊ณ ์ ์ด๋ก
๊ณผ์ ๊ณ ์ ๋ฒํธ 2006415๋นํด์ฐ๋
์ฐ๊ตฌ๊ธฐ๊ฐ
2006. 5. 1 -
2006. 12. 31์ฐ์ฐจ ๊ตฌ๋ถ 1๋ ์ฐจ / ์ด 1๋
์ฐ๊ตฌ์ฌ์ ๋ช ๊ธฐ๋ณธ์ฐ๊ตฌ์ฌ์
์ฐ๊ตฌ๊ณผ์ ๋ช ์ฃผ๊ด๊ณผ์ ๋ช ์งํ ์ ๋ฐ ์์ํ ์ตํฉ๊ธฐ์ ๊ฐ๋ฐ
์ํ๊ณผ์ ๋ช GB-SAR ์์คํ ์์ํ ๊ธฐ๋ฒ ๊ฐ๋ฐ
์ฐ๊ตฌ์ฑ ์์ ์ดํ์ด ์ฐธ์ฌ์ฐ๊ตฌ์์
์ด : 3 ๋ช
๋ด๋ถ : 1 ๋ช
์ธ๋ถ : 2 ๋ช
์ฐ๊ตฌ๋น 10,000์ฒ์
์ฐ๊ตฌ๊ธฐ๊ด๋ช
๋ฐ
์์๋ถ์๋ช
๊ฐ์๋ํ๊ต ์ง๊ตฌ๋ฌผ๋ฆฌํ๊ณผ ์ฐธ์ฌ๊ธฐ์ ๋ช
๊ตญ์ ๊ณต๋์ฐ๊ตฌ ์๋๊ตญ๋ช : ์๋๊ตญ์ฐ๊ตฌ๊ธฐ๊ด๋ช :
์์ฝ(์ฐ๊ตฌ๊ฒฐ๊ณผ๋ฅผ ์ค์ฌ์ผ๋ก ๊ฐ์กฐ์ 500์ ์ด๋ด) ๋ณด๊ณ ์๋ฉด์ 64
โ GB-SAR (Ground-Based Synthetic Aperture Radar) ์์คํ ์ค๊ณ
โ Range-Doppler ๋ฐ Deramp-FFT SAR ์์ํ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ
โ ์ค๋ด ๋ฐ ์ค์ธ ์๋ฃ ์๋ฒ ํ๋
โ GB-SAR ์์คํ ์ ์ด๋ก ์ ์ต๋ํด์๋ ๊ตฌํ
โ ๊ฐ์ญ์์์ ํตํ InSAR, โ-InSAR, DInSAR ๊ฐ๋ฅ์ฑ ํ์ธ
โ ์์คํ ๋ณด๊ฐ ํ ์ง๋ฐ์นจํ ๋ฐ ์ฌ๋ฉด ์์ ์ฑ ์ ๋ฐ ์ฅ๊ธฐ ์ธก์ ์ค์ฉํ ๊ฐ๋ฅ
์ ์ธ ์ด
(๊ฐ 5๊ฐ
์ด์)
ํ ๊ธ GB-SAR, ์์ํ ์๊ณ ๋ฆฌ์ฆ, ๊ฐ์ญ์์
์ ์ด GB-SAR, imaging algorithm, interferogram
- 3 -
๋ชฉ ์ฐจ
์ 1 ์ฅ ์ํ์ฐ๊ตฌ๊ณผ์ ์ ๊ฐ์
1.1 ์ฐ๊ตฌ๊ฐ๋ฐ์ ๋ชฉ์
1.2 ์ฐ๊ตฌ๊ฐ๋ฐ์ ํ์์ฑ
1.3 ์ฐ๊ตฌ๊ฐ๋ฐ์ ๋ฒ์
์ 2 ์ฅ ๊ตญ๋ด์ธ ๊ธฐ์ ๊ฐ๋ฐ ํํฉ
์ 3 ์ฅ ์ํ์ฐ๊ตฌ์ฌ์ ์ ๋ด์ฉ ๋ฐ ๊ฒฐ๊ณผ
3.1 GB-SAR ์์คํ ๊ตฌ์ฑ
3.2 GB-SAR ์์ํ ๊ธฐ๋ฒ
3.3 GB-SAR ๊ฐ์ญ ๊ธฐ๋ฒ
3.4 GB-SAR ํ์ฅ ์คํ
3.5 ๊ฒฐ๋ก
์ 4 ์ฅ ๋ชฉํ๋ฌ์ฑ๋ ๋ฐ ๊ด๋ จ๋ถ์ผ์์ ๊ธฐ์ฌ๋
์ 5 ์ฅ ์ฐ๊ตฌ๊ฐ๋ฐ๊ฒฐ๊ณผ์ ํ์ฉ๊ณํ
์ 6 ์ฅ ์ํ์ฐ๊ตฌ๊ณผ์ ์์ ์์งํ ํด์ธ๊ณผํ๊ธฐ์ ์ ๋ณด
์ 7 ์ฅ ์ฐธ๊ณ ๋ฌธํ
๋ถ๋ก A. GB-SAR ํ๋ก๊ทธ๋จ ์์์ฝ๋
- 4 -
์ 1 ์ฅ ์ํ์ฐ๊ตฌ๊ณผ์ ์ ๊ฐ์
1.1 ์ฐ๊ตฌ๊ฐ๋ฐ์ ๋ชฉ์
์ด ์ฐ๊ตฌ์ ๋ชฉ์ ์ GB-SAR ์์คํ ์ ์ค๊ณํ๊ณ ์ ์ํ์ฌ ์๋ฃ๋ฅผ ์ํ ํ๋ํ๊ณ ,
GB-SAR ์์ํ ๊ธฐ๋ฒ(focusing)๊ณผ ๊ฐ์ญ๊ธฐ๋ฒ(interferometry)์ ๊ตฌํํ๋ ๊ฒ์
๋ชฉํ๋ก ํ๋ค.
1.2 ์ฐ๊ตฌ๊ฐ๋ฐ์ ํ์์ฑ
GB-SAR ์์คํ ์ ์์์ ๋ณํ๋ฅผ ์ฅ๊ธฐ๊ฐ ๊ด์ธกํ์ฌ ์ง๋ฐ ์นจํ๋ ๊ณ์ธก, ์ฌ๋ฉด ์
์ ์ฑ ํ๊ฐ, ๋์ฌํ ๊ฐ์ง์ ๊ฐ์ ์ธ๊ณต ๋ฐ ์์ฐ ๊ตฌ์กฐ๋ฌผ์ ์์ ์ฑ์ ํ๋จํ๋ ๋ชฉ์ ์ผ
๋ก ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, ๊ทธ ๊ธฐ์ ์ด ๊ฐ๋ฐ ๋จ๊ณ์ ์๋ค. ์ด ์ฐ๊ตฌ์์ ๊ฐ๋ฐํ๊ณ ์ ํ๋
GB-SAR๋ ํญ๊ณต๊ธฐ ๋ฐ ์ธ๊ณต์์ฑ์์ ํ์ฌ๋์ด ์ด์ฉ๋๋ SAR ์์คํ ์ ์๋ฆฌ๋ฅผ ์ด
์ฉํ์ฌ ์ง์์์ ์ฐ๋์ฒด์ ๋ง์ดํฌ๋กํ ๋ฐ์ฌ ์ ํธ๋ฅผ ์ฅ๊ธฐ๊ฐ ์์ ์ ์ผ๋ก ์ธก์ ํ ์
์๋ ์์คํ ์ผ๋ก์, ๊ตญ๋ด์์๋ ์ต์ด๋ก ์๋๋๋ ๊ฒ์ด๋ฉฐ ์ด๊ธฐ ๊ธฐ์ ํฌ์๋ก ๊ฒฝ์๋ ฅ
์ ํ๋ณดํ ์ ์๋ ์ ๋ฆฌํ ์์ ์ ์๋ค. GB-SAR๋ ํญ๊ณต๊ธฐ ๋ฐ ์ธ๊ณต์์ฑ SAR์
์ง์ ๊ฒ๋ณด์ ๋ฐ ๊ฐ๋ ์ค๊ณ์ฉ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ ๋ฟ๋ง์ด ์๋๋ผ, ๋ ์์ ์ผ๋ก๋ ์
๋ก์ด ์์ฉ์ฑ์ ์ฐพ์ ์ ์๋ ์ ๋งํ ๊ธฐ์ ์ด๋ค.
1.3 ์ฐ๊ตฌ๊ฐ๋ฐ์ ๋ฒ์
โ GB-SAR (Ground-Based Synthetic Aperture Radar) ์์คํ ์ค๊ณ
โ Range-Doppler ๋ฐ Deramp-FFT SAR ์์ํ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ
โ ์ค๋ด ๋ฐ ์ค์ธ ์๋ฃ ์๋ฒ ํ๋
โ ๊ฐ์ญ์์์ ํตํ InSAR, โณk-InSAR, DInSAR, PSInSAR ๊ฐ๋ฅ์ฑ ํ์ธ
- 5 -
์ 2 ์ฅ ๊ตญ๋ด์ธ ๊ธฐ์ ๊ฐ๋ฐ ํํฉ
โ GB-SAR๋ ์๊ตญ(SCEOS, 2005), ์ดํ๋ฆฌ์(Noferini et. al., 2005), ์ผ๋ณธ
(Hamasaki et. al., 2004) ๋ฑ์ ๋น๋กฏํ ์ ์ธ๊ณ ๋ช๋ช ์ฐ๊ตฌ์ค์์ ๊ฐ์ถ์ด ์ด์
์ค์ ์๋ค.
โ ํ์ฌ๊น์ง ๊ตญ๋ด์์๋ GB-SAR ์์คํ ์ ์ ์์ด ์๋๋ ๋ฐ ์๋ค.
โ 2006๋ 1์ ๋ฐ์ฌ๋ ALOS PALSAR, 2007๋ 2์์ ๋ฐ์ฌ ์์ ๋
TerraSAR, 2007๋ 3์ ๋ฐ์ฌ ์์ ์ธ Radarsat-2, ๊ทธ๋ฆฌ๊ณ 2009๋ ์ฐ๋ฆฌ๋๋ผ์
Kompsat-5 ์ธ๊ณต์์ฑ์ ํ์ฌ๋๋ SAR๋ฅผ ๋น๋กฏํ ์ฐจ์ธ๋ SAR ์์คํ ์์ ์ป์ด
์ง๋ ๊ณ ํด์๋, ๋คํธ๊ด ์์์ ํตํด SAR ํ์ฉ ๊ธฐ์ ์ด ์ง์ํด์ ๋ฐ์ ํด ๋์๊ฐ
๊ฒ์ด๋ค.
- 6 -
์ 3 ์ฅ ์ํ์ฐ๊ตฌ์ฌ์ ์ ๋ด์ฉ ๋ฐ ๊ฒฐ๊ณผ
3.1. GB-SAR ์์คํ ๊ตฌ์ฑ
GB-SAR ์์คํ ์ ํฌ๊ฒ RF ๋ถ๋ถ๊ณผ Motion ๋ถ๋ถ์ผ๋ก ๋๋ ์ ์๋ค. RF ๋ถ๋ถ์
์ฃผ๋ก ๋คํธ์ํฌ ๋ถ์๊ธฐ, ๋ง์ดํฌ๋กํ ์ํ ๋, ๋ ธํธ๋ถ ์ปดํจํฐ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ์ด๋ค์
์ฐ๊ฒฐํ๋ GPIB-USB, ๋ง์ดํฌ๋กํ ์ผ์ด๋ธ๊ณผ ์ปค๋ฅํฐ, Calibration Kit๊ฐ ์๋ค.
Motion ๋ถ๋ถ์ ๋ ์ผ ์์คํ , ๋ชจ์ ์ปจํธ๋กค๋ฌ, Step motor, ๋ & ํผ๋์ธ ๊ธฐ์ด, ๋ ์ผ
์ฐ๊ฒฐ๋ถ, ์ํ์ ์ง ๋์ฌ ๋ฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค(๊ทธ๋ฆผ 1).
์ํ ๋๋ ์คํ์ ๋ชฉ์ ์ ๋ง๋๋ก MTG Inc.(www.mtginc.co.kr)์์ ์ค๊ณ ๋ฐ ์
์ ํ ํน์ฑ ์ํ์ ๊ฑฐ์ณ ๋ฉํ๋์๋ค. Dual-Mode Transducer๋ฅผ ์ด์ฉํ
Dual-Polarization Square Horn Antenna๋ก์, ํฌํธ๊ฐ 2๊ฐ ์์ด ๋์์
Quadratic Polarization์ ๋์์ ์ป์ ์ ์๋ค. ์ํ ๋๋ 5.0-5.6GHz ๋์ญ์ผ๋ก
์, ์ค์ฌ ์ฃผํ์๊ฐ 5.3GHz๋ก์ C-band์ธ Radarsat-1์ ๋ถํฉ๋๋๋ก ์ค๊ณ๋์๋ค.
๊ตฌ์ฒด์ ์ธ ์ํ ๋ ํน์ฑ์ Table 1๊ณผ ๊ฐ๋ค.
์คํ์ ์ฌ์ฉ๋ ๋คํธ์ํฌ๋ถ์๊ธฐ(Network Analyzer)๋ Agilent 8753ES๋ก์
6GHz๊น์ง ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. Calibration kit์ ์ด์ฉํ์ฌ ์์คํ ์ ๋ณด์ ํ ์ ์์ผ
๋ฉฐ, time-domain์ผ๋ก์ ๋ณํ์ด ๊ฐ๋ฅํ๋ค.
๋คํธ์ํฌ ๋ถ์๊ธฐ์ ๋ ธํธ๋ถ์ National Instrument์ฌ์ GPIB-USB ์ปค๋ฅํฐ๋ก ์ฐ
๊ฒฐํ๊ณ ๋ ธํธ๋ถ์ ์ค์น๋ LabView ํ๋ก๊ทธ๋จ์ ํตํด ์ธก์ ๊ฐ๊ฒฉ, ์ธก์ ์๊ฐ ๊ทธ๋ฆฌ๊ณ ์
๋ฃ์ ์ฅ์ ์ ์ดํ์๋ค.
Motion ๋ถ๋ถ์ 2m ๊ธธ์ด์ ๋ ์ผ์ 3๊ฐ ์ฐ๊ฒฐํ์ฌ ์ด 6m์ ๋ ์ผ์ ๋ง๋ค์๋ค. ๋ชจ
์ ์ปจํธ๋กค๋ฌ ๋ฐ ์คํ ๋ชจํฐ๋ฅผ ์ด์ฉํ์ฌ ์ํ ๋์ ์ํ์ , ์์ง์ ์ด๋์ด ๊ฐ๋ฅํ๋ค.
Table 1. ์ํ ๋ ํน์ฑ.
ํ ๋ช ํญ๋ชฉ ๊ท๊ฒฉ ์ํ๊ฒฐ๊ณผ
Dual-Polari
metric
Square
Horn
Antenna
Frequency(GHz) 5.0~5.6 5.0~5.6
Beam WidthE-Plane(deg) 15(nominal) 12.1~13
H-Plane(deg) 15(nominal) 15.5~17.5
Gain(dBi) 20(nominal) 20.5 min.(20.5~21.8)
VSWR 1.5 max. 1.4 max.
Isolation 35dB ์ดํ 50dB ์ดํ
Weight(kg) 4 max. 3.1 max.
Input Impedance(ฮฉ) 50 50
- 7 -
๊ทธ๋ฆผ 1. GB-SAR ์์คํ ๊ตฌ์ฑ
3.2. GB-SAR ์์ํ ๊ธฐ๋ฒ
GB-SAR ์์คํ ์ ์ํ ๋๊ฐ ๋ ์ผ ์๋ฅผ ์ด๋ํ๋ฉด์ ํฉ์ฑ ๊ตฌ๊ฒฝ(synthetic
aperture)์ ์ด๋ฃจ์ด ๊ณ ํด์๋์ SAR ์์ํ(SAR Focusing)๋ฅผ ์ด๋ฃฌ๋ค. ๋ณดํต์ ํญ
๊ณต๊ธฐ ๋ฐ ์ธ๊ณต์์ฑ SAR๋ ํ์ฌ์ฒด๊ฐ ๋น ๋ฅธ ์๋๋ก ์์ง์ด๋ฉด์ ํ์ค๋ฅผ ์ฐ์์ ์ผ๋ก ๋ฐ
์ฌํ๊ฒ ๋๋ค. ์ด ๋, ํ์ค๊ฐ ์ํ ๋์์ ์ก์ ๋์ด ์ฐ๋์ฒด๋ฅผ ๋ง๊ณ ๋ฐ์ฌ๋์ด ๋ค์ ์
ํ ๋๋ก ์์ ๋ ๋๊น์ง์ ์๊ฐ(fast time) ๋์์๋ ํ์ฌ์ฒด์ ์์ง์(slow time)์ด
์๊ธฐ ๋๋ฌธ์ ์ ํธ ์ฒ๋ฆฌ๊ฐ ๋ค์ ๋ณต์กํด์ง ์ ์๋ค. ๋ง์ดํฌ๋กํ์ ์ ํ ์๋์ ๋นํ
์ฌ ํ์ฌ์ฒด์ ์์ง์์ด ๋งค์ฐ ๋๋ฆฌ๋ค๋ ๊ฒ์ ์ด์ฉํ์ฌ ๋ ์๊ฐ์ ์๋ก ๋ถ๋ฆฌํด ์ ํธ์ฒ
๋ฆฌ๋ฅผ ํ๋ค. ๊ทธ๋ฌ๋ GB-SAR์์๋ ์คํ ๋ชจํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ ์ผ ์์ ์ํ ๋๊ฐ ์
์งํด ์๋ ์ํ์์ ์ก์์ ์ด ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์, ์ด๋ฌํ ๊ฐ์ ์ด ํ์๊ฐ ์๊ฒ ๋์ด
๋ณด๋ค ์ ๋ฐํ ์์ํ๊ฐ ๊ฐ๋ฅํด์ง๋ค.
GB-SAR ์์คํ ์ ํฉ์ฑ ๊ตฌ๊ฒฝ์ ๊ธธ์ด๊ฐ ๋ ์ผ์ ๊ธธ์ด๋ก ์ ํ๋์ด ์๋ค๋ ์ ์์
๋ํ ํญ๊ณต๊ธฐ ๋ฐ ์ธ๊ณต์์ฑ SAR์๋ ํฌ๊ฒ ๋ค๋ฅด๋ค. ํญ๊ณต๊ธฐ ๋ฐ ์์ฑ SAR์์๋ ํฉ์ฑ
๊ตฌ๊ฒฝ์ ๊ธธ์ด๊ฐ ์ํ ๋์ ๋น ํญ๊ณผ ๊ฐ๋ค๋ ์๋ฏธ์์ full focusing์ด๋ผ ํ ์ ์์ผ๋ฉฐ,
ํด์๋๋ ๊ฑฐ๋ฆฌ์ ์๊ด์์ด ์ํ ๋ ๊ธธ์ด์ ์ ๋ฐ์ผ๋ก ์ต์ ํ ๋๋ค. ๊ทธ๋ฌ๋ GB-SAR
๋ ๋ ์ผ์ ๊ทผ์ ํ ๋ถ๋ถ์ ์ ์ธํ ๋๋ถ๋ถ์ ์ด๋ฏธ์ง ์์ญ์์ ํฉ์ฑ ๊ตฌ๊ฒฝ์ด ๋ ์ผ์ ๊ธธ
์ด๋ก ์ ํ๋๋ค๋ ์๋ฏธ์์ partial focusing์ด๋ผ ํ ์ ์์ผ๋ฉฐ, ํด์๋ ์ญ์ ๋๋ถ๋ถ
์์ญ์์ ๊ฑฐ๋ฆฌ์ ํจ์๊ฐ ๋๋ค. ๋ํ ์๋ฃ์ฒ๋ฆฌ์ ํจ์จ์ฑ์ ์ํ์ฌ ๋ณดํต์
Range-Doppler Algorithm์ธ์๋ Deramp-FFT Algorithm๊ณผ ๊ฐ์ SAR
- 8 -
Focusing Algorithm์ ๊ฒํ ํ ํ์๊ฐ ์๋ค.
์ฌ๊ธฐ์๋ GB-SAR ์ ํธ๋ฅผ ๋จผ์ Range compression ํ ๋ค์ Azimuth
Compressionํ๋ ๊ณผ์ ์์ Deramp-FFT ๋ฐ Range-Doppler Algorithm์ ๋ชจ๋
๊ตฌํํ์ฌ ๋น๊ต ๊ฒํ ํด ๋ณด์๋ค.
(1) Range Compression
๋คํธ์ํฌ ๋ถ์๊ธฐ๋ frequency sweep์ ํตํ์ฌ ์๋ฃ๋ฅผ ์ป์ ํ ์ด๋ฅผ
time-domain์ผ๋ก ์ญํธ๋ฆฌ์ ๋ณํ(inverse Fourier transformation)ํ์ฌ, ๋ง์น ์
๊ฐ์ ์ผ๋ก ์งง์ sinc ์์ค๋ฅผ ๋ฐ์ฌํ์ฌ ๋๋์์ค๋ ์ ํธ๋ฅผ ์ป๋ ๋ ์ด๋์ ํจ๊ณผ๋ฅผ ์ป
๋๋ค. ์ด๋ฅผ ์์์ผ๋ก ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
๋คํธ์ํฌ ๋ถ์๊ธฐ๋ ์ฃผํ์ ์์ญ์์ ์๋ํ๊ธฐ ๋๋ฌธ์, ์ ์์์ ํธ๋ฆฌ์ ๋ณํ
(Fourier transformation)์ ํตํด ๋ํ๋๋ ์๋ ์์๊ณผ ๊ฐ์ ์๋ฆฌ๋ก ์๋ํ๋ค.
(1)
์ด ๋, ๋ ์ค์ฌ์ด ์ด๊ณ ๋ฐด๋ ํญ์ด ์ธ box function์ด๋ค. ์ฆ, ์ํ ๋๋
๋คํธ์ํฌ ๋ถ์๊ธฐ๊ฐ ๋ง๋ค์ด๋ธ ํน์ ์ง๋์์ธ ๋ฅผ continuous wave ํํ๋ก ์์ ๋ณด
๋ด๊ณ , ์ด ๋จ์ผ ์ง๋์์ ๋ง์ดํฌ๋กํ๊ฐ ๋ชฉํ๋ฌผ ์ ์ฒด์ ๋ฐ์ํ๋ ํ๋ฐฉ์ฐ๋ ๊ณ์
๋ฅผ, ๋ค์ ์ํ ๋์ ๋์์ค๋ ์ ํธ๋ฅผ ํตํด ์ป๊ฒ ๋๋ค. ๋คํธ์ํฌ ๋ถ์๊ธฐ๋ ๊ณ์ํ์ฌ
์ง๋์๋ฅผ ์ฆ๊ฐ์ํค๋ฉด์(frequency sweep) ์ฃผ์ด์ง ์ง๋์ ์์ญ์์ ๋ฅผ ๋ชจ๋
์ป๊ฒ ๋๋ค. ์ด ๋, calibration์ด ์ ๋ ๋คํธ์ํฌ ๋ถ์๊ธฐ์ ๊ฐ์ ์ฃผ์ด์ง ๋ฐด๋
ํญ์์ 1์ ๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ฏ๋ก frequency sweep์ ํตํด ์(1)์ ํจ์๊ฐ
์ป์ด์ง๋ค. ์ด๋ฅผ ์ญํธ๋ฆฌ์ ๋ณํ์ ํตํด ์๊ฐ ์์ญ์ผ๋ก ๋ณํ์ํค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ ์ด
๋์ ์๋ ์๋ฆฌ๊ฐ ๊ตฌํ๋๋ค.
โ (2)
๋ง์ฝ ๋ชฉํ๋ฌผ์ด ์ ์์ผ๋ฉฐ , ์ฆ ํ ์ (point target)์ด๋ผ
๋ฉด ๋ ์ด๋์์ ์ป์ด์ง ๊ฐ์ ์ (2)์ ์ํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ๋๋ค.
sincexp (3)
๋ฐ๋ผ์ ๋คํธ์ํฌ ๋ถ์๊ธฐ์์ ์๊ฐ ์์ญ์ผ๋ก ๋ณํ๋ ์ธก์ ๊ฐ์ ํฌ๊ธฐ์ ์์ ๋ ๋ค์
๊ณผ ๊ฐ๋ค.
sin sin (4)
(5)
์ฆ, ์ ํธ์ ํฌ๊ธฐ๋ ์์ ์ต๋๊ฐ์ ๋ํ๋ด๋ฉฐ, ์์์ ์ํ ๋์ ๋ชฉํ๋ฌผ๊ฐ
์ ๊ฑฐ๋ฆฌ์ ํจ์๊ฐ ๋๋ค. ์(5)์์ ์์คํ ์์ ์์ ์ธก์ ์ค์ฐจ๋ฅผ ๋ผ๊ณ ํ๋ค๋ฉด,
๊ฑฐ๋ฆฌ ์ธก์ ์ ์ค์ฐจ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- 9 -
(6)
์์คํ ๊ณผ ๋ชฉํ๋ฌผ์ด ์์ ๋ ์ํ์์ ์์ฐจ๋ก ์์์ ์ธก์ ํ์ ๋ ๊ทธ ๋ณํ๊ฐ 1๋
์ ๋๋ผ๋ฉด ๊ฐ ๋๊ณ , ํ์ฅ ์ธ ์์คํ ์์ ์ ๋๊ฐ
๋์ด ๋งค์ฐ ์ ๋ฐํ ๊ฑฐ๋ฆฌ(slant range) ๊ฐ์ ์ค ์ ์์ผ๋ฉฐ, ์ด๊ฒ์ด DInSAR์ ์ ๋ฐ
๋๋ฅผ ์ฃผ๊ฒ ๋๋ค. ๋ณดํต ์์ฑ ์์คํ ์์๋ ์์ฑ์ฒด์ ์ก์์ด๋ ์ธก์ ์๊ฐ์ ๋ฐ๋ฅธ ์ฐจ
์ด๋ก ์ธํ์ฌ ์ต์ ์ ๊ฒฝ์ฐ ๋ก ๋ณด๊ณ ์์ผ๋ฉฐ, ๊ทธ๋ ๋ค ํ๋๋ผ๋
๊ฐ ๋์ด ๋งค์ฐ ์ ๋ฐํ ์งํ๋ณ์๋ฅผ ์ธก์ ํ ์ ์๋ ์ด๋ก ์ ๊ทผ๊ฑฐ๊ฐ ๋ง๋ จ
๋๋ค.
์ (3)์ ์๋ sinc ํจ์์ ํฌ๊ธฐ๊ฐ ์ต๋๊ฐ์์ 3dB ๋จ์ด์ง๋ ์๊ฐ์ ๋ณดํต ๋ ์ด
๋์ ์๊ฐ ํด์๋ ๋ก ์ ์ํ๋ฉฐ, ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
(7)
์๋ฅผ ๋ค์ด ์ด๊ณ , ์ด๋ฉด ์๊ฐ ํด์๋๋ ์ด๋ค. ์ด
๋ฅผ ์ํ ๋์ ๋ชฉํ๋ฌผ๊ณผ์ ์๋ณต๊ฑฐ๋ฆฌ๋ฅผ ๊ณ ๋ คํ๋ฉด ๊ฑฐ๋ฆฌ ํด์๋(slant range
resolution) ์ ๋ค์๊ณผ ๊ฐ๋ค.
(8)
๋ฐ๋ผ์ ์์ ์์์๋ ์ ํด๋นํ๋ค. ์ฆ, slant range ๋ฐฉํฅ์ผ๋ก 25cm ๋จ
์ด์ง ๋ ๋ฌผ์ฒด๋ฅผ ๊ตฌ๋ณํ ์ ์๋ ํด์๋๋ฅผ ๊ฐ์ง๋ค๊ณ ํ ์ ์๋ค. ์ด ๋ ์ด๋ ์์คํ
์ ์ต๋ ๊ฑฐ๋ฆฌ max๋ ๋คํธ์ํฌ ๋ถ์๊ธฐ์ frequency sampling ์๊ฐ ์ผ ๋, ๋ค์
๊ณผ ๊ฐ์ด ์ ์๋๋ค.
max (9)
Agilent 8753ES ๋คํธ์ํฌ ๋ถ์๊ธฐ์ ์ต๋ ์ 1601์ด๋ฉฐ, ์ด ๊ฒฝ์ฐ max
์ด๋ค. ์ด๋ฌํ ์ต๋ ๊ฑฐ๋ฆฌ๋ frequency sweep ๋ฐด๋ ํญ์ ์ค์ด๋ฉด ์(7)-(9)์ ์ํด
๋ฌดํ๋๊น์ง ๋์ด๋ ์ ์๋ค. ๊ทธ๋ฌ๋ ๋คํธ์ํฌ ๋ถ์๊ธฐ์ ํ์๊ฐ 10dBm์ผ๋ก ์ ํ๋
์ด ์๊ธฐ ๋๋ฌธ์ ์ต๋ ๊ฑฐ๋ฆฌ์๋ ํ๊ณ๊ฐ ์๋ค. ์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํ์ฌ ์ ํธ
์ฆํญ๊ธฐ๋ฅผ ์ถ๊ฐํ์ฌ ์ค์นํ ์ ์๋ค. ๋ฐ์ ๊ธฐ์ ์์ ๊ธฐ๊ฐ ํ๋์ ์ํ ๋๋ก ์ด๋ฃจ์ด์ง
๋ ์ด ์์คํ ์์๋ ์ ํธ์ฆํญ๊ธฐ์ ์ค์น๊ฐ ๋ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ์ก์ ๊ณผ ์์ ์ํ ๋๋ฅผ
๋ฐ๋ก ๋์ด์ผ ํ๋ค.
์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์, ๋คํธ์ํฌ ๋ถ์๊ธฐ๋ฅผ ์ด์ฉํ frequency sweep์ ํ๋ ๋ฐ ๋ณด
ํต ์ ์ด์์ ์์ญ ์ด๊ฐ ๊ฑธ๋ฆฌ๋ฏ๋ก, ๊ทธ ๋์ ์์คํ ์ ๊ตฌ์ฑํ๋ ์ํ ๋, ์ง์ง๋, ๊ทธ
๋ฆฌ๊ณ ๋ชฉํ๋ฌผ์ ์์ง์์ด ์ฌํ ๊ฒฝ์ฐ์๋ ๋ ์ด๋ ์๋ ์๋ฆฌ๋ฅผ ๊ตฌํํ ์ ์๋ ๋จ์ ์ด
์๋ค.
- 10 -
(2) Azimuth Compression
SAR ์์คํ ์์ Azimuth ํด์๋๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์๋ Range-Doppler
Algorithm, Chirp Scaling Algorithm, Omega-K Algorithm, Deramp-FFT (๋
๋ SPECAN) Algorithm ๋ฑ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๋ค. ๋ณดํต ํญ๊ณต๊ธฐ๋ ์ธ๊ณต์์ฑ๊ณผ ๊ฐ์ด ํ
์ฌ์ฒด์ ์ฐ์์ ์ธ ์์ง์์ ์ด์ฉํ๋ strip mode์์๋ Range-Doppler
Algorithm์ด ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ๋๋ค. ๊ทธ๋ฌ๋ scan mode๋ burst mode์ ๊ฐ์ด
azimuth ๋ฐฉํฅ์ผ๋ก ํ์ค๊ฐ ์ฐ์์ ์ด์ง ์๊ณ ๊ตฐ์ง์ ์ด๋ฃจ๋ ๊ฒฝ์ฐ์๋ Deramp-FFT
Algorithm์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฒ๋ฆฌ ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฝํ ์ ์๋ค.
GB-SAR ์์คํ ์ ๋ ์ผ์ ๊ธธ์ด์ ๋ฐ๋ผ ์์ง์์ด ์ ํ๋์ด ์๋ค๋ ์ ์์ ์ฌํ
SAR ์์คํ ๊ณผ ๋ค๋ฅด๋ค. GB-SAR ์์คํ ์์ ํจ์จ์ ์ธ Focusing Algorithm์ ๊ฑฐ
๋ฆฌ(range)์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ค. ๋ ์ผ์ ๊ธธ์ด๊ฐ ๊ณ ์ ๋ ์ํ์์, Azimuth ๋ฐฉํฅ์ผ๋ก์
๋นํญ์ด ๋ ์ผ๋ณด๋ค ์์ ๊ทผ๊ฑฐ๋ฆฌ์์๋ Range-Doppler Algorithm์ด ์ ํํ
Focusing ๊ฒฐ๊ณผ๋ฅผ ๋ด ์ฃผ์ง๋ง, ์๊ฑฐ๋ฆฌ์์๋ Deramp-FFT Algorithm์ด ํจ์จ์ ์ด
๋ค. ๋ฐ๋ผ์ ์ด ์ฐ๊ตฌ์์๋ GB-SAR ์์คํ ์ ์ฉ๋๊ฐ ๊ทผ๊ฑฐ๋ฆฌ, ํน์ ์๊ฑฐ๋ฆฌ์ผ ๊ฒฝ์ฐ
๋ฅผ ๋๋นํ์ฌ ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌํํ์๋ค.
GB-SAR๋ ๋ ์ผ์ ํตํ์ฌ Azimuth ๋ฐฉํฅ์ผ๋ก ์ํ ๋๋ฅผ ์์ง์ด๋ฉด์ ์๋ฃ๋ฅผ ์ป๊ณ
์ ํธ์ฒ๋ฆฌ๋ฅผ ํตํ์ฌ Azimuth ๋ฐฉํฅ์ผ๋ก ๋์ ํด์๋๋ฅผ ๊ตฌํํ๋ค๋ ์ ์์ ์ฌํ SAR
์์คํ ๊ณผ ๋น์ทํ๋ค. ๊ทธ๋ฌ๋ ํ์ฌ์ฒด๊ฐ ์ ์งํ ์ํ์์ ์๋ฃ๋ฅผ ์ป์ ์ ์๊ธฐ ๋๋ฌธ์
์ํ ๋๋ฅผ ํตํด ๋๊ฐ๋ ๋ง์ดํฌ๋กํ์ ๋ํ๋ฌ ํจ๊ณผ๊ฐ ๋ํ๋์ง ์๊ธฐ ๋๋ฌธ์
zero-Doppler ์์์ ์ป์ ์ ์๋ ์ฅ์ ์ด ์๋ค.
Deramp-FFT Algorithm
SAR Focusing ๊ธฐ๋ฒ ์ค์์ ์ฃผ๋ก ์ฒ๋ฆฌ ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ๊ฒ ๋๋
deramp-FFT ๊ธฐ๋ฒ์ ๋จผ์ ์์๋ณด์. ํ ์ ์ ์์นํ ์ฐ๋์ฒด์์ ์ป์ด์ง
์๋ฃ์ ๋ํ ์ฒ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค. GB-SAR ์์ ์๋ฃ๋ฅผ base-banded ํ iFFT
๋ฅผ ํ์ฌ range compression ์ ์ค์ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํํ๊ฐ ๋๋ค.
,
and โค (10)
๊ทธ๋ฆผ 2์ ์ํ๋ฉด ๋น์ ํญ๊ณผ ๋ ์ผ์ ๊ธธ์ด, ๊ทธ๋ฆฌ๊ณ ๋ชฉํ์ ์ ์์น์ ๋ฐ๋ผ ์ ์ ์
๊ตฌ์ญ, ์ฆ ์ฐ๋์ฒด๊ฐ ํ์ค๋ฅผ ๋ฐ๋ ๋ ์ผ์ ์์น๊ฐ ๋ฌ๋ผ์ง๋ค. ์ํ ๋์ ์ฐ๋์ฒด์ ๊ฑฐ๋ฆฌ์
ํจ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
. (11)
์ด๋ฅผ (๋ ์ผ์ ์ค์ฌ)์ ์ค์ฌ์ผ๋ก Taylor Series๋ฅผ ์ ์ฉํ๋ฉด,
โฒโณ
โฏ (12)
์ ๊ฐ์ด ๊ทผ์ฌํ ์ ์๋ค. ์ด๋ฅผ ๊ณ์ฐํ๋ฉด,
- 11 -
, (13)
โฒ
, โฒ
, (14)
โณ
โฒ, (15)
โณ
โฒ
(16)
์ ๊ฐ์ด ๋๋ค. ๋ฐ๋ผ์,
โฏ (17)
์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก
โฏ
(18)
๋ก ๋ํ๋ผ ์ ์๋ค.
Deramp-FFT๋ ๋จผ์ ๋จ์ผ ๋ชฉํ์ ์ ๋ํ ๊ฑฐ๋ฆฌ์ ํจ์๋ฅผ ์ด์ฉํ์ฌ Range ๋ฐฉํฅ
์ผ๋ก ์ ๋ ฌํ๋ฉฐ, ์ด๋ฌํ ๊ณผ์ ์ Range Migration์ด๋ผ๊ณ ํ๋ค. ๊ทธ ํ ๋ค์์
deramp function์ ์์ ์ ํธ์ ๊ณฑํ๊ณ ์ด๋ฅผ FFTํ๋ ์์๋ก ์ด๋ฃจ์ด์ง๋ค.
(19)
์ด๋ฅผ ์์ ์ ํธ(10)์ ๊ณฑํ๊ณ ์ ๋ํ wavenumber ์์ญ ๋ก FFT๋ฅผ ์ํํ๋ฉด
Azimuth Compression์ด ์ํ๋๋ค.
โ
โ
(20)
์ฌ๊ธฐ์ ์์ ์ ํธ์ ์ ์๊ตฌ์ญ์ ๋ก ๋ํ๋ผ ์ ์๋ค. ์ฌ๊ธฐ์ C๋
๋ ์ผ์์ ์ฐ๋์ฒด๋ฅผ ๋น์ถ๋ ์ํ ๋์ ์ค์ฌ ์์น, ๋ ์ํ ๋์ ํด๋น ๋ ์ผ ๊ตฌ๊ฐ์
ํญ(ํฉ์ฑ๊ตฌ๊ฒฝ ๊ธธ์ด)์ ์๋ฏธํ๋ฉฐ, ์ฐ๋์ฒด๊ฐ ์์นํ ์์ญ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค(๊ทธ๋ฆผ 2). ์ด
๋ฅผ ์ ์ฉํ๋ฉด,
โฒโฒ
โฒ ๋ก ์นํํ์ฌ ๊ณ์ฐํ๋ฉด,
โด
sinc
(21)
- 12 -
์์ sinc ํจ์๋
์์ ์ต๋ peak๋ฅผ ๊ฐ์ง๋ฉฐ half power width๋ก ์ ์๋
๋ ํด์๋๋
์ ๊ฐ์ง๋ค. ๋ฐ๋ผ์ ์ด ์ ํธ์ ์ต๋ ์งํญ์ ๊ฐ์ง๋ -space๋
-space๋ก ๋ฐ๋ก ํด์์ด ๊ฐ๋ฅํ๋ฉฐ, ๊ทธ ๊ด๊ณ๋
๊ฐ ๋๋ฉฐ, Azimuth ํด์๋
๋
์ ๊ฐ์ด ๋๋ค. ์ค์ ์ ํธ ์ฒ๋ฆฌ๋ FFT๋ฅผ ์ด์ฉํ๊ฒ ๋๋ฉฐ, ์ด
๋ ์ฌ์ฉ๋ azimuth sample์ โฅ ๋ผ ํ๋ฉด, ๊ฐ์์ ๋ ์ผ ๊ฐ๊ฒฉ์
โ์ ๊ฐ์ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์์ ํฝ์ ๊ฐ๊ฒฉ์
โ
โ
์ ๊ฐ์ด ๊ฑฐ๋ฆฌ์ ํจ์๋ก ์ฃผ์ด์ง๊ธฐ ๋๋ฌธ์ SAR Focusing
ํ resampling์ ํตํ์ฌ ๊ธฐํ ๋ณด์ ์ด ํ์ํ๋ค. Azimuth ์์์ ํญ ๋ํ
โ โ
๋ก์, ๊ฑฐ๋ฆฌ์ ํจ์์ด๋ค.
๊ทธ๋ฆผ 2์ ๊ฐ ์์ญ๋ณ๋ก SARใFocusing์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์ฌํญ์ ์๋์ ๊ฐ๋ค.
๊ฐ) Region I: Partial focusing with full rail scan (๊ทธ๋ฆผ 3)
์ํ ๋ ๊ตฌ๊ฐ:
์ ํจ ์ ๋ถ ๊ตฌ๊ฐ:
sinc
ํด์๋:
์ฆ, ํด์๋๋ ๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ํด์๋๊ฐ ๋๋น ์ง๋ค.
๋) Region II: Partial focusing with partial rail scan (๊ทธ๋ฆผ 4)
์ํ ๋ ๊ตฌ๊ฐ:
์ ํจ ์ ๋ถ ๊ตฌ๊ฐ:
,
ร
sin
- 13 -
ํด์๋:
๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์ปค์ง์ ๋ฐ๋ผ ํด์๋๊ฐ ๋๋น ์ง๋ค.
๋ค) Region III: Partial focusing with partial rail scan (๊ทธ๋ฆผ 5)
์ํ ๋ ๊ตฌ๊ฐ:
์ ํจ ์ ๋ถ ๊ตฌ๊ฐ:
,
ร
sin
ํด์๋:
๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์์์ง์ ๋ฐ๋ผ ๋๋น ์ง๋ค. ์ด๋ Region II์ ๋
์นญ์ ์ด๋ฃฌ๋ค.
๋ผ) Region IV: Full focusing with partial rail scan (๊ทธ๋ฆผ 6)
์ํ ๋ ๊ตฌ๊ฐ:
์ ํจ ์ ๋ถ ๊ตฌ๊ฐ:
,
sinc
ํด์๋:
์ด ๊ฒฝ์ฐ์๋ ๋ ์ผ์ ์ค์ฌ์์ ์์ง์ธ ๋ฐฉํฅ์ ์๋ ์ฐ๋์ฒด( )๋ ์ํ ๋ ๊ตฌ๊ฒฝ์
์ ๋ฐ์ ํด์๋๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์์ ๋ฒ์ด๋๋ ๊ฒฝ์ฐ, ์ฆ, ๊ฐ ์ฆ๊ฐํ๋ฉด
ํด์๋๊ฐ ์ค์ด๋ ๋ค. ์ด๋ SAR strip mode์ ์ ํ์ ์ธ ์์ ํด๋นํ๋ฉฐ ์ํ ๋ ๋น
ํญ์ด ํ์ฉํ๋ ๊ธธ์ด๋งํผ ์ถฉ๋ถํ azimuth ๋ฐฉํฅ์ผ๋ก ์ํ๋ง์ด ์ด๋ฃจ์ด์ง๋ ๊ฒฝ์ฐ์ด๋ค.
๊ทธ๋ฌํ ์๋ฏธ์์ ์ด ์์ญ์ SAR ์์์ ํน์ฑ์ Full Focusing์ด๋ผ ์ง์นญํ ์ ์
๋ค.
- 14 -
Range Limit of Deramp-FFT Algorithm
์์ deramp ํจ์๋ ์ ํจ์์ด๋ฏ๋ก ์ ํํ SAR focusing์ ์ํด
์๋ ๋ ๋ฌผ๋ก , ์ ๋ํด์๋ ์๋ก ๋ค๋ฅธ deramp function๊ณผ FFT๋ฅผ ๋ฐ๋ณต ์ํํ
์ฌ์ผํ๋ฉฐ, ์ด๋ ์๊ฐ๊ณผ ๋น์ฉ์ด time-domain azimuth compression๊ณผ ๋์ผํ๊ฒ
๋ญ๋น๋๋ค. ๋ฐ๋ผ์ deramp-FFT Algorithm์ ์์ deramp function์์ โ
๋ผ๋ ๊ทผ์ฌ๊ฐ์ ์ฌ์ฉํ์ฌ ์ (19)๋ฅผ ๋์ ํ๋ค.
(22)
์ ์ฌ์ฉํ๋ค. ์ด ํจ์๋ ์๋ ๋ฌด๊ดํ๊ธฐ ๋๋ฌธ์, ๋จ ํ๋ฒ์ deramp-FFT ๊ณผ์ ์ผ
๋ก๋ SAR Focusing์ด ๊ทผ์ฌ์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ฐ๋น์ฉ์ด ๋ํญ ์ค์ด๋ ๋ค. ํ์ง๋ง, ์ด
๋๋ฌธ์ ์๋์ ๊ฐ์ ์์ํ์ ์ ํ์ด ๋ฐ๋ฅด๊ฒ ๋๋ค.
Deramp-FFT algorithm์์๋ โ๊ทผ์ฌ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ phase error๊ฐ
๋ฐ์ํ๋ค.
(23)
์ด ๋, phase error์ ์ต๋๊ฐ์ ยฑ์ผ๋, ๊ทธ๋ฆฌ๊ณ ยฑ
(half beam
footprint)์์ ๋ฐ์ํ๋ฉฐ, Defocusing์ด ์ผ์ด๋์ง ์๊ธฐ ์ํด์๋ phase error๊ฐ
๋ณด๋ค ์์์ผ ํ๋ค.
max
โค
(24)
๋ฐ๋ผ์ Defocusing์ด ๋ฐ์ํ๊ธฐ ์๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฑฐ๋ฆฌ ์ ํ์ด ํ์ํ๋ค.
โฅ
(25)
์๋ฅผ ๋ค๋ฉด GHz, , , ์ด๋ฉด
ใ โฅร
(26)
์ด๋ค. ์๋ฅผ ๋ค์ด
๋ก ์ก์ผ๋ฉด(Curlander 1991, p.173), โฅ ๊ฐ ๋์ด์ผ
ํ๋ค. ์ด๋ณด๋ค ๋ ๊น๋ค๋ก์ด ์กฐ๊ฑด์ธ
๋ก ์ก์ผ๋ฉด, โฅ ๊ฐ ๋๋ค. ๋ฐ
- 15 -
๋ผ์ ๊ทผ๊ฑฐ๋ฆฌ์์๋ deramp-FFT Algorithm์ผ๋ก๋ ์์ํ๊ฐ ์ด๋ฃจ์ด์ง์ง ์์ผ๋ฉฐ,
์ด ๊ฒฝ์ฐ์๋ Range-Doppler Algorithm์ ์ฌ์ฉํ ๊ฒ์ด ๊ถ์ฅ๋๋ค.
Range-Doppler Algorithm
ํ ์ ์ ์์นํ ์ฐ๋์ฒด์ ๋ํ Range-Doppler Algorithm ์๋ฃ์ฒ๋ฆฌ๋ ๋ค
์๊ณผ ๊ฐ๋ค. ์์์์ ๋ง์ฐฌ๊ฐ์ง๋ก range compression ํ ์๋ฃ๋ ๋ค์๊ณผ ๊ฐ๋ค.
,
and โค (27)
๋ํ ๊ทธ๋ฆผ 2์ ์ํ๋ฉด,
(28)
์ด๋ค. Deramp-FFT์์๋ ์ ํจ์๋ฅผ ์์ ๊ทผ์ฌํ ๋ฐ๋ฉด, Range-Doppler
Algorithm ์์๋ ๋ฅผ ์ค์ฌ์ผ๋ก Taylor Series๋ฅผ ์ ์ฉํ๋ค.
โฒ
โณ
โฏ (29)
์ด ๋ ์ (27)์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ์ํ ์ ์๋ค.
Phase:
(30)
Rate of phase (Wavenumber Doppler):
โก
โฒ
โฒ (31)
Wavenumber Doppler rate:
โฒ โณ
โณ (32)
์(29)๋ฅผ wavenumber Doppler parameter๋ก ๋ฐ๊พธ์ด์ฃผ๋ฉด,
โฏ (33)
์ด๋ค. ๊ทธ๋ฆผ 2์ GB-SAR ์์คํ ์์ ์ด๋ฅผ ๊ณ์ฐํ๋ฉด,
(34)
โฒ
, โฒ (35)
โณ
โฒ, โณ
(36)
์ด๋ฏ๋ก,
, (37)
(38)
- 16 -
๊ฐ ๋๋ค. ๋ฐ๋ผ์ ์(27)์
,
and โค (39)
๋ก ํํ๋๋ค. ์ด ์ ํธ๋ azimuth linear chirp์ ํ์ฑํ๋ค. Range-Doppler
Algorithm ์์๋ ์์ํ๋ฅผ ์ํ filter๋ก์ ๋ค์์ ์ฌ์ฉํ๋ค.
,
(40)
์ด๋ฅผ ์ด์ฉํ์ฌ ๋ค์์ matched filtering์ ์ํํ๋ฉด SAR focusing์ด ์ด๋ฃจ์ด์ง๋ค.
โ
โ
โฒ โฒโฒ (41)
ํด๋น ์ ๋ถ๊ตฌ๊ฐ์ ์ค์ฌ์ C, ๊ทธ ํญ์ ํฉ์ฑ๊ตฌ๊ฒฝ์ ๊ธธ์ด์ธ ๋ผ๊ณ ํ ๋, ์ ๋ถ ๊ตฌ๊ฐ
์ ๋ก ๋ํ๋ผ ์ ์๋ค. ์ฌ๊ธฐ์ C๋ ๋ ์ผ์์ ์ฐ๋์ฒด๋ฅผ ๋น์ถ๋ ์
ํ ๋์ ์ค์ฌ ์์น, ๋ ์ํ ๋์ ํด๋น ๋ ์ผ ๊ตฌ๊ฐ์ ํญ์ ์๋ฏธํ๋ค(๊ทธ๋ฆผ 2).
โฒโฒ
โฒ โฒ
โฒ
โฒ
โฒ (42)
โณ โฒ๋ก ์นํํ๋ฉด,
โณ
โณ
โณ
โณ
sinc (43)
์ฆ, GB-SAR Focusingํ ์ ํธ์ ํฌ๊ธฐ๋ ์์ ์ต๋๊ฐ ๋ฅผ ๊ฐ์ง๋ฉฐ sinc
ํจ์ ์ต๋๊ฐ์ -3dB ๋ฅผ ๊ธฐ์ค์ผ๋ก ํด์๋๋ฅผ ์ ์ํ๋ฉด
์ด๋ค. ์ฌ๊ธฐ
์ ๋น์ ์ค์ฌ๋ถ๋ ๊ฐํ ํ๋ฐฉ์ฐ๋์ ๋ณด์ด๋ ์ฐ๋์ฒด์์๋ sinc ํจ์์ ์ํฅ์ด
azimuth ๋ฐฉํฅ์ผ๋ก ์ฐ์์ ์ผ๋ก ๋ณด์ผ ์ ์์ผ๋ฉฐ, ์ด ๋ phase๋ ๊ฑฐ๋ฆฌ์ ์ํ ํจ์๋ฟ
๋ง์ด ์๋๋ผ ์ ์์ ๋ ๋ฒ์งธ phase term๋ interferogram์ ๋ํ๋๊ฒ ๋๋ค.
์ฌ๊ธฐ์ GB-SAR ์์คํ ์ธ ,
์ ์ ์ฉํ๋ฉด,
โด
sinc
(44)
- 17 -
(sinc๋ even function)๊ฐ ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์์ ์ต๋๊ฐ ๋ฅผ ๊ฐ์ง๋ฉฐ,
azimuth bandwidth๋
, ํด์๋๋
์ด๋ค. phase๋
๊ฐ
๋๋๋ฐ, ์ด๋ Deramp-FFT๊ฒฐ๊ณผ๊ฐ
์ธ ๊ฒ๊ณผ ๋๋ณ๋๋ค. ์ค์ ์ ํธ ์ฒ๋ฆฌ๋
FFT๋ฅผ ์ด์ฉํ๊ฒ ๋๋ฉฐ, ์ด ๋ ์ฌ์ฉ๋ azimuth sample์ โฅ ๋ผ ํ๋ฉด,
๊ฐ์์ ๋ ์ผ ๊ฐ๊ฒฉ์ โ์ ๊ฐ์ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์์ azimuth ํฝ์
๊ฐ๊ฒฉ์ โ โ์ ๊ฐ์ด ๋๋ฉฐ, azimuth ์์์ ํญ ๋ํ โ๋ก
์ ๊ฑฐ๋ฆฌ์ ๋ฌด๊ดํ์ฌ, Deramp-FFT์๋ ๋ฌ๋ฆฌ ๊ธฐํ ๋ณด์ ์ด ํ์ ์๋ค.
๊ทธ๋ฆผ 2์ ์์ฌ์ ๊ณ ๋ ค ํ ๋, ํ์ฑ๋๋ ์์์ ์๋์ ๋ค ๋ถ๋ถ์ผ๋ก ๋๋ ์ ์๋ค.
๊ฐ) Region I: Partial focusing with full rail scan (๊ทธ๋ฆผ 3)
์ํ ๋ ๊ตฌ๊ฐ:
์ ํจ ์ ๋ถ ๊ตฌ๊ฐ:
sinc
Azimuth Bandwidth:
ํด์๋:
ํด์๋๋ ๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋๋น ์ง๋ค.
๋) Region II: Partial focusing with partial rail scan (๊ทธ๋ฆผ 4)
์ํ ๋ ๊ตฌ๊ฐ:
์ ํจ ์ ๋ถ ๊ตฌ๊ฐ:
,
ร
sinc
Azimuth Bandwidth:
,
- 18 -
ํด์๋:
์ฆ, ๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์ปค์ง์ ๋ฐ๋ผ ๋๋น ์ง๋ค. ,
์ผ ๊ฒฝ์ฐ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ฅธ ํด์๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋ค) Region III: Partial focusing with partial rail scan (๊ทธ๋ฆผ 5)
์ํ ๋ ๊ตฌ๊ฐ:
์ ํจ ์ ๋ถ ๊ตฌ๊ฐ:
,
ร
sinc
Azimuth Bandwidth:
,
ํด์๋:
์ฆ, ๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์์์ง์ ๋ฐ๋ผ ๋๋น ์ง๋ค. ์ด๋ Region II์
๋์นญ์ ์ด๋ฃจ๋ ๊ตฌ์กฐ์ด๋ค.
๋ผ) Region IV: Full focusing with partial rail scan (๊ทธ๋ฆผ 6)
์ํ ๋ ๊ตฌ๊ฐ:
์ ํจ ์ ๋ถ ๊ตฌ๊ฐ:
,
sinc
Azimuth Bandwidth:
ํด์๋:
์ด ๊ฒฝ์ฐ์๋ ๋ ์ ๋ํ์ฌ ํด์๋๊ฐ ๋ณํ์ง ์์ผ๋ฉฐ, ๋จ์ง ์ํ ๋ ๊ตฌ๊ฒฝ์ ์
- 19 -
range
azimuth
rail
Region I
Region IIRegion III
Region IV
๋ฐ์ ํด์๋๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค. ์ด๋ SAR strip mode์ ์ ํ์ ์ธ ์์ ํด๋นํ๋ฉฐ ์
ํ ๋ ๋นํญ์ด ํ์ฉํ๋ ๊ธธ์ด๋งํผ ์ถฉ๋ถํ azimuth ๋ฐฉํฅ์ผ๋ก ์ํ๋ง์ด ์ด๋ฃจ์ด์ง๋ ๊ฒฝ
์ฐ์ด๋ค. ๊ทธ๋ฌํ ์๋ฏธ์์ ์ด ์์ญ์ SAR ์์์ ํน์ฑ์ Full Focusing์ด๋ผ ์ง์นญํ
์ ์๋ค.
๊ทธ๋ฆผ 2. GB-SAR geometry and image regions.
- 20 -
range
azimuth
rail
Region I
Region IIRegion III
Region IV
๊ทธ๋ฆผ 3. Synthetic aperture for a point target in Region I.
range
azimuthrail
Region I
Region IIRegion III
Region IV
๊ทธ๋ฆผ 4. Synthetic aperture for a point target in Region II.
- 21 -
range
azimuthrail
Region I
Region IIRegion III
Region IV
๊ทธ๋ฆผ 5. Synthetic aperture for a point target in Region III.
range
azimuthrail
Region I
Region IIRegion III
Region IV
๊ทธ๋ฆผ 6. Synthetic aperture for a point target in Region IV.
- 22 -
3.3. GB-SAR ๊ฐ์ญ ๊ธฐ๋ฒ (GB-InSAR)
SAR Focusing ํ ์์์์ ์ป์ด์ง๋ ์์(phase)์ ๋ค์๊ณผ ๊ฐ์ด ๊ฑฐ๋ฆฌ์ ํจ์
์ด๋ค.
(45)
์๊ฐ, ๊ณต๊ฐ, ํน์ ์ค์ฌ ์ง๋์๋ฅผ ๋ฌ๋ฆฌํ์ฌ ์ป์ด์ง ์์์์ ์ป์ด์ง๋ ์์์ ์ฐจ์ด
๋ฅผ ์ด์ฉํ์ฌ ์ฐ๋์ฒด์ ์์ง์์ด๋ ์งํ์ ์์๋ด๋ ๊ธฐ์ ์ ๊ฐ์ญ๊ธฐ๋ฒ
(Interferometry)๋ผ ํ๋ค. ์ฌ๊ธฐ์๋ GB-SAR ์์คํ ์ ์ด์ฉํ์ฌ ๊ตฌํํ ์ ์๋
์ฌ๋ฌ interferometry์ ๊ฐ๋ฅ์ฑ์ ์ดํด๋ณด๊ณ ์ ํ๋ค.
(1) Differential Interferometry (DInSAR) for coherent target-motion
detection
๊ฐ์ ์กฐ๊ฑด์์ ์๊ฐ์ฐจ๋ฅผ ๋๊ณ ์ป์ด์ง ์๋ก ๋ค๋ฅธ GB-SAR์์์์์ ์์์ฐจ
(phase difference)๋ฅผ ์๊ฐํ์. ๊ทธ๋ฆผ 7๊ณผ ๊ฐ์ด ํ๋์ ์ฐ๋์ฒด๊ฐ ๋ ์ด๋ ๋ฐฉํฅ์ผ๋ก
๋งํผ ์ด๋ํ์ ๋, ๊ฐ๊ฐ์ ์์์ ๋ค์๊ณผ ๊ฐ๋ค.
๊ทธ๋ฆผ 7. DInSAR configuration with target movement
,
phase difference:
(46)
motion sensibility:
(47)
์๋ฅผ ๋ค๋ฉด, C-band์ผ ๊ฒฝ์ฐ โ โ (degree)๋ก์, ์ฐ๋์ฒด๊ฐ ๋ ์ด๋ ๋ฐฉ
ํฅ์ผ๋ก 1mm์ ์ด๋๋ง ์์ด๋ 12.7๋์ ์์ ๋ณํ๊ฐ ์ผ์ด๋๋ค. ๋ณดํต ์ธ๊ณต์์ฑ ๋ฐ
GB-SAR ์์คํ ์ ์์ ์ธก์ ์ค์ฐจ๊ฐ 10๋ ๋ฏธ๋ง์ผ ๊ฒฝ์ฐ, DInSAR์ ์ฐ๋์ฒด ์ด๋
- 23 -
์ ๋ํ ๋ฏผ๊ฐ๋๋ 1mm๋ผ ํ ์ ์๋ค.
(2) Cross-track interferometry for DEM (topography)
๊ทธ๋ฆผ 8๊ณผ ๊ฐ์ด ์ฒซ ๋ฒ์งธ ์์๊ณผ ์์ง๊ธฐ์ (vertical baseline)์ ๋๊ณ ์ป์ด์ง ๋
๋ฒ์งธ ์์๊ฐ์ ์์์ฐจ๋ฅผ ์๊ฐํ์.
๊ทธ๋ฆผ 8. InSARใConfiguration.
,
phase difference:
โ
์ผ๊ฐํ์์
cos ( for brevity)
cos
โ cos (โตยฑโยฑ
)
InSAR phase difference:
โด
cos
(48)
Range fringe ramp:
sin
,
cos ,
tan
โด
cos
(49)
๋ฐ๋ผ์, cycle ๋ณํ๋ฅผ ๊ฐ์ง๋ range fringe์ ํ์ฅ์ โ
์ผ๋ก์,
์ ๋น๋กํ๋ค. ์๋ฅผ ๋ค์ด, , , ์ผ ๋, โ โ์ด๋ฉฐ,
ํ cycle (โ )์ fringe ๋ณํ๋ โ ์ ํด๋นํ๋ค.
- 24 -
Height sensitivity:
sin
cos ,
sin
โด
(50)
์ฆ, โ
โ๋ก์, ์์ ๋ง์ฐฌ๊ฐ์ง๋ก , ์ผ ๋ โ โ
์ด๋ค. ๋ฐ๋ผ์ 4.7๋ฏธํฐ์ ๋์ด ์ฐจ์ด๊ฐ ์์ ๊ฒฝ์ฐ ํ ์ฌ์ดํด() fringe๊ฐ ๋ํ๋๊ฒ
๋๋ค.
(3) โ-interferometry for DEM
๋ชจ๋ ์กฐ๊ฑด์ด ๋์ผํ๋ ์ค์ฌ ์ง๋์ โ๋งํผ ๋ณํ์ํจ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ์.
,
Phase difference:
โ(51)
Range fringe ramp:
โ
(52)
์๋ฅผ ๋ค์ด, โ MHz์ธ ๊ฒฝ์ฐ, โ โ์ด๋ฉฐ, ๊ฑฐ๋ฆฌ 15.00m๋ง๋ค ์ฌ์ด
ํด์ด ๊ณ ์ ์ ์ผ๋ก ๋ํ๋๋ค.
Height sensitivity:
โ
,
cos ,
cos
,
โด
cosโ
โ
(53)
์ฆ, , โ MHz , ์ผ ๋, โ โ๊ฐ ๋๋ฉฐ, ๊ณ ๋์ฐจ๊ฐ
โ ์ผ ๋ ์ฌ์ดํด์ด ๋ํ๋๋ค.
(4) Cross-track and โ-interferometry for DEM
Vertical baseline ์ ์ค์ฌ ์ง๋์ โ๊ฐ ๋์์ ์กด์ฌํ๋ฉด ์์์ ๋ค์๊ณผ ๊ฐ์
์์์ด ๋๋ค.
,
- 25 -
Phase difference:
โ โ
โโโโ
โ
โโ (โตโโ very small)
โด โ
โ(54)
Range fringe ramp:
cos โ
โ(55)
Height sensitivity:
cos
โ
โ(56)
๋ฐ๋ผ์, cross-track interferometry์ โ interferometry์ ํจ๊ณผ๊ฐ ๋์์ ๋
ํ๋๋ค.
- 26 -
3.4. GB-SAR ํ์ฅ ์คํ
GB-SAR ์์คํ ์ ๊ฐ์ถ ํ ์ค๋ด์์ ์๋ฃ์ ํ๋ ๋ฐ ์ฒ๋ฆฌ๋ฅผ ์๋ํ์๋ค. ๊ทธ๋ฆผ
9์ ๊ฐ์ด ์๋ฃจ๋ฏธ๋ ์ฌ๋ค๋ฆฌ ๋์ mesh ํํ์ ์ฒ ๋ง reflector๋ฅผ ์ค์นํ์๋ค. ์ค์ฌ
์ ์๋ ์ฝํฌ๋ฆฌํธ ์์กฐ์ ๋ฐฉํด๋ฅผ ์ต์ํํ๊ธฐ ์ํ์ฌ ์ํ ๋์ ๋์ด์ reflector๋ฅผ
์ ์ ํ๊ฒ ์์น์์ผฐ๋ค. ์ฌ์ง์์ ์ข์์ ์ฐ๋ก ๋ ์ผ์ ๋ฐ๋ผ ์ค์บ์ด ์ด๋ฃจ์ด์ก๋ค. ์ค๋ด
์คํ์ ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค.
(1) ์ค๋ด ์คํ
๊ฐ) Data Acquisition
โผ
๋) Range Compression
โ
รร
m ax ร
โ ร
รร
๋ค) Azimuth Compression
Region IV:
โ ร
DF: โ
DF: โ ร
RD: โ โ
- 27 -
RD: โ ร
๊ทธ๋ฆผ 10์ Range-Doppler Algorithm์ ์ด์ฉํ์ฌ SAR focusing์ ํ ๊ฒฐ๊ณผ์ด
๋ค. ์ํ์ถ์ ์ํ ๋์์ ์ฐ๋์ฒด๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด๋ฉฐ, ์์ง์ถ์ azimuth๋ก์, ์
๋ถ๋ถ์ด ๊ทธ๋ฆผ 9์ ์ข์ธก ๋ถ๋ถ์ด๋ฉฐ ์๋ซ๋ถ๋ถ์ ์ฐ์ธก์ด๋ค. ๊ฑฐ๋ฆฌ 6.2m์ ์ง์ ์์ผ๋ก ๋
ํ๋๋ ๋ฒฝ์์์ ๋ฐ์ฌ ์ ํธ ๋ฐ ๊ฑฐ๋ฆฌ 5.6m์ ์๋ reflector์์ ์ค๋ ์ ํธ๋ HH
์์๋ ๋งค์ฐ ์ ๋ช ํ๊ฒ ๋ํ๋ ๋ฐ๋ฉด, VV์์๋ ๋น๊ต์ ์ฝํ ๋ฐ์ฌ ์ ํธ๋ฅผ ๋ณด์ธ๋ค. ๋ฒฝ
์์ ๋ฐ์ฌ๋ ์ ํธ๋ ์ฝํฌ๋ฆฌํธ ์์กฐ์ ๋ง์ํธ ๋ฒฝ์์ ์ฌ๋ฐ์ฌ๋ฅผ ์ผ์ผ์ผ multiple
reflection์ ํํ๋ก ์ฝ 15m, 23.5m์์ ๋ฐ๋ณตํด์ ๋ํ๋๋ค.
์์ ์ ์ฒด์ ์์ง์ ์ผ๋ก ๋ํ๋๋ ์ก์ ์ฑ๋ถ ๋ํ HH๋ณด๋ค VV์์ ๋ ๊ฐํ๋ค.
๋จ์ผ ์ํ ๋๋ก ์ก์์ ์ ํ๊ธฐ ๋๋ฌธ์ co-pol์์์ ์ก์์ด cross-pol์ ๊ฒฝ์ฐ๋ณด๋ค
๋งค์ฐ ๊ฐํจ์ ์ ์ ์๋ค. HV ์์์์๋ ์ ์ฒด์ ์ผ๋ก ๋ฐ์ฌ ์ ํธ๊ฐ ์ฝํ์ง๋ง ์ก์์ด
๋ฎ์ ๋น๊ต์ ๋๋ ทํ ์์์ด ํ์ฑ๋์๋ค. HV์์์์๋ ๊ฑฐ๋ฆฌ ์ฝ 4m์์ ๊ฐํ
cross-pol ๋ฐ์ฌ ์ ํธ๊ฐ ์กํ๋๋ฐ, ์ด๋ ๊ทธ๋ฆผ 9์ ์ฌ์ง์์ ์ ๋ฉด์ ๋ณด์ด๋ ์ฝํฌ๋ฆฌ
ํธ ์์กฐ์ ์ค๊ฐ ๋ถ๋ถ์ ์ํ ๋ฐ์ฌ๋ก ์ฌ๊ฒจ์ง๋ค. ํํธ ๊ทธ๋ฆผ 11์ Deramp-FFT
Algorithm์ ์ด์ฉํ์ฌ SAR Focusing์ ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ์ด๋ค. ์ด๋ก ์์ ๋ฐํ ๋ฐ์ ๊ฐ
์ด ์งง์ ๊ฑฐ๋ฆฌ์์ focusing์ด ์ ์ด๋ฃจ์ด์ง์ง ์์์ ์ ์ ์๋ค.
๊ทธ๋ฆผ 9. Indoor experiment setup. A mesh reflector with aluminium ladder
was placed at about 60cm from the wall.
- 28 -
(a) HH (RD)
red: -22dB
yellow: -23dB
green: -24dB
blue: -30dB
purple: -40dB
(b) VV (RD)
red: -22dB
yellow: -23dB
green: -24dB
blue: -30dB
purple: -40dB
(c) HV (RD)
red: -48dB
yellow: -60dB
green: -66dB
blue: -74dB
purple: -80dB
๊ทธ๋ฆผ 10. Indoor Experiment results processed by Range-Doppler algorithm
- 29 -
(a) HH (DF)
red: -22dB
yellow: -23dB
green: -24dB
blue: -30dB
purple: -40dB
(b) VV (DF)
red: -22dB
yellow: -23dB
green: -24dB
blue: -30dB
purple: -40dB
(c) HV (DF)
red: -48dB
yellow: -60dB
green: -66dB
blue: -74dB
purple: -80dB
๊ทธ๋ฆผ 11. Indoor Experiment results processed by Deramp-FFT Algorithm
- 30 -
(2) ์ผ์ธ ์คํ
๊ทธ๋ฆผ 12์ ๊ฐ์ด ์ผ์ธ์์ corner reflector๋ฅผ ์ค์นํ๊ณ GB-SAR ์คํ์ ์ค์ํ
์๋ค. ์ํ ๋๋ก๋ถํฐ ์ง์ ๊ฑฐ๋ฆฌ๋ก ์ฝ 36.09m ์ง์ ์ trihedral corner reflector๋ฅผ
์ค์นํ์๊ณ , 46.38m ์ง์ ์ ์ํตํ์ mesh reflector๋ฅผ ์ค์นํ์๋ค. ์ฃผ์ target
์ ์ํ๊ฑฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค.
trihedral corner reflector: 36.09ยฑ0.09m
mesh reflector: 46.38m
๋จํ๋๋ฌด(์ต๋จ๊ฑฐ๋ฆฌ): 48.64ยฑ0.82m
์ง์๊ธฐ ๊ด์ธกํจ(์ต๋จ๊ฑฐ๋ฆฌ): 51.41ยฑ1.21m
ํ์ฒ์ ๋ฐฉ: 156.32ยฑ0.34m
์๋ช ๊ณตํ์ฐ๊ตฌ์ ๋น๋ฉ: 253.49m
๋ reflector๋ฅผ ์๋ ์ง์ ์ ๋ ์ผ์ ์ค์ฌ๊ณผ ๋๋ต์ ์ผ๋ก ๋ง๋๋ฉฐ, ๋ ์ผ์ ๋ฐฉํฅ๊ณผ ์
์ง์ ์ด๋ฃฌ๋ค. โผ , ๋ก ํ์์ผ๋ฉฐ, , ๋ก ํ์
๋ค. ์คํ์ ์์ธํ ๋ด์ญ์ Table 2 ์ ํ์ํ์๋ค. ๊ทธ๋ฆผ 13์ Range-Doppler
Algorithm, ๊ทธ๋ฆผ 14๋ Deramp-FFT Algorithm์ ์ฌ์ฉํ์ฌ SAR focusingํ ๊ฒฐ
๊ณผ์ด๋ฉฐ, ๊ทธ๋ฆผ 15๋ ๋น๊ต์ ์ ๋ช ํ ์์์ ์ป๋ HV์ ๋ํ์ฌ ์ฃผ์ ๋ถ๋ถ๋ง์ ํ๋ํ
์์์ด๋ค.
๋คํธ์ํฌ ๋ถ์๊ธฐ์ ์ต๋ ํ์๊ฐ 10dBm์ผ๋ก ์ ํ๋์ด ์์ด ์ฅ๊ฑฐ๋ฆฌ ์ด์ฉ์๋ ํ
๊ณ๊ฐ ์์๋ค. ๊ทธ๋ฆฌ๊ณ ๋จ์ผ ์ํ ๋๋ก ์ก์์ ์ด ์ด๋ฃจ์ด์ก๊ธฐ ๋๋ฌธ์, ๋คํธ์ํฌ ๋ถ์๊ธฐ
๋ด์ directional coupler์ ์ฑ๋ฅ ์ ํ์ผ๋ก ๋ง๋ฏธ์์ co-pol (VV, HH)์์๋ ์ก
์์ด ๋งค์ฐ ๋ง์ trihedral corner reflector์ ์ ํธ๋ง์ด ๋๋๋ฌ์ง๊ฒ ๋ณด์ด๋ฉฐ, ๋ค๋ฅธ
์ฐ๋์ฒด์ ๋ชจ์ต์ ์์๋ณผ ์ ์์๋ค. ๊ทธ๋ฌ๋ cross-pol์์๋ ์ํ ๋์ port
isolation์ด -50dB๋ก ๋งค์ฐ ๋ฐ์ด๋๊ธฐ ๋๋ฌธ์ ์ก์์ด ์ ์ด ๋น๊ต์ ์ ๋ช ํ ์์์ ์ป
์ ์ ์์๋ค.
HV ์์์์๋ corner reflector, ๋จํ๋๋ฌด, ๊ด๋ชฉ, ์ง์๊ธฐ ๊ด์ธกํจ์ ์์น๊ฐ ๋น๊ต
์ ์ ํํ๊ฒ ์์ํ๋์์์ ํ์ธํ ์ ์์๋ค. ๋ํ ์ฝ 160m ์์ ํ์ฒ ์ ๋ฐฉ์
๋ชจ์ต์ด ์ค์ ์ ๋น์ทํ๊ฒ ๋น์ค๋ฌํ ๋ชจ์ต์ผ๋ก ์์ํ ๋ ๊ฒ๋ ๊ด์ฐฐํ ์ ์์๋ค. ํฅ
ํ ๋ง์ดํฌ๋กํ ์ ํ์ ๋ง์ดํฌ๋กํ ์ค์์น๋ฅผ ์ด์ฉํ์ฌ ์ ํธ๋ ์ก์๋น๋ฅผ ๋์ฌ์ค๋ค๋ฉด
๋ณด๋ค ๋จผ ๊ฑฐ๋ฆฌ์์๋ ์ ํํ ์์ํ๊ฐ ์ด๋ฃจ์ด์ง ๊ฒ์ด๋ฉฐ ์์ ์ค์ฌ๋ถ์ ์ข์ฐ ์ค๋ฌด๋ฌ
์ก์๋ ๊ฐ์ ๋ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๋ค.
Range-Doppler Algorithm์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ง์ด ํ์ํ ๋ฐ๋ฉด ๋ชจ๋ ๊ฑฐ๋ฆฌ์ ๋ํ์ฌ
๋น๊ต์ ์ ํํ ์์์ ์ป์์ผ๋ฉฐ, Deramp-FFT Algorithm์ ์๋์ ์ผ๋ก ์์ ๋ฉ
๋ชจ๋ฆฌ์ CPU ์๊ฐ์ผ๋ก Quick Look ์์์ ์ป๋๋ฐ ์ ํฉํ์ง๋ง, ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น์ด ๊ณณ์
์๋ ์์ํ๊ฐ ์ ๋์ง ์๋ ๋จ์ ์ ์ ๋ณด์ฌ์ฃผ์๋ค.
- 31 -
์ด ์คํ์์๋ GB-SAR Interferometry์ ๋ํ ๊ฐ๋ฅ์ฑ์ ์์๋ณด๊ธฐ ์ํ์ฌ ๋ค
์์ 4ํ์ ๊ฑธ์ณ ์์์ ์ป์๋ค.
๊ฐ) T1: ์ฌ์ง์์์ ๊ฐ์ target์ ๋ํ์ฌ Table 2์ ์กฐ๊ฑด์ผ๋ก ์์์ ์ป์๋ค.
๋) T2: ๋์ผ ์กฐ๊ฑด์์ trihedral corner reflector์ ์์น๋ฅผ 2-5mm ์์ผ๋ก
์ ์ง์์ผ phase ์ ๋ณํ๋ฅผ ๊ด์ฐฐํ๊ณ ์ ํ์๋ค. ์๋๋ฐญ ์์์ ์์ผ๋ก ์์ง์ด๋ค
๋ณด๋ ์ด๋๋์ ์ ํํ๊ฒ ์ ์ดํ ์๋ ์์๋ค.
๋ค) T3: ์ํ ๋์ ์์น๋ฅผ ์์ง์ผ๋ก 30cm ๋ด๋ ค์ ์ธก์ ํ์ฌ, Cross-Track
Interferometry๋ฅผ ๊ตฌํํ๊ณ ์ ํ์๋ค.
๋ผ) T4: T3๊ณผ ๋์ผ ์กฐ๊ฑด์์ ์ค์ฌ ์ฃผํ์๋ฅผ 5.30GHz์์ 5.31GHz๋ก,
10MHz๋ฅผ ์ด๋ํ์ฌ โ-interferometry๋ฅผ ๊ตฌํํ์๋ค
DInSAR motion detection (T1-T2)
๊ทธ๋ฆผ 16(a)๋ DInSAR์ ๊ฐ๋ฅ์ฑ์ ์์๋ณด๊ธฐ ์ํ์ฌ T1๊ณผ ๋์ผํ ์กฐ๊ฑด์์
trihedral corner reflector์ ์์น๋ฅผ ์ฝ๊ฐ ๋ณ๋์์ผ T2๋ฅผ ์ป๊ณ ๊ทธ phase ๋ณํ๋ฅผ
์ดํด๋ณธ ๊ฒ์ด๋ค. ์ ์ฒด์ ์ผ๋ก ์ ํธ๋ ์ก์๋น๊ฐ ๋ฎ์ ๊ณณ์์๋ ๋ฌด์์์ ์ธ phase ๋ณํ
๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์์ผ๋, corner reflector์์ ์ฝ๊ฐ์ ์์ ๋ณํ๊ฐ ๋ณด์์ ์ ์ ์๋ค.
๊ทธ๋ฌ๋ reflector์ ์์น๋ฅผ ๋ณํ์ํฌ ๋ ์ ํํ ๊ณ์ธก์ ํ ์ ์์ด์ ์ด๋ฅผ ์ ๋ํ
ํ ์๋ ์์๋ค. ๋ฟ๋ง ์๋๋ผ, ๊ด๋ชฉ ๋ถ๋ถ์์๋ ์์์ ๋ณํ๊ฐ ๊ด์ธก๋๋๋ฐ, ์ด๋ ๊ด
๋ชฉ์ด ๋ฐ๋์ ์์ง์๊ฑฐ๋ ๊ด๋ชฉ์ cross-pol ๋ฐ์ฌ ์ ํธ ํน์ฑ์ด ๋งค์ฐ ๋ถ์์ ํ๊ธฐ ๋
๋ฌธ์ธ ๊ฒ์ผ๋ก ํ๋จ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์์คํ ์ ์ ํธ๋ ์ก์๋น๊ฐ ๊ฐ์ ๋๋ค๋ฉด ๋ณด๋ค ์ฅ
๊ฑฐ๋ฆฌ์ ์๋ ์์ ๋ ์ฐ๋์ฒด์ ๋ฏธ์ธํ ์์ง์์ mm ์ ๋ฐ๋๋ก ์ ์ถํด ๋ผ ์ ์์
๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค.
Cross-track interferometry for DEM (T2-T3)
๊ทธ๋ฆผ 16(b)๋ T2์ ๋์ผํ ์กฐ๊ฑด์์ ์ํ ๋์ ์์น๋ฅผ 30cm ๋ด๋ ค์ T3์ ์ธก์
ํ๊ณ ๊ทธ ์์์ฐจ๋ฅผ ์ดํด๋ณธ ๊ฒ์ด๋ค. ์ก์์ด ๋ง์์ ์ฐ๋์ฒด์ DEM ํํ๋ฅผ ์ฝ๊ฒ ๊ตฌ๋ณ
ํ ์๋ ์์๋ค. ๊ทธ๋ฌ๋ ์ ์ ์์ ๊ณ์ฐํ ๋ฐ์ ๊ฐ์ด ๊ฑฐ๋ฆฌ์ ๋ฐ๋ฅธ interferogram์
ํ ์ฌ์ดํด์ ์ฃผ๊ธฐ๊ฐ ๊ฑฐ๋ฆฌ์ ์ ๊ณฑ์ ๋น๋กํจ์ ์ ์ ์์ผ๋ฉฐ, ๊ทธ ์ฃผ๊ธฐ๊ฐ ์ด๋ก ์ ์ผ๋ก
๊ณ์ฐํ ๊ฐ๊ณผ ์ ํํ๊ฒ ๋ค์ด๋ง๋๋ค. ์ญ์ ์์คํ ์ ์ ํธ๋ ์ก์๋น๊ฐ ๊ฐ์ ๋๋ค๋ฉด ์ฐ
๋์ฒด์ ์งํ ์ ๋ณด๋ฅผ InSAR๋ฅผ ํตํด ์ป์ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค.
- 32 -
โ-interferometry for DEM (T3-T4)
๊ทธ๋ฆผ 16(c)๋ T3๊ณผ ๊ฐ์ ์กฐ๊ฑด์์ ๋จ์ง ์ค์ฌ์ฃผํ์๋ฅผ 10MHz ์ฆ๊ฐ์ํจ ์ํ์
์ T4๋ฅผ ์ป๊ณ ๊ทธ ์์์ฐจ๋ฅผ ๊ตฌํ ์์์ด๋ค. ์ ์ ์ ์ด๋ก ์ ์ํ range fringe๊ฐ
๊ฑฐ๋ฆฌ์ ๊ด๊ณ์์ด ์ผ์ ํ๋ฉฐ ๊ทธ ๊ฐ ๋ํ ์ด๋ก ๊ฐ๊ณผ ์ ํํ ์ผ์นํจ์ ์ ์ ์๋ค. ์ฌ๊ธฐ
์๋ interferogram์ด ๋์ด์ ๋ํ ๋ฏผ๊ฐ๋๋ฅผ ๊ฐ์ง๋ฉฐ, ํฅํ ๊ฐ์ ๋ ์์คํ ์์๋ ์ง
ํ์ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๋ค.
Combination of cross-track interferometry and โ-interferometry(T2-T4)
๊ทธ๋ฆผ 16(d)๋ T2์ ๋นํ์ฌ 30cm์ vertical baseline๊ณผ 10MHz์ ์ค์ฌ์ฃผํ์
์ฐจ์ด๋ฅผ ๋ณด์ด๋ T4์์ ์์์ฐจ๋ฅผ ๋ํ๋ธ ์์์ด๋ค. ์ฌ๊ธฐ์๋ ์ด๋ก ๊ฐ๊ณผ ๊ฐ์ด
cross-track interferometry์ โ-interferometry์ ํด๋นํ๋ range fringe์
height sensitivity๊ฐ ๋ชจ๋ ๋ํ๋๋ค. range fringe๊ฐ ์ฌ์ดํด ์ฃผ๊ธฐ๊ฐ ์ด๋ก ๊ฐ๊ณผ ์ ํ
ํ ์ผ์นํ๋ ๊ฒ์ผ๋ก ๋ณผ ๋, ์คํ ๊ฒฐ๊ณผ๊ฐ ์ด๋ก ์ ์ผ์นํ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ, ํฅํ ์์ค
ํ ์ ์ ํธ๋ ์ก์๋น๊ฐ ํฅ์๋๋ฉด ์งํ ๊ณ ๋์ ๋ณด๋ค ๋ฏผ๊ฐํ ๊ฐ์ญ์์์ ์ป์ ๊ฒ์ผ๋ก
์์ธก๋๋ค.
- 33 -
Symbol Description Dimension Examples
Coordinates
frequency Hz time s range m azimuth m wavenumber 1/m
System
center frequency Hz 5.3GHz range bandwidth Hz 600MHz number of range samples 1601 azimuth(rail) scan length m 5000mm
โ azimuth scan step m 50mm antenna aperture range size m 25cm antenna aperture azimuth size m 25cm speed of light, m/s 299792500m/s wavelength, m 5.66cm range beam angle, radian nominal 15deg azimuth beam angle, radian nominal 15deg
Range Compression
time resolution s 1.67ns
range resolution
m 25cm
โ frequency step,
Hz 375KHz
m axMaximum time, m ax
(halved due to void negative time)s 1.33
m ax Maximum range, m ax
m ax 1/m 199.86m
number of range samples for FFT,
โฅ
2048
range bandwidth for FFT,
Hz 768MHz
time pixel size,
s 1.30ns
range image pixel size,
m 19.5cm
Azimuth Compression
Number of azimuth samples,
101
Number of azimuth samples for FFT,
โฅ
DF:256, RD:2048
Azimuth scan pseudo-length for FFT,
mDF:12.75m, RD: 102.4m
Table 2. GB-SAR Acronyms, Equations, and Examples. (RD:
Range-Doppler algorithm, DF: Deramp-FFT algorithm)
- 34 -
Azimuth Compression
(cont')
Wavenumber pixel size for FFT,
1/mDF: 7.843e-2, RD: 9.766e-3
shortest range from the extended rail line to target
m
range from aperture center to target,
m
wavenumber Doppler centroid 1/m RD only: 0
wavenumber Doppler rate
RD:
1/m/m RD only
beam width,
m (m)
synthetic aperture length, โค and โค
m dependent
azimuth resolution
DF
,
RD:
m
Full focusing: ,
Partial focusing:
InSAR phase,
DF:
,
RD:
radian Range dependent
โ
azimuth pixel size of GB-SAR focused image,
DF: โ
โ
RD: โ โ
mDF: (cm)
RD: 5cm
azimuth width of GB-SAR focused image,
โ
DF: โ
,
RD: โ
mDF: (m)
RD: 102.4m
- 35 -
๊ทธ๋ฆผ 12. Outdoor experiment and panoramic view of target field
- 36 -
(a) HH (RD)
red: -40dB
yellow: -44dB
green: -46dB
blue: -54dB
purple: -60dB
(b) VV (RD)
red: -40dB
yellow: -44dB
green: -46dB
blue: -54dB
purple: -60dB
(c) HV (RD)
red: -74dB
yellow: -77dB
green: -80dB
blue: -88dB
purple: -100dB
๊ทธ๋ฆผ 13. Outdoor experiment results processed by Range-Doppler
Algorithm
- 37 -
(a) HH (DF)
red: -40dB
yellow: -44dB
green: -46dB
blue: -54dB
purple: -60dB
(b) VV (DF)
red: -40dB
yellow: -44dB
green: -46dB
blue: -54dB
purple: -60dB
(c) HV (DF)
red: -74dB
yellow: -77dB
green: -80dB
blue: -88dB
purple: -100dB
๊ทธ๋ฆผ 14. Outdoor experiment results processed by Deramp-FFT Algorithm
- 38 -
(a) HV (RD)
red: -74dB
yellow: -77dB
green: -80dB
blue: -88dB
purple: -100dB
(b) HV (DF)
red: -74dB
yellow: -77dB
green: -80dB
blue: -88dB
purple: -100dB
๊ทธ๋ฆผ 15. A zoomed image of HV processed by (a)RD and (b)DF showing
clear target detection.
- 39 -
(a)ใDInSAR (T1-T2) with a shift of trihedral corner reflector by 3mm
(b) Cross-Track InSAR (T2-T3) with 30cm vertical baseline
- 40 -
(c) delta-K InSAR (T3-T4) with 10MHz frequency difference
(d) Cross-Track and โ-interferometry (T2-T4) with 30cm vertical
baseline and 10MHz frequency difference
๊ทธ๋ฆผ 16. Possibilities of various GB-SAR Interferometry. (blue to red:
to )
- 41 -
3.5. ๊ฒฐ๋ก
GB-SAR๋ฅผ ๊ตฌ์ฑํ๊ณ Range-Doppler Algorithm๊ณผ Deramp-FFT Algorithm
์ ์ด์ฉํ Focusing ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ์ฌ ์คํํ ๊ฒฐ๊ณผ, ์ด๋ก ์ ์ธ SAR์ ์ต๋ ํด
์๋๋ฅผ ๊ตฌํํ ์ ์์๋ค. ๋ํ GB-SAR ์์คํ ์ด์ฉ์ ์ ์ฐ์ฑ์ ๊ธฐ์ดํ์ฌ
DInSAR, Cross-track interferometry ๋ฐ โ-interferometry์ ๊ฐ๋ฅ์ฑ์ ํ์ธ
ํ ์ ์์๋ค. ํฅํ ์ก์ ์ํ ๋์ ์์ ์ํ ๋๋ฅผ ๊ฐ๊ธฐ ๋ค๋ฅด๊ฒ ํ์ฌ ์ ํธ ์ก์์ ์ค
์ด๊ณ , ๋ง์ดํฌ๋กํ ์ฐํ ๋ฐ ๋ง์ดํฌ๋กํ ์ค์์น๋ฅผ ์ด์ฉํ์ฌ '๋คํธ๊ด ์ฅ๊ฑฐ๋ฆฌ
GB-SAR'๋ก์ ๋ฐ์ ์ ๊ธฐ๋ํด ๋ณธ๋ค. ์ด๋ฅผ ํตํ์ฌ ์ง๋ฐ์นจํ ๋ฐ ์ฐ์ฌํ๋ก ์ธํ ์ฐ๋
์ฒด์ ์์ง์์ ์ฅ๊ธฐ ๊ด์ธกํ๋๋ฐ ํ์ฉ๋ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋ค.
- 42 -
์ 4 ์ฅ ๋ชฉํ๋ฌ์ฑ๋ ๋ฐ ๊ด๋ จ๋ถ์ผ์์ ๊ธฐ์ฌ๋
์ด ์ฐ๊ตฌ๋ฅผ ํตํ์ฌ ๊ตญ๋ด ์ต์ด๋ก GB-SAR ์์คํ ์ ๊ตฌ์ฑํ๊ณ ์ด์ฉํ์์ผ๋ฉฐ, ์ค์ฉ
ํ ๋จ๊ณ๋ฅผ ๋์์ ๋๊ณ ์๋ค. GB-SAR ์์คํ ์ ์์ ์ ์ธ ์์ ์ ๋ณด๋ฅผ ์ด์ฉํ๋ฉด
๋ฏธ์ฝํ ์ฐ๋์ฒด์ ์์ง์์ ์ฅ๊ธฐ๊ฐ ๋ชจ๋ํฐ๋งํ๋๋ฐ ๊ธฐ์ฌํ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค. ๋ํ
์ด๋ฒ ์ฐ๊ตฌ๋ก ๊ตฌ์ถ๋ GB-SAR ์์คํ ์ ์์ผ๋ก ํญ๊ณต๊ธฐ ๋ฐ ์ธ๊ณต์์ฑ SAR ์์คํ ์
๊ฐ๋ ์ค๊ณ๋ฅผ ์ํ์ฌ ์ ์ฉํ๊ฒ ์ด์ฉ๋ ์๋ ์๋ค.
- 43 -
์ 5 ์ฅ ์ฐ๊ตฌ๊ฐ๋ฐ๊ฒฐ๊ณผ์ ํ์ฉ๊ณํ
GB-SAR ์์คํ ์ ์ธ๊ณต์์ฑ SAR์ ์์๊ธฐ๋ฒ์ ์๊ฑฐํ์ฌ 2์ฐจ์์ ์ธ ๊ณ ํด์๋
์์์ ์ง์์์ ์ป์ ์ ์๋ค. ์ด๋ฅผ ์ด์ฉํ๋ฉด ๋ง์ดํฌ๋กํ์ ์ฐ๋์ฒด๊ฐ์ ๋ค์ํ ๋ฌผ
๋ฆฌ์ ํ์์ ํ์ฅ์์ ๊ท๋ช ํ ์ ์๊ณ , ์ง๋ฐ์นจํ, ์ฌ๋ฉด ์์ ์ฑ, ์ฐ์ฌํ, ๋์ฌํ ๋ฑ
๋ค์ํ ์ฌํด ๋ฐฉ์ง์ ํ์ฉ์ด ๋์ ๊ฒ์ผ๋ก ์ ๋ง๋๋ค. ํฅํ ํ์ฉ์ ์ํ์ฌ ๋, ์ฌ๋ฉด,
์นจํ์ง์ญ, ๋, ๊ฑด๋ฌผ๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฌผ์ ๋ํ ์์ ์ฑ ํ๊ฐ์ ์์ด์ ์๋ก์ด ๊ธฐ์ ๋ก์
ํ์ฉํ ๊ณํ์ด๋ค.
GB-SAR ์์คํ ์ ์์ ์ ์ธ ์์ ์ ๋ณด๋ฅผ ์ด์ฉํ๋ฉด ๋ฏธ์ฝํ ์ฐ๋์ฒด์ ์์ง์์
์ฅ๊ธฐ๊ฐ ๋ชจ๋ํฐ๋งํ๋๋ฐ ๊ธฐ์ฌํ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค. ๋ํ ์ด๋ฒ ์ฐ๊ตฌ๋ก ๊ตฌ์ถ๋
GB-SAR ์์คํ ์ ๊ตญ๋ด์์ ์ต์ด๋ก ์๋๋๋ ๊ฒ์ผ๋ก์, ์์ผ๋ก ํญ๊ณต๊ธฐ ๋ฐ ์ธ๊ณต์
์ฑ SAR ์์คํ ์ ๊ฐ๋ ์ค๊ณ๋ฅผ ์ํ์ฌ ์ด์ฉ๋ ์๋ ์๋ค.
- 44 -
์ 6 ์ฅ ์ํ์ฐ๊ตฌ๊ณผ์ ์์ ์์งํ ํด์ธ๊ณผํ๊ธฐ์ ์ ๋ณด
๋ณธ ์ฐ๊ตฌ์์๋ ์ํ ๋ ํ๋๋ฅผ ์ด์ฉํ์ฌ ๋ง์ดํฌ๋กํ๋ฅผ CW ๋ฐฉ์์ผ๋ก ์ก์ ํจ๊ณผ ๋
์์ ์์ ์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ co-pol์์ ์ก์์ด ๋ง์ด ์ฒจ๊ฐ๋๋ค. ์ด๋ฌํ ์ก์์
์์ ๊ธฐ ์ํด์๋ ์์ ์ํ ๋์ ์ก์ ์ํ ๋๋ฅผ ๋ฐ๋ก ๋๋ dual-antenna ๋ชจ๋๋ฅผ ๊ตฌ
์ฑํ ์ ์๋ค.
Agilent ์ฌ์ PNA Microwave Network Analyzer ์๋ฆฌ์ฆ ์ค์์ Pulsed-RF
Measurement Option์ ์ ํํ๋ฉด single antenna configuration์ ์ฝ์ ์ธ
co-pol์์ ์ฝ 10dB ์ด์ ๋ ธ์ด์ฆ ๊ฐ์ ํจ๊ณผ๊ฐ ์๊ธฐ ๋๋ฌธ์(Agilent
Technologies, 2005; Liepa et. al, 1989), ์ธก์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐฑ์ฌ ๋ฏธํฐ๋ก ๋ฉ๋ฆฌ ๋ ์
์์ ๊ฒ์ด๋ฉฐ, ํ์ฅ ์คํ ๊ตฌ์ฑ์ ๋ง์ ๋์์ด ๋๊ฒ ๋ค.
๋ง์ดํฌ๋กํ RF ๋ ์ด๋ ์์คํ ์์ ์ํ ๋์ ์ญํ ์ ๋งค์ฐ ์ค์ํ๋ค. ์ข์ ์ํ ๋
ํน์ฑ์ ์ป๊ธฐ ์ํ ๋ง์ ์ฐ๊ตฌ๊ฐ ์งํ๋๊ณ ์์ผ๋ฉฐ, ๊ตญ๋ด์ธ ์ ๋ฌธ ํ์ฌ๋ ๋ค์ํ์ฌ ํฅ
ํ ๋ค์ํ ์ฐ๋๊ณ ๋ฐ ๋ณต์ฌ๊ณ ์์คํ ์ ๊ตฌ์ฑํ ์ ์๋ค. ์ด๋ฒ ์คํ์์ ์ฌ์ฉ๋
Orthogonal Transducer๋ฅผ ์ด์ฉํ Dual-Polarization Horn Antenna ์ญ์ ์ํ ๋
ํน์ฑ์ด ๋งค์ฐ ์ข์ ๊ฒ์ผ๋ก, ์ ์ ํ์ฌ์ ์คํ ๊ฒฐ๊ณผ ๋ํ๋ฌ๋ค. ์คํ์ ์ฌ์ฉํ ์ ์๋
์ํ ๋์ ์ข ๋ฅ๋ ๋งค์ฐ ๋ค์ํ์ฌ, 1-12GHz, ํน์ 1-18GHz์ ์ด๋ฅด๋ ๊ด๋์ญ
Horn Antenna์ ํ๋ณด๋ ์ฉ์ดํ ๊ฒ์ผ๋ก ํ๋จ๋๋ค. ์ด ์ธ์๋ ์คํ ๋ชฉ์ ์ ๋ฐ๋ผ ์ฌ
๋ฌ ๊ฐ์ง ๋ค์ํ ์ํ ๋๋ฅผ ์ ํ์ ์ผ๋ก ์ฃผ๋ฌธ ์ ์ ๋ฐ ๊ตฌ์ ํ ์ ์๋ ๋์ ์์ฅ์ด ์กด
์ฌํ๋ค.
ํ์ฌ์ GB-SAR ์์คํ ์ ๋คํธ์ํฌ ๋ถ์๊ธฐ์ ์ก์ ํ์ ์ ํ(10dBm)์ผ๋ก ์ฝ
100๋ฏธํฐ ์ด์ ๊ฑฐ๋ฆฌ์ ์๋ ์ฐ๋์ฒด๋ฅผ ์์ํํ์ง ๋ชปํ๋ค. ๋ฐ๋ผ์ ๋ง์ดํฌ๋กํ ์ฐํ
๋ฐ ์ค์์น๋ฅผ ์ด์ฉํ์ฌ ํ์๋ฅผ ๋์ผ ํ์๊ฐ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ก์ ๋ฐ ์์ ์ํ ๋๋ฅผ ๋ถ
๋ฆฌํ์ฌ ์ก์์ ์์ ์ค ํ์๊ฐ ์๋ค.
- 45 -
์ 7 ์ฅ ์ฐธ๊ณ ๋ฌธํ
์ดํ์ด, 2005. ๊ต์ก์ฉ ํฉ์ฑ๊ตฌ๊ฒฝ๋ ์ด๋ ํ๋ก์ธ์(eSAR Processor)์ ๊ฐ๋ฐ๊ณผ ๊ณต๊ฐ,
๋ํ์๊ฒฉํ์ฌํํ์ง, 21๊ถ, 2ํธ, pp. 163-171.
Agilent Technologies, 2005. Agilent PNA Microwave Network Analyzers
for Pulsed-RF Measurements - Configuration Guide. www.agilent.com.
Hamasaki, T. Zhou, Z., and Sato, M., 2004. Development and Applications
of an Interferometric Ground-Based SAR System,
http://earth.esa.int/workshops/ ceos_sar_2004/, accessed on 12 Oct. 2005.
Lee, H. and Chi, K. H., 2004. Contraction of a newly reclaimed mudflat
detected by differential SAR interferometry, International Symposium on
Remote Sensing (ISRS) 2004, Jeju, Korea.
Lee, H. and J. G. Liu, 2001. Analysis of Topographic Decorrelation in SAR
Interferometry using Ratio Coherence Imagery, IEEE Trans. Geosci.
Remote Sens., 39(2), 223-232.
Liepa, V. V., Sarabandi, K., and Tassoudji, M. A., 1989. A Pulsed Network
Analyzer Based Scatterometer, IGARSS'89, pp. 1826-1828.
SCEOS, 2005. Ground-based Synthetic Aperture Radar (GB-SAR)
Research, http://www.shef.ac.uk/~sceos/environmental/gbsar/ , accessed on
12 Oct 2005.
Ulaby, F. T. and Whitt, M. W., 1990. AVNA-Based Polarimetric
Scatterometers, IEEE Transactions on Geoscience and Remote Sensing,
vol. 28, no. 1, pp. 6-17.
- 46 -
Appendix A. GB-SAR ํ๋ก๊ทธ๋จ ์์์ฝ๋
< Main Program: gbsar.c >
/****************************************************
GB-SAR Processor
Input: complex data in frequency domainProcess:
1. Parameter Control2. Range Compression by iFFT3. Azimuth Compression - Partial Focusing: Deramp-FFT Algorithm - Full Focusing: Range-Doppler Algorithm
Output: SAR focused data in time domain
by Hoonyol Lee,Department of GeophysicsKangwon National UniversityEmail: [email protected]
Versions1.0 (19 Oct 2006): Initial release 1.1 (11 Dec 2006): Big fix in RD ******************************************************/#define Version "1.1"
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <time.h>
#include "ma.c"#include "cnshift.c"#include "cfft.c"#include "cfout.c"#include "gen_ers.c"
void usage();void intro();
main(int argc, char *argv[]){
FILE *fp;char fname[200], fhead[200], fheadout[200], dummy[200];char fvv[200], fvh[200], fhv[200], fhh[200];char foutvv[200], foutvh[200], fouthv[200], fouthh[200];int i, ix, ix1, ix2, j, jx, jx1, ii;int ystart, yend, ystep;int nrange, nazimuth, nrange_fft, nazimuth_fft, nrange_ffth;int ifocus, iRx, mfft_range, mfft_azimuth;time_t clock_start, clock_end, clock_duration; double fstart, fend, bandw_r, fc, lambda;double delf, delx;double delt, delt_fft, delr, delr_fft, m_total, t_max, R_max, R_full, R_center;double delu, delu_fft, delx_fft, delx_fftr;double cspeed=2.997925e8;double phi=4.*atan(1.);double freq, *vv, *vh, *hv, *hh;double L_az, beam_angle, X, X_fft, X_rd;double x, R, R0, Rc, Rx, phase, phase0, phase1, tmp1, tmp2;double X_hcut, cosp, sinp;double *vvr, *vhr, *hvr, *hhr; /* Range-Doppler Algorithm */ double *azvv, *azvh, *azhv, *azhh, *azchirp, u;
intro();if(argc !=2) {usage(); exit(0);}
clock_start=time(NULL);
/* Parameter file input */ if((fp=fopen(argv[1], "r"))==NULL){
printf("Error.. can not open %s.\n", argv[1]);exit(0);
}fscanf(fp, "%s %s", fhead, dummy);fscanf(fp, "%s %s", fheadout, dummy);fscanf(fp, "%lf %lf %d %s", &fstart, &fend, &nrange, dummy);fscanf(fp, "%lf %s", &L_az, dummy);fscanf(fp, "%d %d %d %s", &ystart, ¥d, &ystep, dummy);fscanf(fp, "%d %d %s", &mfft_range, &mfft_azimuth, dummy);fscanf(fp, "%lf %s", &R_center, dummy);
- 47 -
fscanf(fp, "%d %s", &ifocus, dummy);
/* output file names */strcpy(fvv, fheadout);strcpy(fvh, fheadout);strcpy(fhv, fheadout);strcpy(fhh, fheadout);
strcat(fvv, "_VV");strcat(fvh, "_VH");strcat(fhv, "_HV");strcat(fhh, "_HH");
/* Range parameter Input */printf("<< Range Parameters >>\n");
/* printf(" Enter start, end frequency(GHz) and number of sample: ");scanf("%lf %lf %d", &fstart, &fend, &nrange);
*/ fstart *= 1.e9;fend *= 1.e9;printf(" fstart=%gHz, fend=%gHz nrange=%d\n", fstart, fend, nrange);printf(" FFT folds in Rangge and Azimuth = %d %d\n",
mfft_range, mfft_azimuth);
fc=(fstart+fend)/2.;lambda=cspeed/fc;printf(" Center frequency= %gHz\n", fc);printf(" Wavelength= %gm\n", lambda);
/* Range Induced Parameters */bandw_r=fend-fstart;delt=1./bandw_r;delr=cspeed*delt/2.;delf=bandw_r/(nrange-1);t_max=1./(2.*delf);R_max= cspeed*t_max/2.;nrange_fft=1;while(nrange_fft<nrange) nrange_fft *=2;nrange_fft *=mfft_range; delt_fft=1./((nrange_fft-1)*delf);delr_fft=cspeed*delt_fft/2.;nrange_ffth=nrange_fft/2;
printf(" Frequency bandwidth (bandw_r)= %gHz\n", bandw_r);printf(" Time resolution (delt)= %gs\n", delt);printf(" Range resolution (delr)= %gm\n", delr);
printf(" Frequency resolution (delf)= %gHz\n", delf);printf(" Time maximum(t_max)= %gs\n", t_max); printf(" Range maximum(R_max)= %gm\n", R_max); printf(" Frequency iFFT pixel size (nrange_fft)= %d\n", nrange_fft);printf(" Time sampling resolution (delt_fft)= %gs\n", delt_fft);printf(" Range sampling pixel size (delr_fft)= %gm\n", delr_fft);printf("\n");
/* Azimuth parameter input */printf("<< Azimuth parameters >>\n");
/* printf(" Enter azimuth antenna length(L_az) (0.25): ");scanf("%lf", &L_az);
*/ printf(" L_az = %gm. The ystep should be less than %dmm.\n",L_az, (int)(L_az*1000/2));
/* printf(" Enter ystart, yend, ystep (mm, integer): ");scanf("%d %d %d", &ystart, ¥d, &ystep);
*/ printf(" ystart= %dmm, yend= %dmm, ystep= %dmm\n",ystart, yend, ystep);
/* Azimuth induced parameters */X = (double)(yend-ystart)/1000.;delu=1./X;R_full=L_az/lambda*X;nazimuth=(yend-ystart)/ystep+1;delx = ystep/1000.;nazimuth_fft=1;while(nazimuth_fft<nazimuth) nazimuth_fft *=2;nazimuth_fft *=mfft_azimuth;X_fft =(nazimuth_fft-1)*delx;delu_fft=1./X_fft;delx_fft=lambda/2.*delu_fft;
printf(" Rail scan length(X)= %gm\n", X);printf(" Azimuth wavenumber resolution(delu)= %g[1/m]\n", delu); printf(" Full focusing Range limit (R_full)=%gm\n", R_full);printf(" Number of azimuth samples (nazimuth)= %d\n", nazimuth);printf(" Azimuth sampling step (dela)= %gm\n", delx);printf(" Azimuth FFT size (nazimuth_fft)= %d\n", nazimuth_fft);printf(" Rail scan length for FFT (X_fft)= %gm\n", X_fft);printf(" Azimuth wavenumber pixel size(delu_fft)= %g[1/m]\n", delu_fft);
if(R_center==0.) R_center=R_max; delx_fft *= R_center;printf(" Azimuth pixel size =%gm at R=%gm.\n", delx_fft, R_center); printf("\n");
- 48 -
/* GB-SAR Algorithm Selection *//* printf("<< GB-SAR Algorithm Selection >>\n");
printf(" Far/Short Range Criterion=%gm\n", R_full);printf(" 1. Deramp-FFT Algorithm (Far Range)\n");printf(" 2. Range-Doppler Algorithm (Short Range)\n");printf(" 3. Both\n");printf(" Enter the choice: ");scanf("%d", &ifocus);
*/ if(ifocus==1) printf("Deramp-FFT Algorithm\n");if(ifocus==2) printf("Range-Doppler Algorithm\n");else if(ifocus==3) printf("Deramp-FFT and Range-Doppler Algorithms\n");else{
printf(" Error.. wrong input\n");exit(0);
}printf("\n");
/* memory allocation */vv=dvector(nrange_fft*nazimuth_fft*2);vh=dvector(nrange_fft*nazimuth_fft*2);hv=dvector(nrange_fft*nazimuth_fft*2);hh=dvector(nrange_fft*nazimuth_fft*2);
m_total=nrange_fft*nazimuth_fft*2*4*8;
if(ifocus==2 || ifocus==3){
vvr=dvector(nrange_ffth*nazimuth_fft*2);vhr=dvector(nrange_ffth*nazimuth_fft*2);hvr=dvector(nrange_ffth*nazimuth_fft*2);hhr=dvector(nrange_ffth*nazimuth_fft*2);
m_total += nrange_ffth*nazimuth_fft*2*4*8;}
printf(" Memory allocated= %gMB\n", m_total/1024./1024.);
/* read data files */for(i=ystart, ii=0; i<=yend; i+=ystep, ii++){
sprintf(fname, "%s/x%dy0.dat", fhead, i);
if((fp=fopen(fname, "r"))==NULL){
printf("Error.. can not open %s.\n", fname);exit(0);
}
ix=nrange_fft*ii*2; for(j=0; j<nrange; j++){
jx=ix+2*j;fscanf(fp, "%lf %lf %lf %lf %lf %lf %lf %lf %lf", &freq, vv+jx, vv+jx+1, vh+jx, vh+jx+1,
hv+jx, hv+jx+1, hh+jx, hh+jx+1);}fclose(fp);
}printf(" Read data ok\n");
/* Range baseband */cnshift_x(vv, nazimuth, nrange_fft, nrange/2*(-1));cnshift_x(vh, nazimuth, nrange_fft, nrange/2*(-1)); cnshift_x(hv, nazimuth, nrange_fft, nrange/2*(-1)); cnshift_x(hh, nazimuth, nrange_fft, nrange/2*(-1)); printf(" Range baseband ok\n");
/* Range compression by inverse FFT */cfft1d(vv, nazimuth, nrange_fft, 0, 1);cfft1d(vh, nazimuth, nrange_fft, 0, 1);cfft1d(hv, nazimuth, nrange_fft, 0, 1);cfft1d(hh, nazimuth, nrange_fft, 0, 1);printf(" Range compression ok\n");
/* Range cut by half */for(i=0; i<nazimuth; i++){
ix=i*nrange_fft*2;ix1=i*nrange_ffth*2;for(j=0; j<nrange_ffth*2; j++){
jx=ix+j;jx1=ix1+j;vv[jx1]=vv[jx];vh[jx1]=vh[jx];hv[jx1]=hv[jx];hh[jx1]=hh[jx];
}}
- 49 -
for(i=nrange_ffth*nazimuth*2; i<nrange_fft*nazimuth*2; i++){
vv[i]=0.;vh[i]=0.;hv[i]=0.;hh[i]=0.;
}
/* Output Range Compressed Data */strcpy(foutvv, fvv);strcpy(foutvh, fvh);strcpy(fouthv, fhv);strcpy(fouthh, fhh);
strcat(foutvv, "_0_RangeComp");strcat(foutvh, "_0_RangeComp");strcat(fouthv, "_0_RangeComp");strcat(fouthh, "_0_RangeComp");
cfout(vv, nazimuth, nrange_ffth, 1, 1, 0, foutvv);cfout(vh, nazimuth, nrange_ffth, 1, 1, 0, foutvh);cfout(hv, nazimuth, nrange_ffth, 1, 1, 0, fouthv);cfout(hh, nazimuth, nrange_ffth, 1, 1, 0, fouthh);
gen_ers(foutvv, nazimuth, nrange_ffth, delx, delr_fft, 2, "141");gen_ers(foutvh, nazimuth, nrange_ffth, delx, delr_fft, 2, "141");gen_ers(fouthv, nazimuth, nrange_ffth, delx, delr_fft, 2, "141");gen_ers(fouthh, nazimuth, nrange_ffth, delx, delr_fft, 2, "141");
if(ifocus==2 || ifocus==3){
/*******************************************//* Range-Doppler Algorithm for Short Range *//*******************************************/
printf("Range-Doppler Algorithm for Short Range\n");
/* Copy data for Range-Doppler Algorithm */for(i=0; i<nazimuth_fft*nrange_ffth*2; i++){
vvr[i]=vv[i];vhr[i]=vh[i];hvr[i]=hv[i];hhr[i]=hh[i];
}
/* Azimuth rail baseband */cnshift_y(vvr, nazimuth_fft, nrange_ffth, nazimuth/2*(-1)); cnshift_y(vhr, nazimuth_fft, nrange_ffth, nazimuth/2*(-1)); cnshift_y(hvr, nazimuth_fft, nrange_ffth, nazimuth/2*(-1)); cnshift_y(hhr, nazimuth_fft, nrange_ffth, nazimuth/2*(-1)); printf(" Azimuth Baseband ok\n");
/* Azimuth FFT */cfft1d(vvr, nazimuth_fft, nrange_ffth, 1, -1);cfft1d(vhr, nazimuth_fft, nrange_ffth, 1, -1);cfft1d(hvr, nazimuth_fft, nrange_ffth, 1, -1);cfft1d(hhr, nazimuth_fft, nrange_ffth, 1, -1);printf(" Azimuth FFT ok\n");
/* Range Migration and Azimuth Matched Filtering */azvv=dvector(nazimuth_fft*2);azvh=dvector(nazimuth_fft*2);azhv=dvector(nazimuth_fft*2);azhh=dvector(nazimuth_fft*2);azchirp=dvector(nazimuth_fft*2);phase0=2.*phi/lambda;for(i=1; i<nrange_ffth; i++){ R0=i*delr_fft;
phase1=phase0/R0;
/* Range Migration and Chirp generation */for(j=0; j<nazimuth_fft; j++){
/* range migration */if(j<nazimuth_fft/2) u=j*delu_fft;else u=(j-nazimuth_fft)*delu_fft;x=-0.5*lambda*R0*u;
Rx=sqrt(R0*R0+x*x); /* no approximation at x=xc=0 */iRx=(int)(Rx/delr_fft+0.5);jx=j*nrange_ffth*2+2*iRx;if(iRx<nrange_ffth) {
azvv[2*j]=vvr[jx];azvv[2*j+1]=vvr[jx+1];azvh[2*j]=vhr[jx];azvh[2*j+1]=vhr[jx+1];
- 50 -
azhv[2*j]=hvr[jx];azhv[2*j+1]=hvr[jx+1];azhh[2*j]=hhr[jx];azhh[2*j+1]=hhr[jx+1];
}else {
azvv[2*j]=0.;azvv[2*j+1]=0.;azvh[2*j]=0.;azvh[2*j+1]=0.;azhv[2*j]=0.;azhv[2*j+1]=0.;azhh[2*j]=0.;azhh[2*j+1]=0.;
}
/* azimuth chirp */if(j<nazimuth_fft/2) x=j*delx;else x=(j-nazimuth_fft)*delx;X_rd=R0*lambda/L_az;if(fabs(x)<=(X_rd/2.*1.5)) /* allow 1.5 of nominal beam width */{
phase=phase1*x*x;azchirp[2*j]=cos(phase);azchirp[2*j+1]=sin(phase);
}else{
azchirp[2*j]=0.;azchirp[2*j+1]=0.;
}
}cfft1d(azchirp, 1, nazimuth_fft, 0, -1);
/* azimuth matched filtering */for(j=0; j<nazimuth_fft; j++){
jx=j*nrange_ffth*2+2*i;
tmp1=azvv[2*j]*azchirp[2*j]-azvv[2*j+1]*azchirp[2*j+1];
tmp2=azvv[2*j]*azchirp[2*j+1]+azvv[2*j+1]*azchirp[2*j];
vvr[jx]=tmp1;vvr[jx+1]=tmp2;
tmp1=azvh[2*j]*azchirp[2*j]-azvh[2*j+1]*azchirp[2*j+1];
tmp2=azvh[2*j]*azchirp[2*j+1]+azvh[2*j+1]*azchirp[2*j];vhr[jx]=tmp1;vhr[jx+1]=tmp2;
tmp1=azhv[2*j]*azchirp[2*j]-azhv[2*j+1]*azchirp[2*j+1];
tmp2=azhv[2*j]*azchirp[2*j+1]+azhv[2*j+1]*azchirp[2*j];hvr[jx]=tmp1;hvr[jx+1]=tmp2;
tmp1=azhh[2*j]*azchirp[2*j]-azhh[2*j+1]*azchirp[2*j+1];
tmp2=azhh[2*j]*azchirp[2*j+1]+azhh[2*j+1]*azchirp[2*j];hhr[jx]=tmp1;hhr[jx+1]=tmp2;
}}/* end of range migration and matched filtering */free(azhh);free(azhv);free(azvh);free(azvv);free(azchirp);printf(" Range Migration and Matched Filtering ok\n");
/* Azimuth Inverse FFT */cfft1d(vvr, nazimuth_fft, nrange_ffth, 1, 1);cfft1d(vhr, nazimuth_fft, nrange_ffth, 1, 1);cfft1d(hvr, nazimuth_fft, nrange_ffth, 1, 1);cfft1d(hhr, nazimuth_fft, nrange_ffth, 1, 1);printf(" Azimuth Inverse FFT ok\n");
/* Azimuth shift by half */cnshift_y(vvr, nazimuth_fft, nrange_ffth, nazimuth_fft/2);cnshift_y(vhr, nazimuth_fft, nrange_ffth, nazimuth_fft/2); cnshift_y(hvr, nazimuth_fft, nrange_ffth, nazimuth_fft/2); cnshift_y(hhr, nazimuth_fft, nrange_ffth, nazimuth_fft/2); printf(" Azimuth shift by half ok\n");
/* Output Range-Doppler SAR Data */strcpy(foutvv, fvv);
- 51 -
strcpy(foutvh, fvh);strcpy(fouthv, fhv);strcpy(fouthh, fhh);
strcat(foutvv, "_1_RD");strcat(foutvh, "_1_RD");strcat(fouthv, "_1_RD");strcat(fouthh, "_1_RD");
cfout(vvr, nazimuth_fft, nrange_ffth, 1, 1, 0, foutvv);cfout(vhr, nazimuth_fft, nrange_ffth, 1, 1, 0, foutvh);cfout(hvr, nazimuth_fft, nrange_ffth, 1, 1, 0, fouthv);cfout(hhr, nazimuth_fft, nrange_ffth, 1, 1, 0, fouthh);
gen_ers(foutvv, nazimuth_fft, nrange_ffth, delx, delr_fft, 2, "141");gen_ers(foutvh, nazimuth_fft, nrange_ffth, delx, delr_fft, 2, "141");gen_ers(fouthv, nazimuth_fft, nrange_ffth, delx, delr_fft, 2, "141");gen_ers(fouthh, nazimuth_fft, nrange_ffth, delx, delr_fft, 2, "141");
} /* end of Range-Doppler */
if(ifocus==1 || ifocus==3){
/*******************************************//* Deramp-FFT Algorithm for Far Range *//*******************************************/
printf("\n");printf("Deramp-FFT Algorithm for Far Range\n");
/* Deramp */phase0=2.*phi/lambda;for(i=0; i<nazimuth; i++){
ix=i*nrange_ffth*2;x=(i-nazimuth/2)*delx;phase1=phase0*x*x;
for(j=0; j<nrange_ffth; j++) {
jx=ix+2*j;R0=j*delr_fft;X_hcut=fabs(R0)/R_full*X/2.;if(fabs(x)<X_hcut)
{phase=phase1/R0;cosp=cos(phase);sinp=sin(phase);
}else{
cosp=0.;sinp=0.;
}
tmp1=vv[jx]*cosp-vv[jx+1]*sinp;tmp2=vv[jx]*sinp+vv[jx+1]*cosp;vv[jx]=tmp1;vv[jx+1]=tmp2;
tmp1=vh[jx]*cosp-vh[jx+1]*sinp;tmp2=vh[jx]*sinp+vh[jx+1]*cosp;vh[jx]=tmp1;vh[jx+1]=tmp2;
tmp1=hv[jx]*cosp-hv[jx+1]*sinp;tmp2=hv[jx]*sinp+hv[jx+1]*cosp;hv[jx]=tmp1;hv[jx+1]=tmp2;
tmp1=hh[jx]*cosp-hh[jx+1]*sinp;tmp2=hh[jx]*sinp+hh[jx+1]*cosp;hh[jx]=tmp1;hh[jx+1]=tmp2;
}
}printf(" Deramp ok\n");
/* Azimuth rail baseband */cnshift_y(vv, nazimuth_fft, nrange_ffth, nazimuth/2*(-1)); cnshift_y(vh, nazimuth_fft, nrange_ffth, nazimuth/2*(-1)); cnshift_y(hv, nazimuth_fft, nrange_ffth, nazimuth/2*(-1)); cnshift_y(hh, nazimuth_fft, nrange_ffth, nazimuth/2*(-1)); printf(" Azimuth Baseband ok\n");
/* Azimuth FFT */cfft1d(vv, nazimuth_fft, nrange_ffth, 1, -1);cfft1d(vh, nazimuth_fft, nrange_ffth, 1, -1);
- 52 -
cfft1d(hv, nazimuth_fft, nrange_ffth, 1, -1);cfft1d(hh, nazimuth_fft, nrange_ffth, 1, -1);printf(" Azimuth FFT ok\n");
/* Azimuth shift by half */cnshift_y(vv, nazimuth_fft, nrange_ffth, nazimuth_fft/2);cnshift_y(vh, nazimuth_fft, nrange_ffth, nazimuth_fft/2); cnshift_y(hv, nazimuth_fft, nrange_ffth, nazimuth_fft/2); cnshift_y(hh, nazimuth_fft, nrange_ffth, nazimuth_fft/2); printf(" Azimuth shift by half ok\n");
/* Output Deramp-FFT SAR Data */strcpy(foutvv, fvv);strcpy(foutvh, fvh);strcpy(fouthv, fhv);strcpy(fouthh, fhh);
strcat(foutvv, "_2_DF");strcat(foutvh, "_2_DF");strcat(fouthv, "_2_DF");strcat(fouthh, "_2_DF");
cfout(vv, nazimuth_fft, nrange_ffth, 1, 1, 0, foutvv);cfout(vh, nazimuth_fft, nrange_ffth, 1, 1, 0, foutvh);cfout(hv, nazimuth_fft, nrange_ffth, 1, 1, 0, fouthv);cfout(hh, nazimuth_fft, nrange_ffth, 1, 1, 0, fouthh);
gen_ers(foutvv, nazimuth_fft, nrange_ffth, delx_fft, delr_fft, 2, "141");gen_ers(foutvh, nazimuth_fft, nrange_ffth, delx_fft, delr_fft, 2, "141");gen_ers(fouthv, nazimuth_fft, nrange_ffth, delx_fft, delr_fft, 2, "141");gen_ers(fouthh, nazimuth_fft, nrange_ffth, delx_fft, delr_fft, 2, "141");
/* Geocoding by Azimuth Resampling */for(i=0; i<nrange_ffth; i++){
azvv=dvector(nazimuth_fft*2);azvh=dvector(nazimuth_fft*2);azhv=dvector(nazimuth_fft*2);azhh=dvector(nazimuth_fft*2);
R0=i*delr_fft;/*if(R0<R_full) delx_fftr=L_az/2.;else delx_fftr=lambda/2./X*R0;*/
delx_fftr=lambda/2.*delu_fft*R0;for(j=0; j<nazimuth_fft; j++){
tmp1=(j-nazimuth_fft/2)*delx_fft;jx=(int)(tmp1/delx_fftr+nazimuth_fft/2.+0.5);if(jx>=0 && jx<nazimuth_fft) {
ix=j*2;jx1=jx*nrange_ffth*2+2*i;
azvv[ix]=vv[jx1];azvv[ix+1]=vv[jx1+1];azvh[ix]=vh[jx1];azvh[ix+1]=vh[jx1+1];azhv[ix]=hv[jx1];azhv[ix+1]=hv[jx1+1];azhh[ix]=hh[jx1];azhh[ix+1]=hh[jx1+1];
}}
for(j=0; j<nazimuth_fft; j++){
jx=j*nrange_ffth*2+2*i;ix=j*2;
vv[jx]=azvv[ix];vv[jx+1]=azvv[ix+1];vh[jx]=azvh[ix];vh[jx+1]=azvh[ix+1];hv[jx]=azhv[ix];hv[jx+1]=azhv[ix+1];hh[jx]=azhh[ix];hh[jx+1]=azhh[ix+1];
}
free(azhh);free(azhv);free(azvh);free(azvv);
}printf(" Azimuth Resampling ok\n");
/* Output Deramp-FFT Geocoded SAR Data */strcpy(foutvv, fvv);
- 53 -
strcpy(foutvh, fvh);strcpy(fouthv, fhv);strcpy(fouthh, fhh);
strcat(foutvv, "_3_DF_Geo");strcat(foutvh, "_3_DF_Geo");strcat(fouthv, "_3_DF_Geo");strcat(fouthh, "_3_DF_Geo");
cfout(vv, nazimuth_fft, nrange_ffth, 1, 1, 0, foutvv);cfout(vh, nazimuth_fft, nrange_ffth, 1, 1, 0, foutvh);cfout(hv, nazimuth_fft, nrange_ffth, 1, 1, 0, fouthv);cfout(hh, nazimuth_fft, nrange_ffth, 1, 1, 0, fouthh);
gen_ers(foutvv, nazimuth_fft, nrange_ffth, delx_fft, delr_fft, 2, "141");gen_ers(foutvh, nazimuth_fft, nrange_ffth, delx_fft, delr_fft, 2, "141");gen_ers(fouthv, nazimuth_fft, nrange_ffth, delx_fft, delr_fft, 2, "141");gen_ers(fouthh, nazimuth_fft, nrange_ffth, delx_fft, delr_fft, 2, "141");
} /* end of Deramp-FFT */
printf("\n");
clock_end=time(NULL);clock_duration=clock_end - clock_start;printf("Program finished successfully in %d sec.\n", clock_duration);
}
void usage(){
printf("\n Usage: gbsar parameter_file\n");}
void intro(){
printf("===================================\n");printf("= GB-SAR Processor =\n");printf("= Version %s =\n", Version);printf("= =\n");printf("= by =\n"); printf("= Hoonyol Lee =\n");printf("= Assistant Professor =\n");printf("= Department of Geophysics =\n");printf("= Kangwon National University =\n");printf("= [email protected] =\n");
printf("===================================\n");printf("\n");
}
< Complex FFT: cfft.c >
/********************************** 1D- and 2D-FFT of 2D Complex Data H. Lee, 17/7/01 modified usgin ma.c, 7 May 2004 Normalized.
data: double complex in BIP nrow, ncol:
iflag: 0 --- x directional FFT 1 --- y directional FFT
isign: -1 --- forward FFT 1 --- inverse FFT
(depends on the definition of FFT)**********************************/
/*#include "ma.c"*/#include "twon.c"#include "dfour1.c"
void cfft1d(data, nrow, ncol, iflag, isign)double *data;int nrow, ncol, iflag, isign;{
unsigned long nn;int i,j, linen;double *tmp;
linen = ncol*2;
/* x-directional FFT */ if(iflag == 0) {
tmp = dvector(ncol*2+1);nn = twon(ncol);
for(i=0; i<nrow; i++){
- 54 -
for(j=0; j<ncol; j++){ tmp[2*j+1] = data[linen*i + 2*j]; tmp[2*j+2] = data[linen*i + 2*j + 1]; } dfour1(tmp, nn, isign); for(j=0; j<ncol; j++){ data[linen*i+2*j] = tmp[2*j+1]; data[linen*i+2*j+1] = tmp[2*j+2]; }
}/* scaling */if(isign==1) for(i=0; i<nrow*ncol*2; i++) data[i] /= ncol;
}
/* y-directional FFT */ if(iflag == 1) {
tmp = dvector(nrow*2+1);nn = twon(nrow);for(i=0; i< ncol; i++){
for(j=0; j<nrow; j++){tmp[2*j+1] = data[linen*j+2*i]; tmp[2*j+2] = data[linen*j+2*i+1];
}dfour1(tmp, nn, isign);for(j=0; j<nrow; j++){
data[linen*j+2*i] = tmp[2*j+1];data[linen*j+2*i+1] = tmp[2*j+2];
}}/* scaling */if(isign==1) for(i=0; i<nrow*ncol*2; i++) data[i] /= nrow;
}
free(tmp);
}
void cfft2d(data, nrow, ncol, isign) double *data;int nrow, ncol, isign;{
cfft1d(data, nrow, ncol, 0, isign);cfft1d(data, nrow, ncol, 1, isign);
}
void cfft1d_ri(realdata, imagdata, nrow, ncol, iflag, isign) double *realdata, *imagdata;int nrow, ncol, iflag, isign;{
int i;double *data;
data=dvector(nrow*ncol*2);
for(i=0; i<nrow*ncol; i++) {
data[2*i]= realdata[i];data[2*i+1]=imagdata[i];
}
cfft1d(data, nrow, ncol, iflag, isign);
for(i=0; i<nrow*ncol; i++) {
realdata[i]=data[2*i];imagdata[i]=data[2*i+1];
}
free(data);
}
void cfft2d_ri(realdata, imagdata, nrow, ncol, isign)double *realdata, *imagdata;int nrow, ncol, isign;{
cfft1d_ri(realdata, imagdata, nrow, ncol, 0, isign);cfft1d_ri(realdata, imagdata, nrow, ncol, 1, isign);
}
< Data output : cfout.c >
/********************************************************cfout.c
Complex File OUTput program
- 55 -
* * *
cfout(data, nrow, ncol, istyle, iband, ireal, ftail)
1. data (input data): double, IQ, BIP 2. nrow: number of row3. ncol: number of col4. istyle (output style): "IQ"(0) or "amp/phase"(1)
5. iband (output band format): BIP(0), BIL(1), BSQ(2)6. ireal (output data format): float(0) or double(1)
7. ftail: filename tail (fname=fhead+ftail)
Currently istyle=(0,1), iband=(0,1), ireal=(0,1) are available.
by Dr. Hoonyol LeeDepartment of GeophysicsKangwon National University
* BIL enabled on 28 Nov 2004* coding initiated on 7 May 2004*********************************************************/
void cfout(cdata, nrow, ncol, istyle, iband, ireal, ftail)double *cdata;int nrow, ncol, istyle, iband, ireal;char *ftail;{
FILE *fp;char fname[80];int i, j, ix;double *dbuf, x1, y1, amplitude, phase;
float *fbuf;
strcpy(fname, ftail);
printf(" cfout: %s", fname);
if((fp=fopen(fname, "w"))==NULL){
printf(" (Error) Can not open %s.\n", fname);exit(0);
}
if(istyle==0) /* "IQ" */{ if(iband==0) /* BIP */ {
if(ireal==0){ printf(" (IQ, BIP, FLOAT)\n"); fbuf=fvector(ncol*2); for(i=0; i<nrow; i++) { ix=i*ncol*2; for(j=0; j<ncol*2; j++) fbuf[j]=(float)cdata[ix+j]; fwrite(fbuf, 1, ncol*sizeof(float)*2, fp); } free(fbuf);}else{ printf(" (IQ, BIP, DOUBLE)\n"); fwrite(cdata, 1, nrow*ncol*2*sizeof(double), fp);}
} else if(iband==1) /* BIL */ {
if(ireal==0){ printf(" (IQ, BIL, FLOAT)\n"); fbuf=fvector(ncol*2); for(i=0; i<nrow; i++) { ix=i*ncol*2; for(j=0; j<ncol; j++)
{fbuf[j]=(float)cdata[ix+2*j];
fbuf[ncol+j]=(float)cdata[ix+2*j+1];}
fwrite(fbuf, 1, ncol*sizeof(float)*2, fp); } free(fbuf);}else{ printf(" (IQ, BIL, DOUBLE)\n"); dbuf=dvector(ncol*2); for(i=0; i<nrow; i++)
- 56 -
{ ix=i*ncol*2; for(j=0; j<ncol; j++)
{dbuf[j]=cdata[ix+2*j];
dbuf[ncol+j]=cdata[ix+2*j+1];}
fwrite(dbuf, 1, ncol*sizeof(double)*2, fp); } free(dbuf);}
} else /* BSQ */ {
printf(" (Error) Sorry this format is not ready yet.\n");exit(0);
}}else /* "amplitude, phase" */{ if(iband==0) /* BIP */ { if(ireal==0) /* FLOAT */ {
printf(" (AP, BIP, FLOAT)\n");fbuf = fvector(ncol*2);for(i=0; i<nrow; i++){ ix=i*ncol*2; for(j=0; j<ncol; j++) { x1=cdata[ix+2*j];
y1=cdata[ix+2*j+1];
amplitude=sqrt(x1*x1+y1*y1);phase=atan2(y1, x1);
fbuf[2*j]=(float)amplitude;fbuf[2*j+1]=(float)phase;
} fwrite(fbuf, 1, ncol*sizeof(float)*2, fp);}free(fbuf);
} else /* DOUBLE */
{printf(" (AP, BIP, DOUBLE)\n");dbuf = dvector(ncol*2);for(i=0; i<nrow; i++){ ix=i*ncol*2; for(j=0; j<ncol; j++) { x1=cdata[ix+2*j];
y1=cdata[ix+2*j+1];
amplitude=sqrt(x1*x1+y1*y1);phase=atan2(y1, x1);
dbuf[2*j]=amplitude;dbuf[2*j+1]=phase;
} fwrite(dbuf, 1, ncol*sizeof(double)*2, fp);}free(dbuf);
} } else if(iband==1) /* BIL */ { if(ireal==0) /* FLOAT */ {
printf(" (AP, BIL, FLOAT)\n");fbuf = fvector(ncol*2);for(i=0; i<nrow; i++){ ix=i*ncol*2; for(j=0; j<ncol; j++) { x1=cdata[ix+2*j];
y1=cdata[ix+2*j+1];
amplitude=sqrt(x1*x1+y1*y1);phase=atan2(y1, x1);
fbuf[j]=(float)amplitude;fbuf[ncol+j]=(float)phase;
} fwrite(fbuf, 1, ncol*sizeof(float)*2, fp);}free(fbuf);
- 57 -
} else {
printf(" (AP, BIL, DOUBLE)\n");dbuf = dvector(ncol*2);for(i=0; i<nrow; i++){ ix=i*ncol*2; for(j=0; j<ncol; j++) { x1=cdata[ix+2*j];
y1=cdata[ix+2*j+1];
amplitude=sqrt(x1*x1+y1*y1);phase=atan2(y1, x1);
dbuf[j]=amplitude;dbuf[j+ncol]=phase;
} fwrite(dbuf, 1, ncol*sizeof(double)*2, fp);}free(dbuf);
} } else /* BSQ */ {
printf(" (Error) Sorry BSQ format is not supported yet.\n");exit(0);
}}
fclose(fp);
}
< Cyclic shift of data: cnshift.c >
/****************************************cnshift.c
: cyclic shift of complex double data in BIP by integer n
27 Oct 2006: cnshift24 July 2006: cshiftby Hoonyol Lee***************************************//*#include "ma.c"*/
void cnshift_x(double *data, int nrow, int ncol, int nshift){
int i, j, ix, jj, ncol2, nshift2;double *tmp;
tmp=dvector(ncol*2);ncol2=ncol*2;nshift2=nshift*2;
for(i=0; i<nrow; i++){
ix=i*ncol2;for(j=0; j<ncol2; j++){
jj=j+nshift2;while(jj>=ncol2) jj-=ncol2;while(jj<0) jj+=ncol2;tmp[jj]=data[ix+j];
}for(j=0; j<ncol2; j++) data[ix+j]=tmp[j];
}free(tmp);
}
void cnshift_y(double *data, int nrow, int ncol, int nshift){
int i, j, jj, ncol2;double *tmp;
tmp=dvector(nrow);ncol2=ncol*2;
for(i=0; i<ncol2; i++){
for(j=0; j<nrow; j++){
jj=j+nshift;while(jj>=nrow) jj-=nrow;
- 58 -
while(jj<0) jj+=nrow;tmp[jj]=data[j*ncol2+i];
}for(j=0; j<nrow; j++) data[j*ncol2+i]=tmp[j];
}free(tmp);
}
void cnshift_xy(double *data, int nrow, int ncol, int xshift, int yshift){
cnshift_x(data, nrow, ncol, xshift);cnshift_y(data, nrow, ncol, yshift);
}
< 1D FFT: dfour1.c >
/*#include <math.h>*/#define SWAP(a,b) tempr=(a);(a)=(b);(b)=tempr
void dfour1(double data[], unsigned long nn, int isign){
unsigned long n,mmax,m,j,istep,i;double wtemp,wr,wpr,wpi,wi,theta;double tempr,tempi;
n=nn << 1;j=1;for (i=1;i<n;i+=2) {
if (j > i) {SWAP(data[j],data[i]);SWAP(data[j+1],data[i+1]);
}m=n >> 1;while (m >= 2 && j > m) {
j -= m;m >>= 1;
}j += m;
}mmax=2;while (n > mmax) {
istep=mmax << 1;theta=isign*(6.28318530717959/mmax);
wtemp=sin(0.5*theta);wpr = -2.0*wtemp*wtemp;wpi=sin(theta);wr=1.0;wi=0.0;for (m=1;m<mmax;m+=2) {
for (i=m;i<=n;i+=istep) {j=i+mmax;tempr=wr*data[j]-wi*data[j+1];tempi=wr*data[j+1]+wi*data[j];data[j]=data[i]-tempr;data[j+1]=data[i+1]-tempi;data[i] += tempr;data[i+1] += tempi;
}wr=(wtemp=wr)*wpr-wi*wpi+wr;wi=wi*wpr+wtemp*wpi+wi;
}mmax=istep;
}}#undef SWAP/* (C) Copr. 1986-92 Numerical Recipes Software */
< Output ERMapper Header: gen_ers.c >
void gen_ers (fname, nrow, ncol, drow, dcol, nband, bflag)char fname[], bflag[];int ncol, nrow, nband;double drow, dcol;{ char fnamers[80]; FILE *fp; int i, nbyte;
strcpy(fnamers, fname); strcat(fnamers, ".ers"); if((fp = fopen(fnamers, "w"))==NULL) {
printf("Error... Can not open %s.\n", fnamers);exit(0);
}
- 59 -
fprintf(fp,"DatasetHeader Begin\n"); fprintf(fp," Version = \"6.0\"\n"); fprintf(fp," Name = \"%s\"\n", fnamers); fprintf(fp," Description = \"Generated by Hoonyol Lee\"\n"); fprintf(fp," LastUpdated = Thu Jun 12 00:00:00 GMT 2004\n"); fprintf(fp," SensorName = \"Unknown\"\n"); fprintf(fp," SenseDate = Thu Jun 12 00:00:00 GMT 2004\n"); fprintf(fp," DataSetType = ERStorage\n"); fprintf(fp," DataType = Raster\n"); fprintf(fp," ByteOrder = LSBFirst\n"); fprintf(fp," CoordinateSpace Begin\n"); fprintf(fp," Datum = \"RAW\"\n"); fprintf(fp," Projection = \"RAW\"\n"); fprintf(fp," Projection = \"RAW\"\n"); fprintf(fp," CoordinateType = RAW\n"); fprintf(fp," Rotation = 0:0:0.0\n"); fprintf(fp," CoordinateSpace End\n"); fprintf(fp," RasterInfo Begin\n");
if(strncmp(bflag, "010", 3) == 0) fprintf(fp," CellType = Unsigned8BitInteger\n"); else if(strncmp(bflag, "110",3) == 0) fprintf(fp," CellType = Signed8BitInteger\n"); else if(strncmp(bflag, "020",3) == 0) fprintf(fp," CellType = Unsigned16BitInteger\n"); else if(strncmp(bflag, "120",3) == 0) fprintf(fp," CellType = Signed16BitInteger \n"); else if(strncmp(bflag, "040",3) == 0) fprintf(fp," CellType = Unsigned32BitInteger\n"); else if(strncmp(bflag, "140",3) == 0) fprintf(fp," CellType = Signed32BitInteger \n"); else if(strncmp(bflag, "141",3) == 0) fprintf(fp," CellType = IEEE4ByteReal\n"); else if(strncmp(bflag, "181",3) == 0) fprintf(fp," CellType = IEEE8ByteReal\n");
else{ nbyte = atoi(bflag);
fprintf(fp," CellType = Unsigned%dBitInteger\n", nbyte);
}
fprintf(fp," CellInfo Begin\n"); fprintf(fp," Xdimension = %lf\n", dcol); fprintf(fp," Ydimension = %lf\n", drow); fprintf(fp," CellInfo End\n"); fprintf(fp," NrOfLines = %d\n", nrow); fprintf(fp," RegistrationCellX = 0\n"); fprintf(fp," RegistrationCellY = %d\n", nrow/2); fprintf(fp," NrOfCellsPerLine = %d\n", ncol); fprintf(fp," NrOfBands = %d\n", nband);
for(i=0; i<nband; i++){ fprintf(fp," BandId Begin\n"); fprintf(fp," Value = \"Band%d\"\n", i+1); fprintf(fp," BandId End\n"); } fprintf(fp," RasterInfo End\n"); fprintf(fp,"DatasetHeader End\n"); fclose(fp);}
void ers_usage(){ printf(" Usage: gen_ers datafile nrow ncol nband bit_flag(or nbyte)\n "); printf("\n"); printf(" where datafile : input file name\n"); printf(" nrow : number of row\n"); printf(" ncol : number of column\n"); printf(" nband : number of band\n\n"); printf(" nbyte : number of byte per cell\n\n"); printf(" bit_flag : bit flag\n\n"); printf(" number of byte, or \n"); printf(" 010 Unsigned 8 bit Integer\n"); printf(" 110 Signed 8 bit Integer\n"); printf(" 020 Unsigned 16 bit Integer\n"); printf(" 120 Signed 16 bit Integer\n"); printf(" 040 Unsigned 32 bit Integer\n"); printf(" 140 Signed 32 bit Integer\n"); printf(" 141 IEEE 4 Byte Real\n"); printf(" 181 IEEE 8 Byte Real\n");
- 60 -
printf("\n");}
< Memory allocation: ma.c >
/* memory allocation for vectors and matrices *//* modified from nrutil.c of Numerical Recipes in C *//* index notation follows C convention */
/*#include <stdlib.h>*/
unsigned char *ucvector(int n){unsigned char *v;
v = (unsigned char *)calloc((size_t) n, (size_t) sizeof( unsigned char));if(!v){ printf("malloc failure in unsigned char vector\n");exit(0);}
return v;}
char *cvector(int n){char *v;
v = (char *)calloc((size_t) n, (size_t) sizeof(char));if(!v){ printf("malloc failure in char vector\n");exit(0);}
return v;}
unsigned short *usvector(int n){unsigned short *v;
v = (unsigned short *)calloc((size_t) n, (size_t) sizeof(unsigned short));if(!v)
{ printf("malloc failure in unsigned short vector\n");exit(0);}return v;}
short *svector(int n){short *v;
v = (short *)calloc((size_t) n, (size_t) sizeof(short));if(!v){ printf("malloc failure in short vector\n");exit(0);}return v;}
unsigned int *uivector(int n){unsigned int *v;
v = (unsigned int *)calloc((size_t) n, (size_t) sizeof(unsigned int));if(!v){ printf("malloc failure in unsigned int vector\n");exit(0);}return v;}
int *ivector(int n){int *v;
v = (int *)calloc((size_t) n, (size_t) sizeof(int));if(!v){ printf("malloc failure in int vector\n");exit(0);}return v;}
float *fvector(int n){
float *v;
- 61 -
v = (float *)calloc((size_t) n, (size_t) sizeof(float));if(!v){ printf("malloc failure in float vector\n");
exit(0);}return v;
}
double *dvector(int n) {double *v;
v = (double *)calloc((size_t) n, (size_t) sizeof(double)); if(!v){ printf("malloc failure in double vector\n"); exit(0); }return v; }
int **imatrix(int nrow, int ncol){int i;int **m;
/* allocate pointers to rows */m=(int **)calloc((size_t) nrow, (size_t) sizeof(int*));if(!m){ printf("malloc failure 1 in int matrix\n");exit(0);}
/* allocate rows and set pointers to them */m[0]=(int *)calloc((size_t) nrow*ncol, (size_t)sizeof(int));if(!m[0]){ printf("malloc failure 2 in int matrix\n");exit(0);}
for(i=1; i< nrow; i++) m[i] = m[i-1] + ncol;
return m;}
float **fmatrix(int nrow, int ncol){int i;float **m;
/* allocate pointers to rows */m=(float **)calloc((size_t) nrow, (size_t) sizeof(float*));if(!m){ printf("malloc failure 1 in float matrix\n");exit(0);}
/* allocate rows and set pointers to them */m[0]=(float *)calloc((size_t) nrow*ncol, (size_t) sizeof(float));if(!m[0]){ printf("malloc failure 2 in float matrix\n");exit(0);}
for(i=1; i< nrow; i++) m[i] = m[i-1] + ncol;
return m;}
double **dmatrix(int nrow, int ncol){
int i;double **m;
/* allocate pointers to rows */m=(double **)calloc((size_t) nrow, (size_t) sizeof(double*));if(!m)
{ printf("malloc failure 1 in double matrix\n"); exit(0); }
/* allocate rows and set pointers to them */m[0]=(double *)calloc((size_t) nrow*ncol, (size_t) sizeof(double));
if(!m[0]){ printf("malloc failure 2 in double matrix\n"); exit(0); }
for(i=1; i< nrow; i++) m[i] = m[i-1] + ncol;
- 62 -
return m;}
< twon.c>
/* program to get nn of 2*nn *//* H.Lee 17/7/01 */
unsigned long twon(int numb){
unsigned long nn = 1;int n;
n = numb - 1;do{
n >>= 1;nn <<= 1;
}while(n != 0);
return(nn);}
< Parameter file for the indoor experiment : gbsar2.pam >
../data data_directoryroom2 output_file_head(fohead)5 5.6 201 frequency(start,stop)[GHz],number 0.25 Antenna_azimuth[m]0 4000 50 Rail(start,stop,step)[mm]2 2 FFT_fold(interpolation)0. R_center3 Focusing_selection
1: Deramp-FFT2: Range-Doppler3: Both
< Parameter file for the outdoor experiment : test1_FullRD3.pam >
../test1 data_directoryt1_FullRD3 output_header(fohead)5 5.6 1601 frequency(start,stop)[GHz],number 0.25 Antenna_azimuth[m]0 5000 50 Rail(start,stop,step)[mm]2 16 FFT_fold_Range_Azimuth(interpolation)0 R_center 3 Focusing_selection
1: Deramp-FFT2: Range-Doppler3: Both
< Program log file for indoor experiment: gbsar2.log >
==================================== GB-SAR Processor == Version 1.1 == == by == Hoonyol Lee == Assistant Professor == Department of Geophysics == Kangwon National University == [email protected] ====================================
<< Range Parameters >>fstart=5e+09Hz, fend=5.6e+09Hz nrange=201FFT folds in Rangge and Azimuth = 2 2Center frequency= 5.3e+09HzWavelength= 0.0565646mFrequency bandwidth (bandw_r)= 6e+08HzTime resolution (delt)= 1.66667e-09sRange resolution (delr)= 0.249827mFrequency resolution (delf)= 3e+06HzTime maximum(t_max)= 1.66667e-07sRange maximum(R_max)= 24.9827m
- 63 -
Frequency iFFT pixel size (nrange_fft)= 512Time sampling resolution (delt_fft)= 6.52316e-10sRange sampling pixel size (delr_fft)= 0.0977797m
<< Azimuth parameters >>L_az = 0.25m. The ystep should be less than 125mm.ystart= 0mm, yend= 4000mm, ystep= 50mmRail scan length(X)= 4mAzimuth wavenumber resolution(delu)= 0.25[1/m]Full focusing Range limit (R_full)=17.6789mNumber of azimuth samples (nazimuth)= 81Azimuth sampling step (dela)= 0.05mAzimuth FFT size (nazimuth_fft)= 256Rail scan length for FFT (X_fft)= 12.75mAzimuth wavenumber pixel size(delu_fft)= 0.0784314[1/m]Azimuth pixel size =0.0554172m at R=24.9827m.
Deramp-FFT and Range-Doppler Algorithms
Memory allocated= 12MBRead data okRange baseband okRange compression okcfout: room2_VV_0_RangeComp (AP, BIL, FLOAT)cfout: room2_VH_0_RangeComp (AP, BIL, FLOAT)cfout: room2_HV_0_RangeComp (AP, BIL, FLOAT)cfout: room2_HH_0_RangeComp (AP, BIL, FLOAT)Range-Doppler Algorithm for Short RangeAzimuth Baseband okAzimuth FFT okRange Migration and Matched Filtering okAzimuth Inverse FFT okAzimuth shift by half okcfout: room2_VV_1_RD (AP, BIL, FLOAT)cfout: room2_VH_1_RD (AP, BIL, FLOAT)cfout: room2_HV_1_RD (AP, BIL, FLOAT)cfout: room2_HH_1_RD (AP, BIL, FLOAT)
Deramp-FFT Algorithm for Far RangeDeramp okAzimuth Baseband okAzimuth FFT okAzimuth shift by half okcfout: room2_VV_2_DF (AP, BIL, FLOAT)cfout: room2_VH_2_DF (AP, BIL, FLOAT)cfout: room2_HV_2_DF (AP, BIL, FLOAT)cfout: room2_HH_2_DF (AP, BIL, FLOAT)Azimuth Resampling okcfout: room2_VV_3_DF_Geo (AP, BIL, FLOAT)cfout: room2_VH_3_DF_Geo (AP, BIL, FLOAT)cfout: room2_HV_3_DF_Geo (AP, BIL, FLOAT)cfout: room2_HH_3_DF_Geo (AP, BIL, FLOAT)
Program finished successfully in 2 sec.
< Program log file for outdoor experiment: test1_FullRD3.log >
==================================== GB-SAR Processor == Version 1.1 == == by == Hoonyol Lee == Assistant Professor == Department of Geophysics == Kangwon National University == [email protected] ====================================
<< Range Parameters >>fstart=5e+09Hz, fend=5.6e+09Hz nrange=1601FFT folds in Rangge and Azimuth = 2 16Center frequency= 5.3e+09HzWavelength= 0.0565646mFrequency bandwidth (bandw_r)= 6e+08Hz
- 64 -
Time resolution (delt)= 1.66667e-09sRange resolution (delr)= 0.249827mFrequency resolution (delf)= 375000HzTime maximum(t_max)= 1.33333e-06sRange maximum(R_max)= 199.862mFrequency iFFT pixel size (nrange_fft)= 4096Time sampling resolution (delt_fft)= 6.51201e-10sRange sampling pixel size (delr_fft)= 0.0976125m
<< Azimuth parameters >>L_az = 0.25m. The ystep should be less than 125mm.ystart= 0mm, yend= 5000mm, ystep= 50mmRail scan length(X)= 5mAzimuth wavenumber resolution(delu)= 0.2[1/m]Full focusing Range limit (R_full)=22.0986mNumber of azimuth samples (nazimuth)= 101Azimuth sampling step (dela)= 0.05mAzimuth FFT size (nazimuth_fft)= 2048Rail scan length for FFT (X_fft)= 102.35mAzimuth wavenumber pixel size(delu_fft)= 0.0097704[1/m]Azimuth pixel size =0.0552276m at R=199.862m.
Deramp-FFT and Range-Doppler Algorithms
Memory allocated= 768MBRead data okRange baseband okRange compression okcfout: t1_FullRD3_VV_0_RangeComp (AP, BIL, FLOAT)cfout: t1_FullRD3_VH_0_RangeComp (AP, BIL, FLOAT)cfout: t1_FullRD3_HV_0_RangeComp (AP, BIL, FLOAT)cfout: t1_FullRD3_HH_0_RangeComp (AP, BIL, FLOAT)Range-Doppler Algorithm for Short RangeAzimuth Baseband okAzimuth FFT okRange Migration and Matched Filtering okAzimuth Inverse FFT okAzimuth shift by half ok
cfout: t1_FullRD3_VV_1_RD (AP, BIL, FLOAT)cfout: t1_FullRD3_VH_1_RD (AP, BIL, FLOAT)cfout: t1_FullRD3_HV_1_RD (AP, BIL, FLOAT)cfout: t1_FullRD3_HH_1_RD (AP, BIL, FLOAT)
Deramp-FFT Algorithm for Far RangeDeramp okAzimuth Baseband okAzimuth FFT okAzimuth shift by half okcfout: t1_FullRD3_VV_2_DF (AP, BIL, FLOAT)cfout: t1_FullRD3_VH_2_DF (AP, BIL, FLOAT)cfout: t1_FullRD3_HV_2_DF (AP, BIL, FLOAT)cfout: t1_FullRD3_HH_2_DF (AP, BIL, FLOAT)Azimuth Resampling okcfout: t1_FullRD3_VV_3_DF_Geo (AP, BIL, FLOAT)cfout: t1_FullRD3_VH_3_DF_Geo (AP, BIL, FLOAT)cfout: t1_FullRD3_HV_3_DF_Geo (AP, BIL, FLOAT)cfout: t1_FullRD3_HH_3_DF_Geo (AP, BIL, FLOAT)
Program finished successfully in 130 sec.
์ฃผ ์
1. ์ด ๋ณด๊ณ ์๋ ํ๊ตญ์ง์ง์์์ฐ๊ตฌ์์์ ๊ณผํ๊ธฐ์ ๋ถ ๊ธฐ๋ณธ
์ฐ๊ตฌ์ฌ์ ์ผ๋ก ์ํํ๋ ๊ณผ์ ์ ์ํ์ฐ๊ตฌ๋ณด๊ณ ์์ ๋๋ค.
2. ์ด ๋ณด๊ณ ์ ๋ด์ฉ์ ๋ฐํํ๋ ๋์๋ ๋ฐ๋์ ํ๊ตญ์ง์ง
์์์ฐ๊ตฌ์์์ ์ํํ ๊ธฐ๋ณธ์ฐ๊ตฌ์ฌ์ ์ ์ํ์ฐ๊ตฌ๊ฒฐ๊ณผ
์์ ๋ฐํ์ผ ํฉ๋๋ค.
3. ๊ตญ๊ฐ๊ณผํ๊ธฐ์ ๊ธฐ๋ฐ์ ์ง์ ํ์ํ ๋ด์ฉ์ ๋์ธ์ ์ผ๋ก
๋ฐํ ๋๋ ๊ณต๊ฐํ์ฌ์๋ ์๋๋ฉ๋๋ค.