matlab空间重采样,matlab 重采样后FFT

大家好,课题涉及到光谱数据先转换到波数空间,再重采样,最后做FFT得到不同深度的信息。现在自己编程用'spline'插值,直接fft的数据不行,怎么在插值后重采样?下面是我的程序:(附件里是原始波长数据的txt文档)clear all;clc;t=0:2047;

tt=0:0.1:2047;

load G:\z1.txt;

y1=z1;

y2=hilbert(y1);  %y1希尔伯特变换

xr=real(y2);

xi=imag(y2);

P1=atan2(xi,xr);    %y1包裹相位

phase1=unwrap(P1);  %y1解包裹相位

load G:\z2.txt;

y3=z2;

y4=hilbert(y3); %y2希尔伯特变换

xr=real(y4);

xi=imag(y4);

P2=atan2(xi,xr);%y2解包裹相位

phase2=unwrap(P2);%y2解包裹相位

phase3=phase2-phase1;%y1和y2相位差

phase4=floor(2*3.14*200000/1260);%初始相位

phase=phase3+phase4;

lamda=4*3.14*100000./phase;%波长

% figure(6)

% plot(t,lamda,'r')

% title '波长图'

figure

A=sort(lamda,'ascend'); %波长升序排序

daA=max(A);

xiA=min(A);

w=min(A):0.005:max(A)

plot(A,y1);

title('波长空间')

k=2*3.14./lamda;%波长波数转换

B=sort(k,'ascend'); %波数降序排序

figure

plot(B,y1);

title('k空间')

y4=abs(fft(y1));%对y1做fft后取绝对值

figure

plot(B,y4);

title('插值前FFT')

dak=max(B);

xik=min(B);

x=xik:0.00000002:dak;

y5=interp1(B,y1,x,'spline');

figure

y6=abs(fft(y5));

plot(y6)

title ‘插值后FFT’

a70cbf5f56cb187f20fb09bae08ed3de.gif

2018-6-18 19:24 上传

点击文件名下载附件

13.95 KB, 下载次数: 5

a70cbf5f56cb187f20fb09bae08ed3de.gif

2018-6-18 19:24 上传

点击文件名下载附件

14.14 KB, 下载次数: 4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值