资源简介
二维傅里叶变换相位提取的matlab模拟程序。
代码片段和文件信息
%%% 二维傅里叶变换相位提取
clear all
N=512; % 抽样点数
L=1; % x,y方向长度
a=1; % 背景强度
b=0.8; % 调制度
r0=1/16;
f_x=r0*N; % x方向载频
f_y=r0*N; % y方向载频
delta=L/N; % 空域采样间隔
delta_f=1/(N*delta); % 频域采样间隔
[x y]=meshgrid((-N/2:N/2-1)*delta);
[fx fy]=meshgrid((-N/2:N/2-1)*delta_f);
[XY]=meshgrid(1:N);
W=0.65e-6.*(x.^2+y.^2).^2;
PV=max(max(W))-min(min(W));
RMS=sqrt(sum(sum(W.^2)))/N;
lamda=532e-9;
k=2*pi/lamda;
phi_real=k.*W;
i=a+b.*cos(2*pi*f_x.*x+2*pi*f_y.*y+phi_real);
bg=sum(sum(i))/(N*N);
i1=uint8(255*i);
figureimagesc(i1);
colormap gray
axis square
flag_1=((sqrt((X-N/2).^2+(Y-N/2).^2))>N/2);
flag_2=((sqrt((X-N/2).^2+(Y-N/2).^2)) flag_3=(X>(N/2-15))&(X<(N/2+15));
flag_4=(Y>(N/2-15))&(Y<(N/2+15));
flag=flag_1|flag_2;%|flag_3|flag_4;
flag1=not(flag);
i_P=i.*flag1;
i1=uint8(255/2*i_P);
figureimagesc(i1);
colormap gray
axis square
%%%%%%%%%%%%%%%%%%%%%%%%% 三 求出载频值 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I_P=ft2(i_Pdelta);
[j k]=find(abs(I_P)==max(max(abs(I_P))));
s0=j(1); t0=k(1); % 找出零级频谱坐标
[j k]=find(abs(I_P(1:(N/2-N/128)1:(N/2-N/128)))...
==max(max(abs(I_P(1:(N/2-N/128)1:(N/2-N/128)))))); % 找出负一级频谱坐标
s1=j(1);t1=k(1);
fx0=s0-s1; % 求出载频值
fy0=t0-t1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 四 条纹延拓 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
i_E=(i-bg).*flag1;
% i1=uint8(255*abs(i_E));
% figureimagesc(i1);
% colormap gray
% axis square
for m=1:10
I_E=ft2(i_Edelta);
%
% I1=uint8(255*abs(I_E));
% figureimagesc(I1);
% colormap gray
% axis square
%
%%%%%%%%%%%%%%%%%%% 找出一级和负一频谱坐标 %%%%%%%%%%%%%%%%%%%%%%
[j k]=find(abs(I_E(1:(N/2-N/128)1:(N/2-N/128)))...
==max(max(abs(I_E(1:(N/2-N/128)1:(N/2-N/128)))))); % 在第三象限内找出一级频谱坐标
s11=j(1); t11=k(1);
[j k]=find(abs(I_E((N/2+N/128):N(N/2+N/128):N))...
==max(max(abs(I_E((N/2+N/128):N(N/2+N/128):N))))); % 在第二象限内找出负一级频谱坐标
s22=j(1)+N/2+N/128-1; t22=k(1)+N/2+N/128-1;
%%%%%%%%%%%%%%%%%%%%% 滤波器设计 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
r1=1/16;
H1=((sqrt((X-s11).^2+(Y-t11).^2))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 滤波 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I_E=I_E.*H1;
%%%%%%%%%%%%%%%%%%%%%%%%% 反傅里叶变换 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
i_E=ift2(I_Edelta_f);
i_E=i_E.*flag+(i-bg).*flag1;
end
i1=uint8(255*i_E);
figureimagesc(i1);
colormap gray
axis square
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2668 2012-10-17 10:48 explam-fft.m
----------- --------- ---------- ----- ----
2668 1
- 上一篇:CCI stratege 量化交易策略开发
- 下一篇:时移相位差校正法
相关资源
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 《MATLAB编程第二版)》高清晰PDF版
- 二连杆系统独立PD控制和PD+重力补偿控
- 数字信号处理及MATLAB实现__第二版__学
- 线性拟合仿真-最小二乘法、正交回归
- 最小二乘滤波算法正弦波
- matlab 图像傅里叶变换 (源代码)
- 果蝇参数寻优FOA-LSSVM的完整程序
- matlab二代身份证文字数字切割识别
- 基于MATLAB的傅里叶级数可视化
- TOA定位两步加权最小二乘MATLAB算法程
- hog+svm图像二分类
- Matlab关于蒙特卡洛仿真资料讲义和程
- matlab开发-果蝇优化算法第二版
- Matlab绘图总结二维,三维显示等
- 《MATLAB程序设计教程(第二版)》-电
- matlab实现一维和二维离散小波变换,
- ASM二维图像分割MATLAB代码
- USB CAN 二次开发源代码 matlab版本Demo
- matlab实现六维力传感器参数辨识
- 音频信号编码成PCM
- Matlab二维矩阵(三维图像)寻找波峰
- 基于多元线性回归的分析
- 各种最小二乘法总结算法+matlab源码
- Stephen J.Chapman《MATLAB 编程第二版》
- 空间二连杆机器人的动力学建模及其
- 各种最小二乘法汇总算例及MATLAB程序
- 二维图像OMP算法代码
-
二级倒立摆_simuli
nk.rar - MATLAB图像处理
评论
共有 条评论