matlab中resample重采样函数
resample函数
对时间序列进行重采样
格式:
1、y=resample(x,p,q)
x–待重采样的时间序列;
p–重采样之后目标频率;
q–待重采样的时间序列频率
采用多相滤波器对时间序列进行重采样,得到的序列y的长度为原来的序列的长度的p/q倍,p和q都为正整数。此时,默认地采用使用FIR方法设计的抗混叠的低通滤波器
2、y=resample(x,p,q,n)
n–滤波器长度与n成正比;
采用chebyshevIIR型低通滤波器对时间序列进行重采样,滤波器的长度与n成比例,n缺省值为10.
3、y=resample(x,p,q,n,beta)
beta为设置低通滤波器时使用Kaiser窗的参数,缺省值为5.
4、y=resample(x,p,q,b)
b为重采样过程中滤波器的系数向量。
5、[y,b]=resample(x,p,q)
输出参数b为所使用的滤波器的系数向量。
(1)在实际操作中当x端点处的值与零的偏差较大时,可能会导致y出现意外值;
如图
clc
clear
file= readmatrix("7777.csv");
data=[];
for i=1:size(file,2)num=file(:,i);data=[data;num];
end
data1=resample(data,1,10,10,5);
x=1:1:length(data);
x1=1:10:length(data);
figure;
plot(x,data,'b-')
hold on;
plot(x1,data1,'g-')
局部数据放大之后
上述问题,我查了一些资料,可以按照参考这个博主的解决方法:学习如何在matlab用带通滤波器进行滤波
我想的是,直接在开头和结尾添加少量数据,然后在最后的结果中将这些数据删除掉,,这样的话,虽然还是有一些问题,但应该问题不大。
clc
clear
file= readmatrix("7777.csv");
data=[];
for i=1:size(file,2)num=file(:,i);data=[data;num];
end
%在原始数据首尾都添加1000条数据,我的原始数据有86.4万条,所以去的比较多
data_1=[data(1:1000);data;data(length(data)-999:length(data))];
data1=resample(data_1,1,10,10,5);
%将重采样之后的数据,删除掉首尾添加的数据
data1_1=data1(101:length(data)/10+100);
x=1:1:length(data);
x1=1:10:length(data);
figure;
plot(x,data,'b-')
hold on;
plot(x1,data1_1,'g-')
绘图结果
(2)当重采样的信号出现混叠效应时,这是由相对较大的主瓣和较低的旁瓣衰减导致的,此时增加n的值,可以削减这个现象,较长的窗口具有较窄的主瓣,并更好地衰减了混叠效果,同时也会衰减信号。
(3)当beta过大时,会产生较宽的主瓣,生成大量伪像。
matlab中resample重采样函数相关推荐
- 【MATLAB库函数系列】resample(重采样函数)的C语言实现【姊妹篇2纯C语言实现】
resample的原理 MATLAB中resample函数最简单的参数如下: y = resample(x,p,q) 以p/q乘以原始采样速率对输入序列x重新采样.resample在x上应用抗锯齿FI ...
- Matlab中的lsqcurvefit函数的使用
Matlab中的lsqcurvefit函数的使用 lsqcurvefit函数 调用示例 lsqcurvefit函数 非线性曲线拟合是已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数 ...
- Matlab:Matlab中常用的函数、案例详细攻略
Matlab:Matlab中常用的函数.案例详细攻略 目录 常用函数 1.与文件相关 2.MATLAB GUI不同控件函数间变量传递方法 常用函数 Matlab中的bwmorph函数解释 bwmorp ...
- matlab作动态函数曲线图,[转载]Matlab中使用Plot函数动态画图方法总结
本帖最后由 sonictl 于 2012-12-31 12:18 编辑 请删除我 清楚超靠靠靠 没办法,一会儿限制这不能发表,那不能发表的.... [转载]Matlab中使用Plot函数动态画图方法总 ...
- python实现Matlab中的circshift函数
circshift是Matlab中矩阵循环移位函数,具体使用参照该链接. 但是python中并没有封装好的该函数,因此需要自己实现. 思路:将矩阵分为两部分,然后按照自己的需要堆叠在一起就可以了. n ...
- matlab的数学函数,matlab中常见数学函数的使用
matlab中常见数学函数的使用 MATLAB 基本知识 Matlab 的内部常数 pi 圆周率 exp(1) 自然对数的底数 e i 或 j 虚数单位 Inf 或 inf 无穷大 Matlab 的常 ...
- matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数
Matlab中的inline函数 1.有时为了描述某个数学函数的方便,可以用inline()函数来直接编写该函数,形式相当于M-函数,但无编写一个真正的MATLAB文件,就可以描述出某种数学关系.其调 ...
- Matlab中的eig函数和Opecv中eigen()函数的区别
奇异值分解的理论参见下面的链接 http://www.cnblogs.com/pinard/p/6251584.html https://blog.csdn.net/shenziheng1/artic ...
- MATLAB中神经网络train函数使用说明
MATLAB中神经网络train( )函数使用说明 函数的语法格式如下: [net, tr]=train(net, P, T, Pi, Ai): train( )函数用于训练创建好的感知器网络,事实上 ...
最新文章
- 生物学专业_北京交通大学617生物化学20082011历年考研专业课真题汇编
- python flask源码解析_用尽洪荒之力学习Flask源码
- couldn't find native method
- 深入理解Android中View
- 004_Jsp九大内置对象
- 【小米笔试题】二分查找算法的变形
- 只加皱纹是不行的,教你画出不同年龄段的人物
- 斐波那契数列前n项和 c++_蹲在马桶看算法(Day8—LeetCode之NO.509 斐波那契数列)...
- free -m 下的含义
- SpringCloud工作笔记085---SpringBoot项目中防止跨站脚本攻击功能添加
- 项目功能介绍 非常有用
- 反编译获取任何微信小程序源码——看这篇就够了
- 软件测试项目案例.pdf,最经典软件测试案例.pdf
- windows server 2016 由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系。
- HTTP和MQTT协议实践
- 十一、Spring Boot整合Redis(一)
- 车内静谧性超越埃尔法?走进腾势D9身价上亿的NVH实验室
- vue3+百度地图:加载百度地图去除logo
- 成都java开发学习要多久
- IDEA跳至行首行末快捷键