主要内容

fdesign.nyquist

NYQUIST过滤器规范

句法

d = fdesign.nyquist
d = fdesign.nyquist(l,spec)
d = fdesign.nyquist(l,spec,specvalue1,specvalue2,...)
d = fdesign.nyquist(L,Specvalue1,Specvalue2)
d = fdesign.nyquist(...,fs)
d = fdesign.nyquist(...,魔法)

描述

d = fdesign.nyquist构建Nyquist或L波段过滤器规范对象d,应用属性默认值TWast。默认情况下,滤波器对象设计了最小订单的半波段(L = 2)Nyquist滤波器。

使用fdesign.nyquist随着设计方法生成系统对象™,如果“系统对象”设计方法设置为真的

d = fdesign.nyquist(l,spec)构造对象d并设置它规格财产为规格。利用l要指定L。L= 2设计半波段FIR滤波器的所需值,L = 3 A第三频FIR滤波器等等。当您使用Nyquist滤波器作为插值器时,L或L是插值因子。当您不使用默认语法时,第一个输入参数必须为ld = fdesign.nyquist

条目规格表示控制过滤器设计的各种滤波器响应特征,例如过滤器。有效的条目规格如下所示。条目不敏感。

  • TW,,,,ast(默认选项)

  • n,,,,TW

  • n

  • n,,,,ast

在哪里,

  • ast- 在分贝的停止乐队中的衰减(默认单元)。

  • n- 过滤订单。

  • TW- 通过和停止带之间的过渡区域的宽度。在归一化频率单元中指定。

适用于Nyquist滤波器规范对象的过滤设计方法,具体取决于规格选项。利用DesignMethods确定哪种设计方法适用于对象及其规范选项。不同的滤镜设计方法还具有您可以指定的选项。利用DesignOpts使用设计方法来查看可用选项。例如:

f = fdesign.nyquist(4,'n,tw');DesignMethods(F)

d = fdesign.nyquist(l,spec,specvalue1,specvalue2,...)构建一个对象d并将其规范设置为规格,以及规范值SpecValue1,,,,SpecValue2,等等。

d = fdesign.nyquist(L,Specvalue1,Specvalue2)构建一个对象d您提供的值l,,,,SpecValue1,SpecValue2作为l,,,,TWast

d = fdesign.nyquist(...,fs)添加参数FS,以HZ指定以定义要使用的采样频率。在这种情况下,规格中的所有频率也在Hz中。

d = fdesign.nyquist(...,魔法)指定您在输入参数中提供的任何规范规范的单位。魔术可以是之一

  • 线性- 在线性单元中指定大小

  • D b- 指定DB(分贝)中的大小

  • 平方- 指定功率单元的幅度

当您省略魔术争论,fdesign假设所有幅度都在分贝中。注意fdesign无论您如何指定幅度如何,都将所有幅度的规格存储在分贝中(必要时转换为分贝)。

Nyquist Fdesign对象的局限性

使用Nyquist过滤器规范对象equiripple设计方法对由此产生的过滤器施加了一些限制equiripple设计算法。

  • 当您要求从equiripple使用您的Nyquist对象,设计算法可能不会收敛,并且会因过滤器收敛误差而失败。

  • 指定所需过滤器的顺序时,请使用equiripple设计方法,设计可能不会收敛。

  • 通常,以下规格单独或彼此结合,可能会导致滤镜对象的过滤融合问题和equiripple设计方法。

    • 非常高的顺序

    • 小过渡宽度

    • 非常大的停止带衰减

请注意,半频带过滤器(频段= 2的过滤器)不会表现出收敛问题。

当出现收敛性问题时,在提到的情况下或在其他情况下,您可能能够使用Kaiserwin方法。

此外,如果您使用Nyquist对象来设计清除器或插值器(其中插值或拆卸因子不是质量数字),则使用多阶段过滤器设计可能是您的最佳方法。

例子

全部收缩

这些示例显示了如何构建Nyquist过滤器规范对象。

首先,在不使用输入参数的情况下创建一个默认规格对象。

d = fdesign.nyquist;%#好的

现在,通过传递规范类型“ n,ast”来创建对象 - 结果对象使用n和ast的默认值。

d = fdesign.nyquist(2,'n,ast');%#好的

创建另一个Nyquist过滤对象,将规范值传递给对象,而不是接受N和AST的默认值。

d = fdesign.nyquist(3,'n,ast',42,80)%#好的
d =带有属性的奈奎斯特:响应:'nyquist'规范:'n,ast'描述:{2x1 cell}归一化频率:1 filterorder:42 astop:80 band:3

最后,传递与默认规范相对应的过滤器规格-TT,AST。当您仅通过值时,fdesign.nyquist假设默认规范选项。

d = fdesign.nyquist(4,.01,80)
d =具有属性的奈奎斯特:响应:'nyquist'规范:'tw,ast'描述:{2x1 cell}归一化频率:1 transitionWidth:0.0100 astop:80 band:4

现在,使用Kaiserwin设计方法设计了Nyquist过滤器。

HD =设计(D,'kaiserwin',,,,“系统对象”,真的);

创建有或没有非负零相响应的两个Equiripple Nyquist第四波段过滤器:

f = fdesign.nyquist(4,'n,tw',12,0.2);

Equiripple Nyquist 4频段滤波器具有非负零相响应

HD1 =设计(F,'equiripple',,,,'Zerophase',真的,“系统对象”,真的);

Equiripple nyquist第四波段过滤器,带有“ Zerophase”设置为false“ Zerophase”,false是默认值

hd2 =设计(f,'equiripple',,,,'Zerophase',错误的,“系统对象”,真的);

获得实价振幅(不是幅度)

[hr_zerophase,〜] = Zerophase(HD1);[HR,W] = Zerophase(HD2);

情节和比较响应

情节(w,hr_zerophase,'K',,,,'行宽',2);Xlabel(“弧度/样品”);ylabel('振幅');抓住;情节(w,hr,'r');轴紧的;网格;传奇(与“ Zerophase”,真实',,,,“'zerophase''false');

图包含一个轴对象。轴对象包含2个类型行的对象。这些对象以“ Zerophase”为代表,是真实的,带有“ Zerophase” false。

请注意,对于所有频率,零相响应(黑线)的幅度均非负。

“ Zerophase”选项仅适用于带有“ N,TW”规范的Equiripple Nyquist设计。您不能指定“ minphase”和“ zerophase”的“ true”。

版本历史记录

在R2011a中引入