WaveletandFilterBank信号与系统系列课程组国家电工电子教学基地抽取滤波器和内插滤波器抽取滤波器2倍抽取滤波的矩阵表示内插滤波器2倍内插滤波的矩阵表示抽取滤波器H(z)][kx][kyMπ/π0/π1)e(jMMHX(ej)p-pMπMπ-可用理想低通滤波器滤除X(ej)中的高频分量但理想低通滤波器无法实现。抽取滤波器H(z)][kx][kyMX(ej)p-pMπMπ-MmMm-若m/M为X(ej)中需保留的最高频率分量,则有π/π0/1)e(mjMMH抽取滤波器H(z)][kx][kyM更一般地,抽取滤波器的幅度响应可为--1,,2,1,π2π2,0/,1)e(mmmjMlMlMlMHX(ejMπp-pMm0πMp-pm)e(2jMXpm-π20-MπMp-pm)e(jMXm-0Mm0mπ2--MMMm0mπ2π2-2倍抽取滤波的矩阵表示2xH(z)yxDyh][01002121032321043321056xxyhxyhhhxyhhhhxyhhhhxx2倍抽取滤波的矩阵表示021032103210[]hhhhhDhhhhhhhh抽取矩阵[Dh]的行第0行h[-n]第1行h[2-n]右移2个样本第k行h[2k-n](k固定,不同的n表示列)抽取矩阵[Dh]的第k行第n列]2[][,nkhDnkh-2倍抽取滤波的矩阵表示021032103210[]hhhhhDhhhhhhhh抽取矩阵[Dh]的列第0列h0[k]=h[2k]第2列h0[k-1]=h[2k-2]第4列h0[k-2]=h[2k-4]第2n列h0[k-n]=h[2k-2n]第1列h-1[k]=h[2k-1]第3列h-1[k-1]=h[2k-3]第5列h-1[k-2]=h[2k-5]第2n+1列h-1[k-n]=h[2k-(2n+1)]2倍抽取滤波的矩阵表示021032103210[]hhhhhDhhhhhhhh抽取矩阵[Dh]的列第-1列h1[k]=h[2k+1]第1列h1[k-1]=h[2k-1]第3列h1[k-2]=h[2k-3]第2n-1列h1[k-n]=h[2k-(2n-1)]第0列h0[k]=h[2k]第2列h0[k-1]=h[2k-2]第4列h0[k-2]=h[2k-2]第2n列h0[k-n]=h[2k-2n]2倍抽取滤波的时域表示2xH(z)y,[][][]hknnykDxn]2[][,nkhDnkh-[2][]nhknxn-xDyh][H(z)][kx][kyM][kv][][][nkhnxkvn-][][kMvky][][][nMkhnxkyn-M倍抽取滤波的时域表示L)(zH][kx][ky][IkxXI(ejLπ-Lππ/π0/π1)e(jLLH可用理想低通滤波器滤除XI(ej)中的镜像分量内插滤波器(interpolationfilter)X(ej)p-pm-mp-mX(ej)p-pLmLπLmπ2-Lmπ2内插滤波器的幅度响应为--1,,2,1,π2π2,0/,1)e(mmmjLlLlLlLH内插滤波器(interpolationfilter)2倍内插滤波器的矩阵表示H2xyxIyh][00112020331142025331620731hyhyhhyxyhhxyhhxyxhhyhhyhh2倍内插滤波器的矩阵表示01203120312031hhhhhhhIhhhhhhhh内插矩阵[Ih]的列第0列h[k]第1列h[k-2]第2列h[k-4]第n列h[k-2n]矩阵[Ih]的第k行第n列]2[][,nkhInkh-2倍内插滤波器的矩阵表示01203120312031hhhhhhhIhhhhhhhh内插矩阵[Ih]的行第0行h0[-n]=h[-2n]第2行h0[1-n]=h[2-2n]第4行h0[2-n]=h[4-2n]第2k行h0[k-n]=h[2k-2n]第1行h1[-n]=h[1-2n]第3行h1[1-n]=h[3-2n]第5行h1[2-n]=h[5-2n]第2k+1行h1[k-n]=h[2k+1-2n]矩阵[Ih]的第k行第n列]2[][,nkhInkh-2倍内插滤波器的矩阵表示01203120312031hhhhhhhIhhhhhhhh内插矩阵[Ih]的行第-1行h-1[-n]=h[-1-2n]第1行h-1[1-n]=h[1-2n]第3行h-1[2-n]=h[3-2n]第2k-1行h-1[k-n]=h[2k-1-2n]矩阵[Ih]的第k行第n列]2[][,nkhInkh-第0行h0[-n]=h[-2n]第2行h0[1-n]=h[2-2n]第4行h0[2-n]=h[4-2n]第2k行h0[k-n]=h[2k-2n]2倍内插滤波器的时域表示H2xyxIyh][]2[][,nkhInkh-,[][][][2][]hknnnykIxnhknxn-][][][Inkhnxkyn-][]/[nkhLnxLn-的整数倍是][][][nLkhnxkyn-内插滤波器的时域表示L)(zH][kx][ky][Ikx例:2倍抽取滤波器hR[k]=h[-k]的矩阵表示[][]RThhDI2xh[-k]y0123012301230123[]RhhhhhhhhhDhhhhhhhh01203120312031hhhhhhhIhhhhhhhh例:2倍内插滤波器hR[k]=h[-k]的矩阵表示[][]RThhID021302130210[]RhhhhhhhhhIhhhhh[-k]2xy021032103210[]hhhhhDhhhhhhhh利用MATLAB计算抽样率变换(1)抽取y=decimate(x,M)用8阶ChebyshevI型IIR低通滤波器进行滤波。为保证零相位,对序列进行正向和反向滤波。M=255;x=firls(M,[00.250.250.50.51],[111000]);x1=x(1:4:end);x2=decimate(x,4);w=linspace(0,pi,512);X=freqz(x,[1],w);X1=freqz(x1,[1],w);X2=freqz(x2,[1],w);0p/400.20.40.60.81p/23p/4p原信号的谱抽取后信号的谱抽取滤波后信号的谱利用MATLAB计算抽样率变换(2)内插[y,h]=interp(x,L)使内插后的信号的均方误差最小来确定FIR滤波器。h:所用FIR的系数。M=255;L=4;x=firls(M,[00.50.51],[1110]);x1=zeros(1,L*length(x));x1(1:L:end)=x;x2=interp(x,4);w=linspace(0,pi,512);X=freqz(x,[1],w);X1=freqz(x1,[1],w);X2=freqz(x2,[1],w);利用Matlab计算抽样率变换012012050p3p/4p/4p/20p3p/4p/4p/20p3p/4p/4p/2原信号的谱4倍内插后信号的谱4倍内插滤波后信号的谱(3)分数倍抽样滤改变[y,h]=resample(x,L,M);L:内插的倍数M:抽样的倍数。例:离散信号x[k]是由抽样频率为10Hz,试求出抽样频率为15Hz的序列y[k]。f=0.35;N=40;fs=10;fs1=15;k=0:N-1;t=k/fs;k1=0:N*1.5-1;t1=k1/fs1;x=cos(2*pi*f*t);xr=cos(2*pi*f*t1);y=resample(x,3,2);subplot(3,1,3);stem(k1,abs(y-xr));title('error');利用MATLAB计算抽样率变换