您的位置:首页 > 其它

fbd2fbs过采样转换问题

2015-09-01 10:48 423 查看
ALOS双极化数据FBD距离向带宽为14MHz,单极化数据FBS距离向带宽为28MHz,斜距向分辨率=c/2B,所以单极化数据的分辨率是双极化数据的两倍。

ALOS_pre_proc里面的ALOS_fbd2fbs对双极化数据进行两倍过采样,由于FBS的带宽恰好是FBD的两倍,所以,采用频率域补零的方法进行两倍过采样是可行的。

<pre name="code" class="plain">/***************************************************************************
* ALOS_fbd_fbs reads a raw FBD-HH file processed with ALOS_pre_proc and   *
* upsamples it to FBS-HH bandwidth.  The algorithm takes the fft each     *
* complex range line and zero-pads in the frequency domain.  This is      *
* possible because the FBS bandwidth is exactly two times the FBD.        *
* Note that the interpolated data may exceed the original data span of    *
* 0-31 so the numbers are rescaled to lie between 0 and 127 which still   *
* only one byte of storage.                                               *
* The code uses cfft1d which seems to be the standard interface in the    *
* InSAR community.                                                        *
***************************************************************************/



算法的思想是对每一个complex range line进行傅里叶变换,然后再频率域补零

自己用matlab简单实现了一下最基本的功能,没有考虑任何其他的约束和注意事项,结果幅度看起来还好,干涉的性能还没有去验证。

[r,c] = size(img);
figure;imagesc(log(abs(img)));
%b = zeros(r,c*2);
for i = 1 : r
a = img(i,:);
af = fft(a);
afs = [zeros(1,c/2),fftshift(af),zeros(1,c/2)];
bfs = ifftshift(afs);
bf = ifft(bfs);
result(i,:) = bf;
end
figure;imagesc(log(abs(result)));

复数数据去除每一行
fft,fftshift

两边补零

ifftshift

ifft

然后把结果放在新矩阵的一行里

over!

不懂信号的学渣简单学习了一下,有错误希望指正呀~~

参考

【1】补零位置的不同对频谱的影响
【2】matlab过采样与IFFT补零
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: