信号重采样 matlab,信号的重采样
通常我们在做处理信号的时候,会需要使用重采样来提高采样率是信号能够跟好的分析及处理。
具体在语音处理的领域,我们有专用的函数,但是在图像领域的插值算法同样适用于语音的重采样。
一般有三种常用的方法来进行插值:
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,信号的重采样相关推荐
- matlab 复频域,MATLAB信号与系统分析(四)——离散信号与系统的复频域分析及MATLAB实现...
一.系统的z变换和反变换 1.利用部分分式展开求解逆Z变换: 2.例子 3.Z变换的MATLAB函数 clear all f=sym('cos(a*k)'); F=ztrans(f) F=sym('z ...
- matlab空间重采样,matlab重采样函数
然后在 Matlab 软件平台下,利用函数 wavread 对语音信号进行采样,记住采样频率 和采样点数.首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换 (FFT 变换...... col ...
- matlab中resample重采样函数
resample函数 对时间序列进行重采样 格式: 1.y=resample(x,p,q) x–待重采样的时间序列: p–重采样之后目标频率: q–待重采样的时间序列频率 采用多相滤波器对时间序列进行 ...
- matlab 方波_MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号
##MATLAB之Simulink(二) ##利用switch模块将正弦信号变为方波信号 今天给大家展示一个simulink电路仿真,将正弦信号转化为方波信号. 下面开始教程: 1.首先直接在MATL ...
- matlab结课论文_科研小班 | 加州大学伯克利分校 | 物理、电子工程:MATLAB信号和数据处理课题...
科研小班 | 加州大学伯克利分校 | 物理.电子工程:MATLAB信号和数据处理课题(2021.1月开课)mp.weixin.qq.com 工程研究领域中,实验.模拟往往都会产生海量的数据.对这些数 ...
- matlab 信号去直流,基于FIR滤波的ADC采样信号中直流信号的消除方法与流程
本发明属于卫星导航领域,介绍了ADC采样信号中的直流偏置消除方法. 背景技术: 卫星导航系统在军事和民用领域应用越来越广泛.以GPS卫星导航系统为例,其到地面的信号功率仅为-130dBm,这么微弱的信 ...
- AM,DSB,SSB,FM信号调制matlab
关于模拟调制系统仿真: 1 调制原理: 为了让实际信号便于在有限带宽的信道中传输,我们需要对信号进行调制和解调.由傅里叶变换可知,若想实现对频谱的搬移,我们可以将原始时域信号与一余弦信号进行运算,此为 ...
- 信号与系统matlab课设报告,MATLAB信号与系统实验报告
<MATLAB信号与系统实验报告>由会员分享,可在线阅读,更多相关<MATLAB信号与系统实验报告(9页珍藏版)>请在装配图网上搜索. 1.信号与系统实验报告(5)MATLAB ...
- matlab simulink_MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号
##MATLAB之Simulink(二) ##利用switch模块将正弦信号变为方波信号 今天给大家展示一个simulink电路仿真,将正弦信号转化为方波信号. 下面开始教程: 1.首先直接在MATL ...
最新文章
- 封装html5,封装Html5 Fullscreen API
- 嵌入式软件工程师经典笔试题
- android 蓝牙 鼠标 app_邂逅甜蜜告白,雷柏ralemo Air 1气垫鼠标,是女生心动的信号_...
- Going Home
- PHP中文乱码解决办法
- Android 推断当前Activity是不是最后一个Activity 以及 应用或Activity是否存在
- 【SQL】update中使用case when
- 怎么样用计算机才能让电量增多,如何让你的笔记本更省电 这几招你学会能管大用...
- 文本数据增强(data augmentation)nlpaug使用
- KETTLE、spoon使用
- 房价必然上涨的N个原因
- JavaFX scene切换
- zTree简单暴力修改图标样式
- Android高级工程师面试实战,赶快收藏备战金九银十!
- 2022Android笔试真题,20道高频面试题(含答案)
- 以太坊客户端mist和geth加快区块同步速度的方法
- 音视频笔记-视锥细胞和视杆细胞的区别
- 基于Spring事件模型实现观察者模式的工程实践
- 通俗理解java的可见性、有序性和原子性
- 量化交易中,如何使用Python计算「筹码分布」指标【附代码】 [量化小讲堂-64]
热门文章
- SH-SSS丨面向有声读物的跨说话人语音风格迁移
- 【报错】Cannot parse date “2020-08-31 00:00:00“: while it seems to fit format ‘yyyy-MM-dd‘T‘HH:mm:ss.SSS
- Nginx-虚拟主机
- 小白学分析——熊猫烧香分析报告【附pdf】
- fancybox参数设置
- go桌面计算机,GO桌面快速找到应用程序方法教程
- 机器学习算法——朴素贝叶斯(贝努利模型和多项式模型实现分类)
- 阿里datav自定义组件 管道插件
- oracle 视图能建索引吗,Oracle视图中建立索引注意事项.doc
- 解决:Invalid character found in method name. HTTP method names must be tokens