目录
滤波器是信号处理中的重要工具,用于处理和改变信号的频率特性。Farrow结构是一种常用于实现多项式插值滤波器的方法,它在数字信号处理中具有广泛的应用。本文将详细介绍基于Farrow结构的滤波器频响特性,包括数学原理、实现过程和应用领域。
1. 插值滤波器
插值滤波器是一种将离散信号进行插值操作,以增加采样率或改变信号频率特性的滤波器。插值滤波器的数学原理如下:
假设输入信号为 x(n),插值因子为 L,输出信号为 y(n)。插值滤波器的作用是在每个输入样本之间插入 L-1个零值,并在插值后的序列上应用滤波器 h(n):
2. Farrow结构
Farrow结构是一种用于实现多项式插值滤波器的方法,它通过分段线性插值来逼近多项式插值。Farrow结构的数学原理如下:
3. 实现过程
基于Farrow结构的滤波器频响特性的实现过程主要包括插值滤波器设计、Farrow结构实现和频响特性分析等步骤。
3.1. 插值滤波器设计
首先,设计插值滤波器的冲激响应 h(n)h(n),可以选择不同类型的滤波器设计方法,例如窗函数法、频率采样法等。冲激响应设计完成后,可以得到滤波器的系数序列。
3.2. Farrow结构实现
将插值滤波器的系数序列应用到Farrow结构中,根据Farrow结构的数学原理,计算输出信号 y(n)。在Farrow结构中,需要分解插值因子为整数部分 M和小数部分 d,然后计算线性插值系数 h_M(k, d),最终得到输出信号。
3.3. 频响特性分析
通过输入不同频率的信号,观察Farrow结构的输出信号频响特性。可以使用频谱分析工具,如快速傅里叶变换(FFT),计算输出信号的频谱,并绘制幅度响应图和相位响应图。
4.核心程序
L = N+1; % L为滤波器长度;
Npt = 256; % 绘制频响曲线图时的频点个数
Nfil = 6; % 滤波器的数量
xinc=0.5/(Nfil-1); % 分数延时增量
w = (0:1:(Npt-1))/Npt; % 频率归一化
wpi = w*pi; % 频率间隔
h = zeros(1,(N+1)); % 子滤波器的系数矩阵
mag = zeros(Nfil,Npt); % 滤波器的幅频响应矩阵
x_vec=zeros(Nfil,1); % 分数延时向量,与滤波器数量相等
h_vec=zeros(Nfil,N+1); % 子滤波器组的系数矩阵
C=zeros(Np+1,N+1); % 子滤波器组的多项式估计系数矩阵
% 设计原型滤波器
for i=1:Nfil
x=(i-1)*xinc+0.0000001; % 避免出现sin(0)/0
x_vec(i)=x; % 存储对应的分数时延
h=hgls(L,x,wp); % 根据广义最小二乘法求解子滤波器的系数矩阵
h_vec(i,:)=h'; % 存储设计得到的子滤波器的系数矩阵
end
% 进行系数矩阵的多项式逼近
for k=1:(N+1)
cc=polyfit(x_vec,h_vec(:,k),Np);
C(:,k)=cc'; % 对多项式逼近得到的系数矩阵进行数据拟合
end
% 得到Farrow结构滤波器的频响特性
for j=1:Nfil
x=(j-1)*xinc + 0.0001; % 避免出现sin(0)/0
h = C(Np+1,:); % 由拟合后的子滤波器系数矩阵
for n=1:Np
h=h+x^n*C(Np+1-n,:); % 得到子滤波器的系数和矩阵
end
h=h/sum(h); % 综合滤波器组的系数矩阵
H = freqz(h,1,wpi);
mag(j,:) = abs(H);
end
up2179