2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > matlab中索引超过维度 索引超出维度 怎么处理

matlab中索引超过维度 索引超出维度 怎么处理

时间:2018-08-28 02:22:47

相关推荐

matlab中索引超过维度 索引超出维度 怎么处理

clc; close all; clear all;

run Set_II; % 参数设置

run Part_II;% 读入文件,分帧和端点检测

lmin=fix(fs/500); % 基音周期的最小值

lmax=fix(fs/60);% 基音周期的最大值

period=zeros(1,fn); % 基音周期初始化

p=12; % 设置线性预测阶数

for k=1:fn

if SF(k)==1 % 是否在有话帧中

u=y(:,k).*hamming(wlen); % 取来一帧数据加窗函数

ar = lpc(u,p); % 计算LPC系数

z = filter([0 -ar(2:end)],1,u); % 一帧数据LPC逆滤波输出

E = u - z; % 预测误差

xx=fft(E); % FFT

a=2*log(abs(xx)+eps);% 取模值和对数

b=ifft(a); % 求取倒谱

[R(k),Lc(k)]=max(b(lmin:lmax)); % 在Pmin~Pmax区间寻找最大值

period(k)=Lc(k)+lmin-1;% 给出基音周期

end

end

T1=pitfilterm1(period,voiceseg,vosl); % 基音周期平滑处理

% 作图

subplot 211, plot(time,x,'k');title('语音信号')

axis([0 max(time) -1 1]); grid;ylabel('幅值'); xlabel('时间/s');

subplot 212; hold on

line(frameTime,period,'color',[.6 .6 .6],'linewidth',2);

axis([0 max(time) 0 150]); title('基音周期');

ylabel('样点数'); xlabel('时间/s'); grid;

plot(frameTime,T1,'k'); hold off

legend('初估算值','平滑后值'); box on;

显示结果为

索引超出矩阵维度。

出错 xianxingjiance (line 19)

[R(k),Lc(k)]=max(b(lmin:lmax)); % 在Pmin~Pmax区间寻找最大值

求帮忙,谢谢

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。