⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7-16.m

📁 matlab数字信号与应用源代码7
💻 M
字号:
%例程7-16  语音线性预测编码
%在本例中,将需要使用信号处理工具箱函数lpc、filter和xcorr,其调用格式如下:

y=filter(b,a,X)              %对矢量X的数据进行滤波,滤波器由传递函数描述,矢量b为传递函数分子系数,矢量a为传递函数分母系数
[c,lags]=xcorr(x,'option')   %计算矢量x的自相关序列,其中coeff选项表示序列自相关0延迟归一化为1,lags返回自相关估计c的范围

%3阶前向预测器的MATLAB程序实现如下:
randn('state',0);                          %返回随机数产生器的初始状态
noise=randn(50000,1);
x=filter(1,[1 1/2 1/3 1/4],noise);         %调用filter函数实现一维数字滤波
x=x(45904:50000);
a=lpc(x,3);                                %调用lpc函数
est_x=filter([0 -a(2:end)],1,x);
e=x-est_x;
[acs,lags]=xcorr(e,'coeff');               %调用xcorr函数实现相关运算
subplot(2,1,1);
plot(1:97,x(4001:4097),1:97,est_x(4001:4097),'--');
title('Original Signal vs.LPC Estimate');
xlabel('Sample Number');ylabel('Ampltitude');
grid on
legend('Original Signal','LPC Estimate');
subplot(2,1,2);
plot(lags,acs);
title('Autocorrelation of the Prediction Error');
xlabel('Lags');
ylabel('Normalized Value');
grid on

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -