精华内容
下载资源
问答
  • MATLAB数据重采样

    2009-05-10 10:29:11
    电力系统分析中间用MATLAB分析故障数据时,可能给定数据采样频率与处理频率不符,这时的处理方式
  • Y(n) = X(alpha*n),其中 alpha 是重采样间隔。 例如,如果 X 是以每秒 1000 个样本进行采样的数据,并且您希望将其转换为等效于每秒 1100 个样本,请使用 alpha=1000/1100 (.9091); 对于每秒 800 个样本,使用 ...
  • 光谱数据重采样

    2018-10-11 10:21:11
    matlab代码,用于高光谱、多光谱数据重采样,内容清晰
  • 基于双线性内插法的图像重采样,程序使用matlab编写,可对原始图像做任意方式的分辨率变换。 在图像的放大和缩小的过程中,需要计算新图像像素点在原图的位置,如果计算的位置不是整数,就需要用到图像的内插,我们...
  • 这个简单的函数使用快速、完全矢量化的处理重新采样向量或矩阵以进行抽取,并提出了不同的方法来计算原始数据的结果样本:平均值(默认)、中值、总和(对累积数据有用)、最小值或最大值.
  • matlab重采样

    千次阅读 2016-02-28 21:35:00
    au = resample(au, newfs, oldfs); 转载于:https://www.cnblogs.com/deepblueme/p/5225698.html

    au = resample(au, newfs, oldfs);

    转载于:https://www.cnblogs.com/deepblueme/p/5225698.html

    展开全文
  • C编写的重采样代码

    2014-12-18 15:16:18
    本程序是编写的C实现的重采样代码,可以实现信号的重采样。并且可以提取出重采样的算法
  • MATLAB 灰度重采样--双线性插值法

    千次阅读 2020-10-17 16:58:49
    MATLAB 灰度重采样–双线性插值法 本文主要是借鉴,博客园jianguo_wang老师的文章,总结的自我笔记。为的是方便自己以后查看,仅此而已。十分感谢! 重新取样将会在缩放图片时更改图像数据的数量。当缩减像素取样...

    MATLAB 灰度重采样–双线性插值法

    本文主要是借鉴,博客园jianguo_wang老师的文章,总结的自我笔记。为的是方便自己以后查看,仅此而已。十分感谢!

    重新取样将会在缩放图片时更改图像数据的数量。当缩减像素取样(减少像素的数量)时,将从图像中删除一些信息。当向上重新取样(增加像素的数量或增加像素取样)时,将添加新的像素。可以指定插值算法来确定如何添加或删除像素。

    如图
    在这里插入图片描述
    取(x,y)点周围的4邻点,在y方向(或x方向)内插两次,再在x方向(或y方向)内插一次,得到(x,y)点的值f(x,y)。
    设4个邻点分别为(i,j),(i,j+1),(i+1,j),(i+1,j+1),i代表左上角为原点的行数,j代表列数。设α=x-i,β=y-j,过(x,y)作直线与x轴平行,与4邻点组成的边相交于点(i,y)和点(i+1,y)。先在y方向内插,计算交点的值f(i,y)和f(i+1,y)。f(i,y)即由f(i,j+1)与f(i,j)内插计算而来。
    在这里插入图片描述
    在这里插入图片描述
    理解双线性插值法的低通滤波性
    当图像放大的时候,插值出来的象素是按照周围的4个原始象素的值线性平均得到的,如果原图像中存在一个突变点(高频噪音点),那么在插值之后,该高频点的特性被分摊到了它周围的插值点上。

    展开全文
  • 重采样介绍 音频的重采样一般可能用于DSP等数字信号处理领域,比如将原本的48k采样率的原信号,通过重采样(降采样)改为44.1k。即为将每1秒的48000个点的离散信号,改为44100个点的离散信号。 如下图,蓝色“□”...

    模拟信号和离散信号(数字信号)

    在音频领域的模拟信号是指存在于自然界中的原始音频,有2个连续指标——时间连续、幅值连续。

    数字信号是指对音频进行采样后,在计算机中通过离散信号来代表原始的模拟信号。关于数字信号、采样,数字信号和模拟信号的关系具体可参见以下这篇文章所表述的。

    https://blog.csdn.net/weixin_42316458/article/details/106288052

    重采样介绍

    音频的重采样一般可用于DSP等数字信号处理领域,也就是对数字信号进行处理。比如将原本的48k采样率的原信号,通过重采样(降采样)改为44.1k。即:将原本每1秒内48000个点的离散信号,改为44100个点的离散信号。

    如下图,蓝色“□”表示原采样率时,在0~10时间里面输出11个点。

    而如果在需要降低采样率时,如红色“○”,需要在0~6,总共7个点内,需要减少输出点数,实际只需输出6个点。所以需要步长>1的降采样。

    同理升采样,如橙色“*”,在0~4,总共5个点内,需要增加输出点数,实际需要输出6个点。所以需要步长<1的升采样。

    通过这样的方式改变一定时间内的输出点数(采样点),从而达到改变采样率的目的。

    线性插值

    按照以上所表述的改变一定时间内的输出点数,可通过线性插值的方式达到。以下介绍线性插值。

    设原数据波形为{0, 1, 2, 3, 4, 5,……},现要根据步长=0.8进行升采样,此时,此时可在运用以下线性插值方式进行数据计算:

    计算公式可以理解为:y=(y1-y0)*fre + y0;y1=第二个点,y0=第一个点,fre=(x-x0)/(x1-x0)。

    通过计算输出,输出前5个点的数据依次为{0, 0.8, 1.6, 2.4, 3.2, 4……}在原4个点输出了5个点。

    MATLAB验证

    以下MATLAB代码,把一个立体声(一个L,一个R来存放,因为Usb Audio播放时,存放就是一L一R存放的)的原始wav通过重采样,计算出不同步长下的wav,可直接在matlab 2016a中运行验证。

    可通过修改重采样步长查看验证结果:

    clf;clear;
    
    x=0:1:100;              %源数据长度
    step = 1.2;             %冲采样步长
    
    y=sin(2*pi*x/48);       %生成正弦波1kHz
    subplot(411);plot(x,y);xlabel('单声道正弦波——原波形');axis([0,100,-1.1,1.1]);
    ySoc = zeros(1,length(x)*2);
    for i=0:length(x)-1
        ySoc(i*2+1) = y(i+1);   %把一个正弦波改为立体声
        ySoc(i*2+2) = y(i+1);   
    end
    subplot(412);plot(ySoc);xlabel('一左、一右声道交替放置正弦波——原波形');axis([0,200,-1.1,1.1]);
    yOutL = zeros(1,length(x));
    yOutR = zeros(1,length(x));
    readPt = 0;
    yOutL_Count = 1;
    yOutR_Count = 1;
    yLs0 = ySoc(1);
    yRs0 = ySoc(2);
    %% 循环计算
    for i=0:round(length(ySoc)/4)-2
    %% s0,s1 calc.
        yLs1 = ySoc(3+i*4);
        yRs1 = ySoc(4+i*4);
        readPt = readPt + step;
        
        if((floor(readPt + step) - floor(readPt)) == 1)
            %Nomal
            yOutL(yOutL_Count) = (yLs1 - yLs0)*(readPt-floor(readPt)) + yLs0;
            yOutL_Count = yOutL_Count+1;
            yOutR(yOutR_Count) = (yRs1 - yRs0)*(readPt-floor(readPt)) + yRs0;
            yOutR_Count = yOutR_Count+1;
        elseif((floor(readPt + step) - floor(readPt)) == 0)
           %step < 1. need repeat 1 Point socrice data.
            yOutL(yOutL_Count) = (yLs1 - yLs0)*(readPt-floor(readPt)) + yLs0;
            yOutL_Count = yOutL_Count+1;
            yOutR(yOutR_Count) = (yRs1 - yRs0)*(readPt-floor(readPt)) + yRs0;
            yOutR_Count = yOutR_Count+1;
            readPt = readPt + step;
            yOutL(yOutL_Count) = (yLs1 - yLs0)*(readPt-floor(readPt)) + yLs0;
            yOutL_Count = yOutL_Count+1;
            yOutR(yOutR_Count) = (yRs1 - yRs0)*(readPt-floor(readPt)) + yRs0;
            yOutR_Count = yOutR_Count+1;
        elseif((floor(readPt + step) - floor(readPt)) == 2)
           %step > 1. need jump 1 piont source data.
    
        end
    %% s1,s2 calc.
        yLs2 = ySoc(5+i*4);
        yRs2 = ySoc(6+i*4);     
        readPt = readPt + step;
    
        if((floor(readPt + step) - floor(readPt)) == 1)
            %Nomal
            yOutL(yOutL_Count) = (yLs2 - yLs1)*(readPt-floor(readPt)) + yLs1;
            yOutL_Count = yOutL_Count+1;
            yOutR(yOutR_Count) = (yRs2 - yRs1)*(readPt-floor(readPt)) + yRs1;
            yOutR_Count = yOutR_Count+1;
        elseif((floor(readPt + step) - floor(readPt)) == 0)
           %step < 1. need repeat 1 Point socrice data.
            yOutL(yOutL_Count) = (yLs2 - yLs1)*(readPt-floor(readPt)) + yLs1;
            yOutL_Count = yOutL_Count+1;
            yOutR(yOutR_Count) = (yRs2 - yRs1)*(readPt-floor(readPt)) + yRs1;
            yOutR_Count = yOutR_Count+1;
            readPt = readPt + step;
            yOutL(yOutL_Count) = (yLs2 - yLs1)*(readPt-floor(readPt)) + yLs1;
            yOutL_Count = yOutL_Count+1;
            yOutR(yOutR_Count) = (yRs2 - yRs1)*(readPt-floor(readPt)) + yRs1;
            yOutR_Count = yOutR_Count+1;
        elseif((floor(readPt + step) - floor(readPt)) == 2)
           %step > 1. need jump 1 piont source data.
           
        end
        yLs0=yLs2;      %更新s0
        yRs0=yRs2;
    end
    subplot(413);plot(yOutL);xlabel('冲采样后 L 声道正弦波');axis([0,100,-1.1,1.1]);
    subplot(414);plot(yOutR);xlabel('冲采样后 R 声道正弦波');axis([0,100,-1.1,1.1]);
    

    本人新建了个QQ群,如想进一步沟通可添加:947187213。

    展开全文
  • matlab采样函数,上采样/下采样,插值/抽取

    万次阅读 多人点赞 2018-07-10 21:34:16
    最近实验需对不同长度的数据进行采样点数统一的处理,由于数据长短不一,最后需要规整成一样的长度,不是整数倍的抽取或者插值,所以处理比较麻烦。 现在的考虑有三种方式: (1)采样数据中长度最小值,对其他...

    最近实验需对不同长度的数据进行采样点数统一的处理,由于数据长短不一,最后需要规整成一样的长度,不是整数倍的抽取或者插值,所以处理比较麻烦。

    现在的考虑有三种方式:

    (1)采样数据中长度最小值,对其他数据进行抽取降采样,也就是图像中的下采样;

    (2)采样数据中长度最大值,对其他数据进行插值升采样,也就是图像中的上采样;

    (3)对一类数据长度求取均值,采用均值对同类数据进行抽取降采样或者插值上采样。

    声明:以下部分关于数据采样的内容来自于https://blog.csdn.net/u012715795/article/details/51151278点击打开链接

    书上看到几个有关采样的函数,收藏了以备不时之需。

    dyaddown
    功能:对时间序列进行二元采样,每隔一个元素提取一个元素,得到一个降采样时间序列。
    格式:
    1.y = dyaddown(x, EVENODD)
    当EVENODD=0时,从x中第二个元素开始采样(偶采样);当EVENODD=1时,从x中第一个元素开始采样(奇采样)。
    2.y = dyaddown(x)
    EVENODD缺省,按EVENODD=0

    dyadup
    功能:对时间序列进行二元插值,每隔一个元素插入一个0元素,得到一个时间序列。
    格式:
    1.y = dyadup(x, EVENODD)
    当EVENODD=0时,从x中第二个元素开始采样(偶采样);当EVENODD=1时,从x中第一个元素开始采样(奇采样)。
    2.y = dyadup(x)
    EVENODD缺省,按EVENODD=0

    interp
    功能:对时间序列进行整数倍插值,使得时间序列曲线更光滑。
    格式:
    1.y = interp(x, r)
    在x中插入一些数据,使得插值后的序列y的长度为x的r倍。
    2.y = interp(x, r, l, alpha)
    插值后得到的序列y的长度为x的r倍。
    3.[y, b] = interp(x, r, l, alpha)
    插值后同时得到一个低通插值滤波器的系数,长度为2rl+1.
    说明:
    x--时间序列
    r--插入点的倍数
    l--插值滤波器长度
    alpha--滤波器的截止频率,0<alpha<=1,假设原序列的采样频率之半为1,缺省时l=4,alpha=0.5.
    y--插值后得到的时间学列
    b--低通插值滤波器的系数,长度为2rl+1

    downsample
    功能:对时间序列重采样,在原时间序列中等间隔地取出一些项,得到新序列。
    格式:
    1.y = downsample(x, n)
    从第一项开始,等间隔n对x采样,得到的序列为y。
    2.y = downsample(x, n, phase)
    从第phase+1项开始,等间隔n对x采样,得到的序列为y,而0<=phase<n.


    decimate
    功能:对时间序列进行整数倍采样处理,使得时间序列的长度降低。
    格式:
    1.y = decimate(x, r)
    将时间序列x的采样频率降低为原来的1/r,即length(y)=length(x)/r。在抽取之前,默认地采用了8阶chebyshevI型低通滤波器压缩频带。
    2.y = decimate(x, r, n)
    采用n阶chebyshevI型低通滤波器。
    3.y = decimate(x, r, ‘fir’)
    采用30阶的FIR型低通滤波器来压缩频带,对时间序列进行整数倍抽取。
    4.y = decimate(x, r, n, ‘fir’)
    指定当对时间序列进行整数倍抽取的时候,采用n点FIR型低通滤波器来压缩频带,对时间序列进行整数倍抽取。
    说明:
    x--时间序列
    r--采样要降低的倍数
    n--指定所采用的chebyshevI型低通滤波器的阶数
    ‘fir’--FIR滤波器


    resample
    功能:对时间序列进行重采样。
    格式:
    1.y = resample(x, p, q)
    采用多相滤波器对时间序列进行重采样,得到的序列y的长度为原来的序列x的长度的p/q倍,p和q都为正整数。此时,默认地采用使用FIR方法设计的抗混叠的低通滤波器。
    2.y = resample(x, p, q, 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为所使用的滤波器的系数向量。
    说明:
    x--时间序列
    p、q--正整数,指定重采样的长度的倍数。
    n--指定所采用的chebyshevIIR型低通滤波器的阶数,滤波器的长度与n成比列。
    beta--设计低通滤波器时使用Kaiser窗的参数,缺省值为5.

    文章标签: matlab语音

    展开全文
  • 重采样matlab代码概述 该存储库包含用于分析数据和生成图形的 Matlab、R 和 Python 代码,在 Cadwell 等人,细胞类型组成和回路组织在幼年小鼠新皮层中的克隆相关兴奋性神经元,eLife(2020)。 执照 版权所有 ...
  • 利用Matlab采样数据进行曲线拟合

    千次阅读 2019-03-14 08:11:42
    我们在做数据处理或者采集的时候难免会遇到实际值和采样结果之间存在误差的情况,这就需要我们通过对实验结果进行曲线拟合,从而得到较为准确的结果。 这几天在做变换器的时候就遇到了处理器采样结果和实际输入电压...
  • 重采样matlab代码活动计数 介绍 许多研究领域使用加速度计来研究人们的活动,包括睡眠、久坐行为和身体活动。 Actigraph 是最常见的研究级加速度计之一。 Actigraph 加速度计包括 ActiLife 是一款闭源软件,可生成 ....
  • 本文演示如何对时间表中的数据进行重采样和聚合。时间表是一种表类型,用于将时间与每一行进行关联。时间表可以存储具有不同数据类型和大小的列向数据变量,前提是每个变量的行数相同。通过 retime 函数,您可以对...
  • 使用样条插值进行重采样。 plot(tee,rum,'.-','DatetimeTickFormat','MM/dd/yy') title('INR') xlim([Date(1) Date(end)]) hold off 每次INR读数确定何时必须对患者进行测试。使用diff构建测量之间的时间间隔的向量...
  • 多个式重采样matlab代码通过传感器融合进行状态估计 数据采集 加速度计和GPS数据是通过Matlab Mobile App使用移动电话收集的。 超声波传感器数据是通过通过Arduino Mega安装在x轴上具有感应方向的超声波传感器来收集...
  • 考虑的程序是:重叠块引导程序 (Künsch)、固定引导程序 (Politis-Romano) 和季节性块引导程序 (Politis)。 如果块大小等于 1,则应用 iid Bootstrap (Efron)。 所有程序都处理向量时间序列。
  • 文档中.m文件为将txt文件的点云数据进行栅格化,直接可以运行。
  • matlab采样函数

    千次阅读 2020-02-10 22:10:04
    对时间序列进行二元采样,每隔一个元素提取一个元素,得到一个降采样时间序列。 格式: 1.y = dyaddown(x, EVENODD) 当EVENODD=0时,从x中第二个元素开始采样(偶采样);当EVENODD=1时,从x中第一个元素开始采样...
  • 宽带数字下变频和重采样处理Matlab仿真与FPGA实现.pdf
  • 重采样matlab代码脑电图用户识别 使用 EEG 生物识别技术的基于一维卷积 LSTM 的用户识别 该存储库用于论文“使用一维卷积长短期记忆神经网络的基于 EEG 的用户识别系统”。 PhysioNet EEG 运动/图像数据集用于网络...
  • 我们希望为模型准备或分析的数据是完美的。但是数据可能有缺失的值、异常值和复杂的数据类型。我们需要做一些预处理来解决这些问题。但是有时我们在分类任务中会遇到不平衡的数据。因为在我们的生活中,数据不可能是...
  • 原始数据原来分辨率0.05度,现在需要按照半月合成,即得到1年24期数据,结果转投影成1984,重采样成0.5度。 考虑用python进行批量操作,直接得到最终asc结果,可以在matlab进行批量操作。除了最大值合成,还可以平均...
  • 这个包包含一组用于推论统计的函数使用重采样方法。 数据被组织成数组,因此可以一次运行多个测试(每秒最多一百万个测试)。 该软件包支持使用配对或非配对 t 检验或重复测量方差分析(一种方法和两种方法)的引导...
  • 重采样率也可以是任何实数。 该子功能在以下情况下很有用- 从智能手机获得的数据的采样频率与指定的略有不同(例如,您想将在 101.23 Hz 获得的信号转换为 100 Hz 的信号)。 - 从多部智能手机获得的数据集的采样...
  • 通过在重采样之前在每列的开头和结尾添加数据的反射和镜像副本,可以减少最终影响。 请注意,Y 末尾的点(和/或开头,如果 SHIFT 为负)将被外推到 X 的边界之外。 SINCRESAMPLE 是以下讨论的方法的概括: T....
  • 多普勒失真信号重采样Matlab仿真分析 应用场景 水声通信指的是使用声信号在水中传输数据。相对而言,电磁信号在水中吸收严重衰减过快,光信号受水中悬浮颗粒的影响,也无法完成远距离传输。这两种信号的传播距离...
  • 该资源使用ffmpeg对pcm音频进行重采样(频率变换),目前这个demo能够实现单通道重采样为双通道的音频数据,使用的是ffmpeg的重采样接口进行不是单纯的字符串操作。如果需要学习参考重采样方面的可以查看我的关于重采样...
  • 非平衡数据对算法的影响及应对措施。 首先加载数据集,并拆分训练集和测试集。 数据集在这里下载:数据集下载.(信用卡欺诈比赛). import numpy as np import pandas as pd from sklearn.preprocessing import ...
  • 用于计算可信赖度p值的重采样策略的MATLAB代码 可信度利用基于标签重排的重采样技术来构建空模型。 标签在嵌入的点上随机地均匀地重新随机排列,其位置在缩小的空间中保持不变。 对于每个随机重排(默认为1000),...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,579
精华内容 1,031
关键字:

matlab数据重采样

matlab 订阅