本帖最后由 emanon096960 于 2013-4-24 15:39 编辑
有一个语音处理的矩阵,帧长240采样点 分为201帧,即201x240的矩阵,
对于 240个采样点,需要找出在16-114的样点数范围内的最大值Ipk及其位置Ipos,对于201帧 每帧都要如此处理,但是我的程序只能制定某一帧进行处理,
最后希望得到201个最大值的分布图,请教各位该如何修改呢
程序如下:
clc
clear all
close all
[x,fs] = wavread('E:\dingzx1.wav'); % 输入参数为文件的全路径和文件名,输出的第一个参数是每个样本的值,fs是生成该波形文件时的采样率,bits是波形文件每样本的编码位数。
FrameLen=0.03*fs; %帧长240
FrameInc=FrameLen/2; %帧移120
x=x/max(abs(x)); %语音信号归一化
x=filter([1 -0.9375],1,x); %预加重
xx = enframe(x,FrameLen,FrameInc);
framelen=2*FrameLen
for i=1:size(xx,1) %对每一帧进行处理
data = xx(i,:); %将xx的每一行赋给data
data =