?? dpcm.m
字號:
function [r,xtilde]=dpcm(x,a)% Usage: [r,xtilde]=dpcm(x,a)% Differential Pulse Coded Modulation% x: input source vector to be encoded ,x是輸入的將要編碼的數據向量% a: prediction filter a是用于預測的濾波器% r: residue vector quantized to integer r作用是對真實值以及預測之間的差,進行量化(這個量化主要的作用就是對數據進行四舍五入,使之為一個整數)% r(t) = Q[x(t)-xhat(t)] = Q[x(t)- sum a(i)xtilde(t-i)] %xhat(t)是對x,進行預測的結果,% xtilde(t) = xhat(t) + r(t)%% copyright (c) 1997 by Yu Hen Hu% created: 11/24/97[m,nx]=size(x); if min(m,nx) > 1, error('x must be a vector'); return, endif m==1 & nx > 1, x = x'; m=nx; end % ensure x is a column vector保證x是一個列向量[p,na]=size(a);if p==1 & na > 1, a = a'; p=na; end % ensure a is a col. vector 對a同x的處理% First p element of x must be sent unchanged as part of r after% scaler quantizationr=round(x(1:p)); xtilde=r; %對x的前p個數據取整,這里p就是濾波器a的系數,要是做dpcm為1for t=p+1:m, %x剩余的數據 xhat(t)=a'*xtilde(t-1:-1:t-p);%有前面的數據預測 r(t)=round(x(t)-xhat(t)); xtilde(t)=xhat(t)+r(t);end%對于dpcm(x,1),r=x(1),xtilde=r% for t=2:m %m是x中元素的個數% xhat(t)=xtilde% r=round(x(t)-xhat(t))%
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -