📄 sinky.m
字号:
function [s,V] = sinky(z,rho,theta)
% function SINKY.M
% Shannon reconstruction algorithm
%
% Usage: [s,V]=sinky(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]% Variablesbursts=size(z,1); pul_burst=size(z,2);thetav=theta(:,1).'; dtheta=thetav(2)-theta(1);ac = max(thetav) - min(thetav);ca = (max(thetav) + min(thetav)) / 2;rho = rho .* (4 * pi / 3e8); %% frequency matrix in rad/mtrhov = rho(1,:); X0=pi/(rhov(2)-rhov(1));rhoc = linspace(min(rhov), max(rhov) * cos(ac / 2), pul_burst);drho=rhov(2)-rhov(1); s=zeros(size(rho)); s2=s;% Interpolation in X directionclose all; flops(0); dx=drho; dkx=dx;for a=1:length(thetav),a rhox=rhoc./cos(thetav(a)-ca); for n=1:length(rhox), arg=rhox(n)*ones(1,length(rhox))-rhov; s(a,n)=sum(z(a,:).*sinc(arg/dx));end;end;% Interpolation in Y directiona=rhoc(1)*tan(min(thetav)-ca);n=rhoc(1)*tan(max(thetav)-ca);rhoyi=linspace(a,n,length(thetav));dy=rhoyi(2)-rhoyi(1); dky=dy;for a=1:length(rhoc),a rhoyd=rhoc(a).*tan(thetav-ca); for n=1:length(thetav), arg=rhoyi(n)*ones(1,length(rhoyd))-rhoyd; s2(n,a)=sum((s(:,a).').*sinc(arg/dy));end;end;s=s2; fl=flopsV=[X0 dkx dky fl];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -