博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab buffer的使用
阅读量:4649 次
发布时间:2019-06-09

本文共 914 字,大约阅读时间需要 3 分钟。

buffer

matlab中的buffer函数可以将信号缓存为数据帧矩阵。

y = buffer(x,n)  y = buffer(x,n,p) [y,z] = buffer(...) [y,z,opt] = buffer(...)

分割长度L的信号x成不重叠的长度为n的数据帧,每一帧占据输出n行L/n列矩阵y的一列。当L/n不能整除时,在最后一列通过补0使其达到长度为n。

y = buffer(x,n,p)

fig1

(2) x=1:30,n=7,p=3x=1:30,n=7,p=−3
fig

y = buffer(x,n,p,opt)

p>0p>0,opt 指定一个长度为p的向量插入在第一个信号的元素之前,opt取默认值时为zeros(p,1), 取‘nodelay’时,直接在缓存矩阵中写入信号的第一个元素。

refa2e112.gif
refa2e148.gif
p<0p<0, opt是[0,-P]里面的一个整数,比如
x=1:30,n=7,p=3opt=2x=1:30,n=7,p=3,opt=2

>> buffer(x,n,-3,2) ans = 3 13 23 4 14 24 5 15 25 6 16 26 7 17 27 8 18 28 9 19 29
[y,z] = buffer(...)

把长度L的信号x分割成程度为n的帧,输出为y。 如果y是重叠的,那么大小为nxm,m=floor(L/(np))m=floor(L/(n−p)), 当 length(opt)=plength(opt)=p 或者 m=floor((Ln)/(np))+1m=floor((L−n)/(n−p))+1opt=nodelayopt=′nodelay′。 如果y是错开的,大小为nxm,其中 m=floor((Lopt)/(np))+(rem((Lopt),(np))>=n)m=floor((L−opt)/(n−p))+(rem((L−opt),(n−p))>=n) 当输入信号的存放在指定大小的帧矩阵中时还有剩余的信号,那么这些剩余的信号存放在z中。

转载于:https://www.cnblogs.com/siucaan/p/9623211.html

你可能感兴趣的文章
项目活动定义 概述
查看>>
团队冲刺04
查看>>
我的Python分析成长之路8
查看>>
泛型在三层中的应用
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>
.Net MVC3中取得当前区域的名字(Area name)
查看>>
获得屏幕像素以及像素密度
查看>>
int与string转换
查看>>
adb命令 判断锁屏
查看>>
推荐一个MacOS苹果电脑系统解压缩软件
查看>>
1035等差数列末项计算
查看>>
CDMA鉴权
查看>>
ASP.NET MVC Identity 兩個多個連接字符串問題解決一例
查看>>
过滤器与拦截器区别
查看>>
第二阶段站立会议7
查看>>
[18]Debian Linux Install GNU GCC Compiler and Development Environment
查看>>
JAVA多线程
查看>>
ACE(Adaptive Communication Environment)介绍
查看>>
delphi 更改DBGrid 颜色技巧
查看>>
python编码问题
查看>>