Matlab-resample

1.resample

步骤1:低通滤波

首先,resample函数会应用一个低通滤波器,以滤除输入信号中高于重采样频率的频率成分。这是为了防止混叠现象,即重采样后出现在新采样率频带之外的频率成分。在MATLAB中,默认使用一个FIR滤波器进行低通滤波,滤波器的设计根据重采样因子和滤波器长度来确定。此外,还要补偿由于滤波带的延时。

**步骤2:插值

经过低通滤波后,resample函数会对滤波后的信号进行插值操作。插值的目的是在重采样后的新采样率上生成新的信号样本。通常,resample函数使用一种线性插值方法,即使用相邻样本的加权平均值来生成新的样本。具体的插值方法可能会根据重采样因子和滤波器的特性而有所不同。

默认使用的是线性插值,但也支持其他插值方法,例如立方插值、样条插值等。

**步骤3:降采样

插值后,resample函数会按照指定的重采样因子对信号进行降采样。降采样是指减少信号的采样率,即减少新采样率上的样本数量。通常,降采样是通过简单地跳过一定数量的输入样本来实现的。

2.接口说明

3.例子

复制代码
tx = 0:6:360-3;
x = sin(2*pi*tx/120);

ty = 0:4:360-2;
[y,by] = resample(x,3,2);

plot(tx,x,'+-',ty,y,'o:')
legend('original','resampled')

其他:

①.downsample

downsample函数对输入信号进行简单的降采样,通过跳过一定数量的输入样本来减少输出样本的数量。

它是一种最常见的降采样方法,使用的是取样率为M的均匀抽样。例如,使用downsample(x, M)将输入信号x的采样率降为原来的1/M。

②.decimate

decimate函数在降采样之前,先进行一个低通滤波操作。它使用一个默认的FIR滤波器来滤除输入信号中高于降采样频率的频率分量,以避免混叠。因此,decimate函数在执行降采样的同时,还会对信号进行抗混叠滤波。

相关推荐
禹凕1 小时前
Python编程——进阶知识(多线程)
开发语言·爬虫·python
铉铉这波能秀1 小时前
LeetCode Hot100数据结构背景知识之字典(Dictionary)Python2026新版
数据结构·python·算法·leetcode·字典·dictionary
蜡笔小马1 小时前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
IOsetting1 小时前
金山云主机添加开机路由
运维·服务器·开发语言·网络·php
唐梓航-求职中1 小时前
编程-技术-算法-leetcode-288. 单词的唯一缩写
算法·leetcode·c#
仟濹1 小时前
【算法打卡day3 | 2026-02-08 周日 | 算法: BFS】3_卡码网99_计数孤岛_BFS | 4_卡码网100_最大岛屿的面积DFS
算法·深度优先·宽度优先
Ll13045252981 小时前
Leetcode二叉树part4
算法·leetcode·职场和发展
林开落L1 小时前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
牛奔1 小时前
Go 是如何做抢占式调度的?
开发语言·后端·golang
颜酱1 小时前
二叉树遍历思维实战
javascript·后端·算法