1_2抽取与内插滤波器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用MATLAB计算抽样率变换
1
0.8 0.6 抽取后信号的谱 0.4 0.2 0 0 p /4 p /2 抽取滤波后 信号的谱 3p /4 p
原信号的谱

利用Matlab 计算抽样率变换
(2) 内插 [y,h] = interp(x,L)
使内插后的信号的均方误差最小来确定FIR滤波器。
h: 所用FIR的系数。 M=255; L=4; x = firls(M,[0 0.5 0.5 1],[1 1 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);
第-1行 第1行 第3行 第2k-1行
矩阵[Ih]的第k行第n 列
[ I h ] k ,n h[k - 2n]
2倍内插滤波器的时域表示
x
2
H
y
y [ I h ]x
[ I h ] k ,n h[k - 2n]
y[k ] [ I h ] k , n x[n] h[k - 2n]x[n]
第0列 第1列 第2列 第n列 h[k] h[k -2] h[k -4] h [k-2n]
矩阵[Ih]的第k行第n 列
[ I h ] k ,n h[k - 2n]
2倍内插滤波器的矩阵表示
内插矩阵[Ih]的行 第0行
h0 h1 h 2 h3 Ih h0 h1 h2 h0 h3 h1 h2 h3 h0 h1
抽取滤波器
x[k ]
H (z )
M
y[k ]
更一般地,抽取滤波器的幅度响应可为
1, j H (e ) 0,
2 πl - m M
m / M

2 πl m M
, l 1, 2,, M - 1
X(ej

-p
m
M
π
0
p
M
X (e M )
h0 h1 h2 h3 h0 h1 h2 h3 [ DhR ] h h h h 0 1 2 3 h0 h1 h2 h3
[ DhR ] [ I h ]
T
h0 h1 h 2 h3 Ih
h0 h2 h1 h0 [ Dh ] h3 h2 h1 h0 h3 h2 h1 h0
T
[ I hR ] [ Dh ]
利用MATLAB 计算抽样率变换
(1) 抽取
y = decimate(x,M)
用8阶Chebyshev I 型 IIR 低通滤波器进行滤波。
2倍抽取滤波的时域表示
x H(z)
2
y
y [Dh ]x
[ Dh ] k ,n h[2k - n]
y[k ] [ Dh ] k , n x[n] h[2k - n]x[n]
n n
M倍抽取滤波的时域表示
x[k ]
H(z)
v[ k ]
M
y[k ]
v[k] x[n]h[k - n]
1 0]);
2 1 0
2 1 0
0
p/4
p/2 原信号的谱
3p/4
p
0
p/4
p/2 4倍内插后信号的谱
3p/4
p
5
0 0
p/4
p/2 4倍内插滤波后信号的谱
3p/4
p
利用MATLAB 计算抽样率变换
(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');
h[-n] h[2-n] h[2k-n] 右移2个样本 (k 固定,不同的n表示列 )
第0行 第1行 第k 行
抽取矩阵[Dh]的第k行第n 列
[ Dh ] k ,n h[2k - n]
2倍抽取滤波的矩阵表示
抽取矩阵[Dh]的列
h0 h2 h1 h0 [ Dh ] h h h h 3 2 1 0 h3 h2 h1 h0
1 π / M H (e ) 0 π / M π 但理想低通滤波器无法实现。
j
抽取滤波器
x[k ]
H (z )
M
y[k ]
X(ej)
-p
-
π M
-
m
M
m
M
π M
p

若m/M 为X(ej)中需保留的最高频率分量,则有
H (e
j
1 m / M ) 0 π / M π
h0 h1 h2 h0 h3 h1 h2 h3
x 0 x1 x2 x 3 h0 h1
2倍内插滤波器的矩阵表示
内插矩阵[Ih]的列
h0 h1 h 2 h3 Ih h0 h1 h2 h0 h3 h1 h2 h3 h0 h1
第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)]
j
内插滤波器(interpolation filter)
X(ej)
-p -m

