2020-12-28

matlab关于光栅阵列信号处理笔记
1、文件读取方法(针对二进制)
(1)flag=fopen(‘地址’);
(2)data1=fread(’ ');
2、数据的分割
rehsape(data,n,length(data)/n) %按照光栅个数进行分割,使光栅的信号和光栅一一对应
3、快速差分处理
[m,n]=size(data);取矩阵的的维度数值;
循环差分
for i=1:n;
for j=1:m-1; %移动差分1, 还可以根据实际移动差分10
data10(j,i)=data(j+1,i)-data(j,i);
end
end
4、傅里叶变化
fs=5000; % 采样频率;
L=length(data); % 数据程度
y=fft(data10);
y=20*log(abs(y))/log(10);
f=[0:(fs/L):fs/2];
y=y(1:length(f));

%取频率的能量值
for t=0:1:39;
A=10+2*t ; %从10开始,2Hz 步进;
B=A/(fs/L)+1;
Z(t+1,j)=y(B); %取FFT变化后,某个频率的信号功率,涉及一维数据的存储;
end

5、矩阵的按列累加
for t=1:2999 %按数据情况定
p(t,:)=sum(abs(s(1+(t-1)100:100t,:)));
end
pause(0.05) ,%暂停,可以结合画图,按时间按时间间隔展示;
for g=1:2999;
pause(0.05);
bar(p(g,: )); %以柱状图的形式轮播矩阵p的数值;

6、高通滤波
B=5; 截止频率5Hz;
fs=5000; 采样频率;
b=fir1(2000,B/(fs/2),‘high’);
a=filter(b,1,data10(:,1));

%涉及二维数据的
for=1:39
data_after_fir1(:,i)=filter(b,1,data10(:,i)); %将矩阵的数据单独每列进行滤波,并存储。
data_after_fir1(:,i)=filter(b,1,data20(:,i));
data_after_fir1(:,i)=filter(b,1,data30(:,i));
end

7、对于数据的整列/整行取均值
p=max(data,[ ],1);取矩阵对应不同列的最大值;对于矩阵不同行的则将1,改为2;
p=min(data,[ ],1); 取矩阵对应不同列的最小值;同上。
[m , n ]=max(data,[],1) ;m为矩阵的值,n为值对应的位置,

mean(data);取均值

8、数轴的设置
axis([-inf,inf,-inf,inf]); %inf代表无穷大(正无穷和负无穷),因此可以随便改变。

9、三维
imagesc(data); %三位画图瀑布图;

10、其他

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值