主要内容

单速率分割滤波器

分组滤波器与传统过滤器不同,因为除了信号输入之外,它还具有分数延迟输入。分数延迟输入使得能够在过滤器操作时使用时变延迟。分数延迟输入接收从0到1.0的值接收的信号。有关一般信息如何构建和使用Farrow过滤器对象,请参阅DSP System Toolbox™文档。

金宝app支持单速率的单速率过滤器

您可以从这些对象和结构中生成单速率分割过滤器的HDL代码:

  • dsp.variableFractiondElay.System Object™

  • dfilt.farrowfd.过滤结构

  • dfilt.farrowlinearfd.过滤结构

编码器提供generatehdl.让您提供的属性和等效UI选项:

  • 定义生成代码中使用的分数延迟端口名称。

  • 将各种测试台刺激信号应用于分数延迟端口,或定义自己的刺激信号。

用于解雇滤波器的代码生成力学

过滤器设计器不支持Farrow滤波器的设计或导入。金宝app要为Farrow过滤器生成HDL代码,请使用以下方法之一:

  • 使用matlab.®命令行创建一个伪波筛选对象。启动代码生成,并设置与源相关的属性。看Farrow滤波器的代码生成属性

  • 使用MATLAB命令行创建一个Farrow过滤器对象。然后将此对象传递给fdhdltool.

    例如,这些命令创建了一个伪劣的分数延迟系统对象,Farrowfilt.并将它传递给fdhdltool.,以及其输入和分数延迟数据类型。

    farrowfilt = dsp.variableFractiondeDelay('InterpolationMethod''farrow');InputDatatype = Numerictype(1,18,17);fddatatype = numerictype(1,8,7);fdhdltool(farrowfilt,inputdatatype,fddatatype);

    fdhdltool.工具打开“生成HDL”对话框。看Farrow过滤器的UI选项有关更多信息,如何在对话框中设置属性。

  • 采用过滤织机设计一个分法(分数延迟)过滤器对象。在“过滤器构建器”对话框中,选择代码生成标签。要打开Generate HDL对话框,请单击生成HDL.

    Farrow过滤器的UI选项有关更多信息,如何在“生成HDL”对话框中设置属性。

Farrow过滤器禁用选项

使用Farrow过滤器打开生成HDL对话框时,编码器会禁用某些选项或将它们设置为固定默认值。受影响的选项是:

  • 建筑学。编码器将此选项设置为其默认值(完全平行)并禁用它。

  • 时钟输入。编码器将此选项设置为其默认值(单身的)并禁用它。

Farrow滤波器的代码生成属性

Farrow过滤器代码生成支持以下属性:金宝app

  • Fracdelayport.(字符向量)。此属性指定生成代码中的分数延迟端口的名称。默认名称是'filter_fd'。在以下示例中,名称'fractionaldelay'分配给分数延迟端口。

    farrowfilt = dsp.variableFractiondeDelay('InterpolationMethod''farrow');generatehdl(farrowfilt,'inputDatatype',numerictype(1,18,17),......'fractionaldelaydatype',numerictype(1,8,7),......'fracdelayport''fractionaldelay');
  • testbenchfracdelaystumulus.(字符向量)。此属性指定应用于测试台码中的分数延迟端口的刺激信号。

    缺省情况下,内部常量值应用于分数延迟端口。要使用默认值,请留下testbenchfracdelaystumulus.属性未指定,或通过空字符向量(''):

    farrowfilt = dsp.variableFractiondeDelay('InterpolationMethod''farrow');generatehdl(farrowfilt,'inputDatatype',numerictype(1,18,17),......'fractionaldelaydatype',numerictype(1,8,7),......'generatehdltestbench''在');

    或者,您可以指定出现以下类型的刺激向量:

    • 'randsweep':0到1之间的随机值的向量。此刺激信号的持续时间与滤波器相同,但以较慢的速率变化。从向量中获得的每个分数延迟值保持输入信号总持续时间的10%。例如:

      farrowfilt = dsp.variableFractiondeDelay('InterpolationMethod''farrow');generatehdl(farrowfilt,'inputDatatype',numerictype(1,18,17),......'fractionaldelaydatype',numerictype(1,8,7),......'generatehdltestbench''在'......'testbenchfracdelaystimulus''randsweep');

    • 'rampsweep':逐渐增加的值矢量从0到1的范围内增加。该刺激信号的持续时间与过滤器的输入相同,但速度较慢的变化。从向量中获得的每个分数延迟值保持输入信号总持续时间的10%。

    • 用户定义的刺激矢量。您可以传递向量以定义自己的刺激。例如:

      farrowfilt = dsp.variableFractiondeDelay('InterpolationMethod''farrow');mytestv = [0.5 * one(1,512),0.2 * on(1,513)];generatehdl(farrowfilt,'inputDatatype',numerictype(1,18,17),......'fractionaldelaydatype',numerictype(1,8,7),......'generatehdltestbench''在'......'testbenchstimulus',{'chirp'},......'testbenchfracdelaystimulus',mytestv);

      笔记

      用户定义的分数延迟刺激信号必须具有与测试台信号相同的长度。如果两个信号没有相同的长度,则测试台面生成终止于错误消息。错误消息显示信号长度。例如:

      farrowfilt = dsp.variableFractiondeDelay('InterpolationMethod''farrow');mytestv = [0.5 * one(1,512),0.2 * on(1,513)];generatehdl(farrowfilt,'inputDatatype',numerictype(1,18,17),......'fractionaldelaydatype',numerictype(1,8,7),......'generatehdltestbench''在'......'testbenchstimulus',{'chirp''噪音'},......'testbenchfracdelaystimulus',mytestv);
      使用HDLFilter.AbstractFarrow / GenVecDataForFarrow错误的Fracdelay(1025)和输入(2050)的指定向量的长度不匹配。

Farrow过滤器的UI选项

过滤器设计HDL Coder™UI提供了生成Farrow过滤器代码的选项。这些选项对应于所描述的属性Farrow滤波器的代码生成属性

笔记

The Farrow filter options are displayed only when a Farrow filter is selected for HDL code generation.

Farrow过滤器代码生成支持以下属性:金宝app

  • 在“生成HDL”对话框中,在“全局设置>端口标签,分数延迟港口指定生成代码中的分数延迟端口的名称。默认名称是filter_fd.

  • 在“生成HDL”对话框中,在“测试台>刺激标签,使用分数延迟刺激选择刺激信号。该信号应用于生成的测试台中的分数延迟端口。

    使用分数延迟刺激选择生成的代码中的刺激信号类型:

    • 从过滤器获取值(默认)。内部常数值应用于分数延迟端口。

    • 斜坡扫。从0到1的范围内递增的值的矢量与滤波器的输入相同,但速度与滤波器相同,但速率较慢。从向量中获得的每个分数延迟值保持输入信号总持续时间的10%。

    • 随机扫描。随机值的向量0和1之间的随机值与滤波器的输入相同,但速度较慢的变化。从向量中获得的每个分数延迟值保持输入信号总持续时间的10%。

    • 用户自定义。选择此选项时,该选项用户定义的刺激框已启用。您可以输入一个向量来定义自己的刺激,如下图所示:

相关话题