m p
X(ej)
p-m

-p

p

m
L
π
L
2π - m L
2π m L
内插滤波器的幅度响应为
1, H ( e j ) 0, 2 πl - m L
m / L
y [Dh ]x
y0 h0 y h 1 2 y2 y3 h1 h3 h0 h2 h1 h3 h0 h2
h1 h0
2倍抽取滤波的矩阵表示
抽取矩阵[Dh]的行
h0 h2 h1 h0 [ Dh ] h3 h2 h1 h0 h3 h2 h1 h0
Wavelet and FilterBank
信号与系统系列课程组 国家电工电子教学基地
抽取滤波器和内插滤波器
抽取滤波器 2倍抽取滤波的矩阵表示 内插滤波器
2倍内插滤波的矩阵表示
抽取滤波器
x[k ]
H (z )
M
y[k ]
X(ej)
-p
-
π M
π M
p

可用理想低通滤波器滤除X(ej)中的高频分量
j
-p
- m
X (e
-p
j
2p m
M
π
M0
Mp

)
π
- m
M0 - 2π m
Mp

- m M0 - 2π m
2π - m M 2π m M
0
2倍抽取滤波的矩阵表示
x H(z)
2
y
x0 x 1 x2 x 3 x4 x 5 x6
第0行 第2行 第4行 第2k行 h0[-n]= h[-2n] h0[1-n] =h[2-2n] h0[2-n]= h[4-2n] h0[k-n]= h[2k-2n]
h-1[-n] = h[-1-2n] h-1[1-n]= h[1-2n ] h-1[2-n]= h[3-2n ] h-1[k-n] = h[2k-1-2n]
n
y[k ] v[k M ]
y[ k ]

n
x [ n ]h[ M k - n ]
内插滤波器(interpolation filter)
x[k ]
L
xI [k ]
H ( z)
y[k ]
XI(ej
-
π

π

L
L
可用理想低通滤波器滤除XI(ej)中的镜像分量
1 π / L H (e ) 0 π / L π
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 πl m L
ຫໍສະໝຸດ Baidu
, l 1, 2,, L - 1
2倍内插滤波器的矩阵表示
x
2
H
y
y [ I h ]x
y0 h0 y1 h1 y h 2 2 y3 h3 y4 y 5 y6 y7
[ I h ] k ,n h[k - 2n]
2倍内插滤波器的矩阵表示
内插矩阵[Ih]的行
h0 h1 h 2 h3 Ih h0 h1 h2 h0 h3 h1 h2 h3 h0 h1
h0 h1 h2 h3
h0 h1 h2 h0 h3 h1
例:2倍内插滤波器hR[k]=h[-k]的矩阵表示
x
2
h[-k]
y
h0 h2 h1 h3 h h 0 2 h1 h3 [ I hR ] h0 h2 h1 h0
n n
内插滤波器的时域表示
x[k ]
L
xI [k ]
H ( z)
y[k ]
y[k] xI[n]h[k - n]
n

n是L的 整 数 倍

x[n / L]h[k - n]
y[ k ]

n
x [ n ]h[ k - n L ]
例:2倍抽取滤波器hR[k]=h[-k]的矩阵表示 y x h[-k] 2
为保证零相位,对序列进行正向和反向滤波。
M=255; x = firls(M,[0 0.25 0.25 0.5 0.5 1],[1 1 1 0 0 0]); 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);
2倍抽取滤波的矩阵表示
抽取矩阵[Dh]的列 h0 h2 h1 h0 [ Dh ] h3 h2 h1 h0 h3 h2 h1 h0
第-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列 第2列 第4列 第2n列 h0[k] = h[2k] h0[k-1] = h[2k-2] h0[k-2] = h[2k-2] h0[k-n] = h[2k-2n]
相关文档
最新文档