基于Farrow结构的滤波器设计

目录

1. 插值滤波器

2. Farrow结构

3. 实现过程

3.1. 插值滤波器设计

3.2. Farrow结构实现

3.3. 频响特性分析

4.核心程序 

5. 仿真效果


       滤波器是信号处理中的重要工具,用于处理和改变信号的频率特性。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

5. 仿真效果

猜你喜欢

转载自blog.csdn.net/ccsss22/article/details/132108757
今日推荐