enframe.m
上传用户:shodew
上传日期:2014-10-29
资源大小:6k
文件大小:1k
- function xn=enframe(x,N,M)
- T=N-M;
- wn=hamming(N);
- %x=[1,2,-1,1,1,-1,-1,0,1,1,1,1,3,1,1,1,1,1,6,-1,1,1,1,-1,1,1,1,1,-1,1,2,3];测试向量
- x_num=length(x); %确定数据的长度
- frame_num=ceil((x_num-N)/T)+1; %确定帧的数目
- for i=1:frame_num-1
- xn(:,i)=wn.*x(T*(i-1)+1:T*(i-1)+N);
- end
- %对最后一帧进行处理
- if x_num==N+(frame_num-1)*T %数据正好可以分为整数帧的情况
- xn(:,frame_num)=wn.*x(T*(frame_num-1)+1:T*(frame_num-1)+N);
- else %如果不为整数帧,需要补0操作
- zero_num=N+(frame_num-1)*T-x_num; %确定补0的数目
- xn(:,frame_num)=[(x((T*(frame_num-1)+1):x_num))', zeros(1,zero_num)];
- xn(:,frame_num)=wn.*xn(:,frame_num);
- end