📄 fsoum2.m
字号:
function [s,V] = fsoum1(z,rho,theta)% Soumekh Interpolation Method in Frequency%% Usage: [s,V] = fsoum1(z,rho,theta)% Where: z = M by N matrix with samples in frequency domain% rho, theta = radius and angles of data points% s = interpolated matrix% V = vector that includes [X0 dkx dky fl]close all% Variablesbursts = size(z,1);pul_burst = size(z,2);rho = rho .* (4 * pi / 3e8); %% frequency matrix in rad/mtrhov = rho(1,:);ac = max(max(theta)) - min(min(theta));ca = (max(max(theta)) + min(min(theta))) / 2;% Points of Interpolationx = linspace(min(rhov), max(rhov) * cos(ac / 2), bursts);y = min(rhov) * sin(max(theta(:,1))) * linspace(-1,1,pul_burst);[yy,xx]=meshgrid(y,x);fxi=xx.*cos(ca)-yy.*sin(ca);fyi=yy.*cos(ca)+xx.*sin(ca);clear xx yyfxd=rho.*cos(theta);fyd=rho.*sin(theta);dkx=fxi(1,2)-fxi(1,1);dky=fyi(2,1)-fyi(1,1);X0=pi/(rhov(2)-rhov(1));figure;plot(fxd,fyd,'.',fxi,fyi,'.');pause;close% Interpolationflops(0)s=zeros(size(z));al=rhov(2)-rhov(1);be=theta(1,2)-theta(1,1);for a=1:bursts,for b=1:pul_burst,a,barg=X0.*sqrt((fxi(a,b)-fxd).^2+(fyi(a,b)-fyd).^2);I=z.*(X0^2).*sqrt(fxd.^2+fyd.^2).*bessel(1,arg)./arg;ss=sum(sum(I));s(a,b)=ss;end;endfl=flops;V=[X0 dkx dky fl];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -