通常我们在做处理信号的时候,会需要使用重采样来提高采样率是信号能够跟好的分析及处理。

具体在语音处理的领域,我们有专用的函数,但是在图像领域的插值算法同样适用于语音的重采样。

一般有三种常用的方法来进行插值:

1. 临近插值法

2. 线性插值法

3. 立方插值法

对于语音信号当然我们还可以使用平方插值法,与图像不同,分块的语音信号,如果在边沿过度不平滑时会导致听觉上的问题,比如有兹兹的噪声或者不连贯感。

先写上:三个插值函数

线性:

function signal_out=LinearResample(signal_in,length_desire,sample_last)

length_desire=length_desire+1; % For Padding

signal_append=[sample_last(end-1:end);signal_in];

signal_in=[sample_last(end);signal_in];

length_signal=length(signal_in);

size_step=(length_signal-1)./(length_desire-1);

signal_out=zeros(length_desire-1,1);

for i=2:length_desire

x(2,1)=ceil(round(((i-1).*size_step+1)*10)./10)+1;

x(1,1)=x(2,1)-1;

y=signal_append(x);

c=LinearFun(x,y);

a=(i-1).*size_step+2; % To suitable the Appended Function

a=[a,1];

b=a*c;

signal_out(i-1,1)=b;

end

end

function c=LinearFun(x,y)

x=[x,[1;1]];

c=inv(x)*y;

end平方:

function signal_out=QuadraticResample(signal_in,length_desire,sample_last)

length_desire=length_desire+1;

signal_append=[sample_last(end-2:end);signal_in];

signal_in=[sample_last(end);signal_in];

length_signal=length(signal_in);

size_step=(length_signal-1)./(length_desire-1);

signal_out=zeros(length_desire-1,1);

for i=2:length_desire

x(3,1)=ceil(round(((i-1).*size_step+1)*10)./10)+2;

x(2,1)=x(3,1)-1;

x(1,1)=x(3,1)-2;

y=signal_append(x);

c=QuadraticFun(x,y);

a=(i-1).*size_step+3; % To suitable the Appended Function

a=[a.^2,a,1];

b=a*c;

signal_out(i-1,1)=b;

end

end

function c=QuadraticFun(x,y)

x=[x.^2,x,[1;1;1]];

c=inv(x)*y;

end立方:

function signal_out=CubicResample(signal_in,length_desire,sample_last)

length_desire=length_desire+1;

signal_append=[sample_last(end-3:end);signal_in];

signal_in=[sample_last(end);signal_in];

length_signal=length(signal_in);

size_step=(length_signal-1)./(length_desire-1);

signal_out=zeros(length_desire-1,1);

for i=2:length_desire

x(4,1)=ceil(round(((i-1).*size_step+1)*10)./10)+3;

x(3,1)=x(4,1)-1;

x(2,1)=x(4,1)-2;

x(1,1)=x(4,1)-3;

y=signal_append(x);

c=CubicFun(x,y);

a=(i-1).*size_step+4; % To suitable the Appended Function

a=[a.^3,a.^2,a,1];

b=a*c;

signal_out(i-1,1)=b;

end

end

function c=CubicFun(x,y)

x=[x.^3,x.^2,x,[1;1;1;1]];

c=inv(x)*y;

end

信号重采样 matlab,信号的重采样相关推荐

  1. matlab 复频域,MATLAB信号与系统分析(四)——离散信号与系统的复频域分析及MATLAB实现...

    一.系统的z变换和反变换 1.利用部分分式展开求解逆Z变换: 2.例子 3.Z变换的MATLAB函数 clear all f=sym('cos(a*k)'); F=ztrans(f) F=sym('z ...

  2. matlab空间重采样,matlab重采样函数

    然后在 Matlab 软件平台下,利用函数 wavread 对语音信号进行采样,记住采样频率 和采样点数.首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换 (FFT 变换...... col ...

  3. matlab中resample重采样函数

    resample函数 对时间序列进行重采样 格式: 1.y=resample(x,p,q) x–待重采样的时间序列: p–重采样之后目标频率: q–待重采样的时间序列频率 采用多相滤波器对时间序列进行 ...

  4. matlab 方波_MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号

    ##MATLAB之Simulink(二) ##利用switch模块将正弦信号变为方波信号 今天给大家展示一个simulink电路仿真,将正弦信号转化为方波信号. 下面开始教程: 1.首先直接在MATL ...

  5. matlab结课论文_科研小班 | 加州大学伯克利分校 | 物理、电子工程:MATLAB信号和数据处理课题...

    科研小班 | 加州大学伯克利分校 | 物理.电子工程:MATLAB信号和数据处理课题(2021.1月开课)​mp.weixin.qq.com 工程研究领域中,实验.模拟往往都会产生海量的数据.对这些数 ...

  6. matlab 信号去直流,基于FIR滤波的ADC采样信号中直流信号的消除方法与流程

    本发明属于卫星导航领域,介绍了ADC采样信号中的直流偏置消除方法. 背景技术: 卫星导航系统在军事和民用领域应用越来越广泛.以GPS卫星导航系统为例,其到地面的信号功率仅为-130dBm,这么微弱的信 ...

  7. AM,DSB,SSB,FM信号调制matlab

    关于模拟调制系统仿真: 1 调制原理: 为了让实际信号便于在有限带宽的信道中传输,我们需要对信号进行调制和解调.由傅里叶变换可知,若想实现对频谱的搬移,我们可以将原始时域信号与一余弦信号进行运算,此为 ...

  8. 信号与系统matlab课设报告,MATLAB信号与系统实验报告

    <MATLAB信号与系统实验报告>由会员分享,可在线阅读,更多相关<MATLAB信号与系统实验报告(9页珍藏版)>请在装配图网上搜索. 1.信号与系统实验报告(5)MATLAB ...

  9. matlab simulink_MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号

    ##MATLAB之Simulink(二) ##利用switch模块将正弦信号变为方波信号 今天给大家展示一个simulink电路仿真,将正弦信号转化为方波信号. 下面开始教程: 1.首先直接在MATL ...

最新文章

  1. 封装html5,封装Html5 Fullscreen API
  2. 嵌入式软件工程师经典笔试题
  3. android 蓝牙 鼠标 app_邂逅甜蜜告白,雷柏ralemo Air 1气垫鼠标,是女生心动的信号_...
  4. Going Home
  5. PHP中文乱码解决办法
  6. Android 推断当前Activity是不是最后一个Activity 以及 应用或Activity是否存在
  7. 【SQL】update中使用case when
  8. 怎么样用计算机才能让电量增多,如何让你的笔记本更省电 这几招你学会能管大用...
  9. 文本数据增强(data augmentation)nlpaug使用
  10. KETTLE、spoon使用
  11. 房价必然上涨的N个原因
  12. JavaFX scene切换
  13. zTree简单暴力修改图标样式
  14. Android高级工程师面试实战,赶快收藏备战金九银十!
  15. 2022Android笔试真题,20道高频面试题(含答案)
  16. 以太坊客户端mist和geth加快区块同步速度的方法
  17. 音视频笔记-视锥细胞和视杆细胞的区别
  18. 基于Spring事件模型实现观察者模式的工程实践
  19. 通俗理解java的可见性、有序性和原子性
  20. 量化交易中,如何使用Python计算「筹码分布」指标【附代码】 [量化小讲堂-64]

热门文章

  1. SH-SSS丨面向有声读物的跨说话人语音风格迁移
  2. 【报错】Cannot parse date “2020-08-31 00:00:00“: while it seems to fit format ‘yyyy-MM-dd‘T‘HH:mm:ss.SSS
  3. Nginx-虚拟主机
  4. 小白学分析——熊猫烧香分析报告【附pdf】
  5. fancybox参数设置
  6. go桌面计算机,GO桌面快速找到应用程序方法教程
  7. 机器学习算法——朴素贝叶斯(贝努利模型和多项式模型实现分类)
  8. 阿里datav自定义组件 管道插件
  9. oracle 视图能建索引吗,Oracle视图中建立索引注意事项.doc
  10. 解决:Invalid character found in method name. HTTP method names must be tokens