语音信号线性预测分析(6)

时间:2025-04-19

% a_lsf_main.m

clear;close all% 将所有变量置为0 clc% 清除命令窗口

fid=fopen('sx86.txt','r'); p1=fscanf(fid,'% f'); fclose(fid);

p=filter([1 -0.68],1,p); % 预加重滤波 x=fra(320,160,p); % 分帧,帧移为160个样点 x=x(60,:); % 取第60帧作为分析帧 N=16% 给线性预测分析的阶次赋值

a1=lpc(x,N);% 调用MATLAB库函数中的lpc函数求解出LPC系数a1 % 此处也可以调用本章赋的函数lpc_coeffi-

% cients(s,p),调用语句为a1=lpc_coefficients(x,N) a=a1(:);% 将线性预测系数a1赋给矩阵a

lsf=a_lsf_conversion(a);% 调用函数a_lsf_conversion实现从LPC系数到LSF参数 % 转换

% lsf=poly21lsf(a);% 也可调用MATLAB库函数中的poly21lsf(a)函数求解出LSF系数,调用

% 结果为归一化角频率

lsf_abnormalized=lsf.*(6400/3.14);% 将求得的lsf参数反归一化到 % 0~6400Hz

% 使用时可根据实际需要进行更改,如窄带语言编码语音信号频带范围为300~3400Hz,此时

% 就需要将6400Hz改为3400Hz

% 将求得的归一化、反归一化lsf参数输出到文本文件:从lpc系数解得的lsf参数.txt fid= fopen('从lpc系数解得的lsf参数.txt','w'); fprintf(fid,'归一化的lsf:\n'); fprintf(fid,'%6.2f,',lsf); fprintf(fid,'\n');

fprintf(fid,'反归一化的lsf:\n'); fprintf(fid,'% 8.4f,',lsf_abnormalized); fclose(fid); % EOF a_lsf_main.m

函数 a_lsf_conversion 的MATLAB程序见 a_lsf_conversion.m. % 程序 a_lsf_conversion.m. function lsf=a_lsf_conversion(a)

%如果a不是实数,输出错误信息:LSF不适用于复多项式的求解 if~isreal(a),

error('Line spectral frequencies are not defined for complex

语音信号线性预测分析(6).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219