声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2485|回复: 5

[经典算法] 频率波数域分析及其滤波

[复制链接]
发表于 2016-11-1 21:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我用Matlab作了分析,但是效果不好。Matlab学的不怎么好,哪位大神可以帮忙看看,感激不尽。
下面是我的Matlab程序,看看能修改下吗?
clear;clc;
%时间维度傅里叶变换
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a=load('3d_9saomiaoyu_1.csv');
delta_t=2e-7;%采样间隔
T=1e-4;%采样长度
t=0:delta_t:T;%时域采样点
L=length(t);
n=2^nextpow2(L);
fs=1/delta_t;%采样频率
delta_f=1/T;%频率间隔
f=fs*((0:n-1))/n;
%f=0:delta_f:fs;%频域采样点
%对所有点的时间维度作傅里叶变换,得到u(x,y,f)
for i=1:5776
b(i,:)=fft(a(i,:),n);
A(i,:)=abs(b(i,:));%取模值
end
%plot(f,abs(b));

%波场数据处理
%A=load('3d_9saomiaoyu_1.csv');%0—0.15m范围(x,y)点在不同时刻下Z方向的位移值
%获取不同时刻下的波场数据
%for i=1:201%时间间隔为5e-7
for l=1:512%时间间隔为2e-7
c_l=A(:,l);%提取i时刻不同点的位移值
g{l}=reshape(c_l,76,76);%将矩阵c_i重排成76*76的二维矩阵,并置于元胞数组内
end
%C=zeros(76,76,201);
C=zeros(76,76,512);
for k=1:512
    C(:,:,k)=g{k};
end
%波场绘图
delta_y=2e-3;
Y=0.15;
y=0:delta_y:Y;
x_start=0;
X=0.15;
L=length(y);%信号空域长度
delta_x=2e-3;
x=x_start+(0:L-1)*delta_x;
a2=abs(C(:,:,29));
figure;
imagesc(x,y,a2);
set(gca,'Ydir','normal')
title('250kHz时的波场图')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%空间—波数变换
Ks_x=1/X;%采样波数1
Ks_y=1/Y;%采样波数2
L1=length(y);%信号空域长度
NFFT=2^nextpow2(L1);
A2=fft2(a2,NFFT,NFFT);%傅里叶变换
kx=Ks_x/2*linspace(0,1/delta_x,NFFT/2+1);
ky=Ks_y/2*linspace(0,1/delta_y,NFFT/2+1);
S=abs(A2);

%D=C(:,1:129);
figure;
imagesc(S);
set(gca,'Ydir','normal');
%D=fftshift(S);
%imagesc(kx,ky,D);
%set(gca,'Ydir','normal');
回复
分享到:

使用道具 举报

 楼主| 发表于 2016-11-1 21:14 | 显示全部楼层
这是Matlab出现的图
1.jpg
2.jpg
发表于 2016-11-2 09:01 | 显示全部楼层
间隔再小一点呢?
 楼主| 发表于 2016-11-2 10:04 | 显示全部楼层
陌影 发表于 2016-11-2 09:01
间隔再小一点呢?

好的,我看看

点评

怎么样 试了吗  详情 回复 发表于 2016-11-2 15:01
发表于 2016-11-2 15:01 | 显示全部楼层

怎么样  试了吗
发表于 2016-11-3 09:34 | 显示全部楼层
有什么新结果了吗
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-28 12:58 , Processed in 0.150319 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表