?? 7-16.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 + -