cfirpmGydF4y2Ba

复非线性相位等波纹FIR滤波器设计GydF4y2Ba

句法GydF4y2Ba

B = cfirpm(N,F,@GydF4y2BafrespGydF4y2Ba)GydF4y2Ba
B = cfirpm(N,F,@GydF4y2BafrespGydF4y2Ba,西)GydF4y2Ba
B = cfirpm(N,F,A)GydF4y2Ba
B = cfirpm(N,F,A,W)GydF4y2Ba
B = cfirpm(...,GydF4y2Ba“符号”GydF4y2Ba)GydF4y2Ba
B = cfirpm(..., 'skip_stage2')GydF4y2Ba
B = cfirpm(...,GydF4y2Ba“调试”GydF4y2Ba)GydF4y2Ba
B = cfirpm(...,{lgrid})GydF4y2Ba
并[b,δ= cfirpm(...)GydF4y2Ba
并[b,δ,选择] = cfirpm(...)GydF4y2Ba

说明GydF4y2Ba

cfirpmGydF4y2Ba允许为可能复杂的GydF4y2BaFIR滤波器。切比雪夫(或极小)滤波器误差被优化,产生等波纹FIR滤波器的设计。GydF4y2Ba

B = cfirpm(N,F,@GydF4y2BafrespGydF4y2Ba)GydF4y2Ba返回一个长度GydF4y2Ban + 1个GydF4y2Ba如由函数返回FIR滤波器用的最佳近似为所需的频率响应GydF4y2BafrespGydF4y2Ba,这是由它的功能句柄调用(GydF4y2Ba@湿壁画GydF4y2Ba)。GydF4y2BaFGydF4y2Ba是频带边缘对的矢量,在-1和1范围内指定,其中1对应于标准化的奈奎斯特频率。频率必须以递增的顺序,并且GydF4y2BaFGydF4y2Ba长度必须相等。频带跨度GydF4y2BaF(k)的GydF4y2Ba至GydF4y2BaF(K + 1)GydF4y2Ba对于GydF4y2BaķGydF4y2Ba奇数;间隔GydF4y2BaF(K + 1)GydF4y2Ba至GydF4y2BaF(K + 2)GydF4y2Ba对于GydF4y2BaķGydF4y2Ba奇怪的是“过渡带”或优化过程中“不关心”的区域。GydF4y2Ba

预定义GydF4y2BafrespGydF4y2Ba频率响应函数被包括用于一些共同的滤波器设计,如下文所述。(看到GydF4y2Ba创建功能处理GydF4y2Ba(MATLAB)获取有关如何创建自定义GydF4y2BafrespGydF4y2Ba函数。)对于所有预定义的频率响应函数,对称选项GydF4y2Ba“符号”GydF4y2Ba默认GydF4y2Ba'甚至'GydF4y2Ba如果没有负频率包含在GydF4y2BaFGydF4y2Ba和GydF4y2BadGydF4y2Ba=GydF4y2Ba0GydF4y2Ba;否则GydF4y2Ba“符号”GydF4y2Ba默认GydF4y2Ba'没有'GydF4y2Ba。(见GydF4y2Ba“符号”GydF4y2Ba选项下面的详细资料)。对于所有的预定义频率响应函数,GydF4y2BadGydF4y2Ba指定一组延迟偏移,使得所述过滤器响应具有的群延迟GydF4y2BaN / 2 + dGydF4y2Ba在采样间隔为单位。负值产生更少的延迟;正值创造更多的延迟。默认GydF4y2BadGydF4y2Ba=GydF4y2Ba0GydF4y2Ba:GydF4y2Ba

  • @低通GydF4y2Ba,GydF4y2Ba@highpassGydF4y2Ba,GydF4y2Ba@全部通过GydF4y2Ba,GydF4y2Ba@bandpassGydF4y2Ba,GydF4y2Ba@bandstopGydF4y2Ba

    这些函数共享一个通用语法,如下所示GydF4y2Ba@低通GydF4y2Ba。GydF4y2Ba

    B = cfirpm(N,F,@低通,...)GydF4y2Ba和GydF4y2Ba

    b=cfirpm(n,f,{@lowpass,d},…)GydF4y2Ba设计一个线性相位(GydF4y2BaN / 2 + dGydF4y2Ba延迟)滤波器。GydF4y2Ba

    注意GydF4y2Ba

    对于GydF4y2Ba@bandpassGydF4y2Ba滤波器,在频率向量的第一个元素必须小于或等于零,并且最后一个元素必须大于或等于零。GydF4y2Ba

  • @multibandGydF4y2Ba设计了一种具有任意频带振幅的线性相频响应滤波器。GydF4y2Ba

    B = cfirpm(N,F,{@多频带中,},...)GydF4y2Ba和GydF4y2Ba

    B = cfirpm(N,F,{@多频带中,a,d},...)GydF4y2Ba指定矢量GydF4y2Ba一个GydF4y2Ba含有所需振幅在频带边缘中GydF4y2BaFGydF4y2Ba。在频率对点之间的期望的幅度GydF4y2BaF(k)的GydF4y2Ba和GydF4y2BaF(K + 1)GydF4y2Ba对于GydF4y2BaķGydF4y2Ba奇的是线段连接点GydF4y2Ba(F(k)时,一个(k))的GydF4y2Ba和GydF4y2Ba(F(K + 1),第(k + 1))GydF4y2Ba。GydF4y2Ba

  • @微分器GydF4y2Ba设计了一个线性相位微分。对于这些设计中,零频率必须在一过渡频带,并且频带加权被设定为与频率成反比。GydF4y2Ba

    b=cfirpm(n,f,{@differentior,fs},…)GydF4y2Ba和GydF4y2Ba

    b=cfirpm(n,f,{@differentior,fs,d},…)GydF4y2Ba指定的采样率GydF4y2BaFSGydF4y2Ba用于确定微分器响应的斜率。如果省略,GydF4y2BaFSGydF4y2Ba缺省值为1。GydF4y2Ba

  • @hilbfiltGydF4y2Ba设计了线性相位希尔伯特变换滤波器响应。对于希尔伯特设计,零频率必须在过渡带内。GydF4y2Ba

    B = cfirpm(N,F,@ hilbfilt,...)GydF4y2Ba和GydF4y2Ba

    B = cfirpm(N,F,{@ hilbfilt,d},...)GydF4y2Ba设计一个线性相位(GydF4y2BaN / 2 + dGydF4y2Ba延迟)希尔伯特变换滤波器。GydF4y2Ba

  • @invsincGydF4y2Ba设计了一个线性相位逆sinc滤波器响应。GydF4y2Ba

    B = cfirpm(N,F,{@ invsinc,一个},...)GydF4y2Ba和GydF4y2Ba

    B = cfirpm(N,F,{@ invsinc中,a,d},...)GydF4y2Ba指定增益GydF4y2Ba一个GydF4y2Ba为sinc函数,计算为正弦(GydF4y2Ba一个GydF4y2Ba*GydF4y2BaGGydF4y2Ba),其中GydF4y2BaGGydF4y2Ba含有归一化到范围[-1,1]的优化网格的频率。默认,GydF4y2Ba一个GydF4y2Ba= 1中的群延时偏移GydF4y2BadGydF4y2Ba,使得过滤器响应将具有一组延迟GydF4y2BañGydF4y2Ba/ 2 +GydF4y2BadGydF4y2Ba在采样间隔,其中N是滤波器的阶数的单位。负值产生更少的延迟和积极的价值观创造更多的延迟。默认,GydF4y2BadGydF4y2Ba= 0。GydF4y2Ba

B = cfirpm(N,F,@GydF4y2BafrespGydF4y2Ba,西)GydF4y2Ba采用矢量实,非负的权重GydF4y2Baw ^GydF4y2Ba在每个频带中加权拟合。长度GydF4y2Baw ^GydF4y2Ba是长度的一半GydF4y2BaFGydF4y2Ba,所以每个乐队只有一个重量。GydF4y2Ba

B = cfirpm(N,F,A)GydF4y2Ba是的代名词GydF4y2BaB = cfirpm(N,F,{@多频带,一个})GydF4y2Ba。GydF4y2Ba

B = cfirpm(N,F,A,W)GydF4y2Ba应用可选的一组正权,每一个波段,对于优化过程中使用的。如果GydF4y2Baw ^GydF4y2Ba未指定,权重设置为统一。GydF4y2Ba

B = cfirpm(...,GydF4y2Ba“符号”GydF4y2Ba)GydF4y2Ba强加的设计,其中的脉冲响应对称约束GydF4y2Ba“符号”GydF4y2Ba可以是下列之一:GydF4y2Ba

  • '没有'GydF4y2Ba表示没有对称约束。这是默认如果任何负频带边缘的频率被传递,或者如果GydF4y2BafrespGydF4y2Ba不提供默认。GydF4y2Ba

  • '甚至'GydF4y2Ba表示一个真正的,甚至脉冲响应。这是高通,低通,全通,带通,带阻,反正弦和多频带设计的默认设置。GydF4y2Ba

  • '奇'GydF4y2Ba表示实脉冲响应和奇脉冲响应。这是希尔伯特和微分器设计的默认值。GydF4y2Ba

  • '真实'GydF4y2Ba指示用于频率响应共轭对称GydF4y2Ba

如果有任何GydF4y2Ba“符号”GydF4y2Ba选项比其它GydF4y2Ba'没有'GydF4y2Ba被指定时,所述频带边缘应该仅在正频率指定;负频率区域被填充在从对称性。如果一个GydF4y2Ba“符号”GydF4y2Ba没有指定选项时,GydF4y2BafrespGydF4y2Ba查询函数以获取默认设置。任何用户提供GydF4y2BafrespGydF4y2Ba函数应返回有效的GydF4y2Ba“符号”GydF4y2Ba当它传递选项GydF4y2Ba“默认”GydF4y2Ba作为滤波器的阶GydF4y2BañGydF4y2Ba。GydF4y2Ba

B = cfirpm(..., 'skip_stage2')GydF4y2Ba禁用第二阶段优化算法,该算法仅在GydF4y2BacfirpmGydF4y2Ba确定最佳的解决方案没有被标准达到GydF4y2Ba转速GydF4y2Ba错误交换。禁用此算法可以提高计算速度,但可能会招致精度的下降。默认情况下,第二阶段优化启用。GydF4y2Ba

B = cfirpm(...,GydF4y2Ba“调试”GydF4y2Ba)GydF4y2Ba使得过滤器的设计,其中在中间结果的显示GydF4y2Ba“调试”GydF4y2Ba可能是一个GydF4y2Ba'跟踪'GydF4y2Ba,GydF4y2Ba“阴谋”GydF4y2Ba,GydF4y2Ba'都'GydF4y2Ba, 要么GydF4y2Ba'关闭'GydF4y2Ba。默认情况下,它被设置为GydF4y2Ba'关闭'GydF4y2Ba。GydF4y2Ba

B = cfirpm(...,{lgrid})GydF4y2Ba使用整型GydF4y2Ba同性恋GydF4y2Ba控制频率网格的密度GydF4y2Ba2 ^ nextpow2(lgrid * N)GydF4y2Ba频点。作为默认值GydF4y2Ba同性恋GydF4y2Ba是GydF4y2Ba25GydF4y2Ba。注意,GydF4y2Ba{} lgridGydF4y2Ba参数必须是1×1的单元阵列。GydF4y2Ba

的任意组合GydF4y2Ba“符号”GydF4y2Ba,GydF4y2Ba'skip_stage2'GydF4y2Ba,GydF4y2Ba“调试”GydF4y2Ba和GydF4y2Ba{} lgridGydF4y2Ba选项可被指定。GydF4y2Ba

并[b,δ= cfirpm(...)GydF4y2Ba返回最大波动高度GydF4y2Ba三角洲GydF4y2Ba。GydF4y2Ba

并[b,δ,选择] = cfirpm(...)GydF4y2Ba返回结构GydF4y2Ba选择GydF4y2Ba通过计算可选的结果GydF4y2BacfirpmGydF4y2Ba并包含以下字段。GydF4y2Ba

领域GydF4y2Ba

说明GydF4y2Ba

opt.fgridGydF4y2Ba

用于滤波器的设计优化频率网格矢量GydF4y2Ba

opt.desGydF4y2Ba

对于中的每个点所期望的频率响应GydF4y2Baopt.fgridGydF4y2Ba

opt.wtGydF4y2Ba

加权在每个点GydF4y2Baopt.fgridGydF4y2Ba

opt.HGydF4y2Ba

在每个点的实际频率响应GydF4y2Baopt.fgridGydF4y2Ba

选择错误GydF4y2Ba

中每个点的错误GydF4y2Baopt.fgridGydF4y2Ba

选项iextrGydF4y2Ba

指数的载体导入GydF4y2Baopt.fgridGydF4y2Ba对于极端频率GydF4y2Ba

opt.fextrGydF4y2Ba

极值频率矢量GydF4y2Ba

用户可定义的功能可以被用来代替用于预定义频率响应函数,@GydF4y2BafrespGydF4y2Ba。该功能是从内部被称为GydF4y2BacfirpmGydF4y2Ba使用下面的语法GydF4y2Ba

[出生时,出生时]=GydF4y2BafrespGydF4y2Ba(N,F,GF,W,P1,P2,...)GydF4y2Ba

哪里:GydF4y2Ba

  • ñGydF4y2Ba是滤波器的阶数。GydF4y2Ba

  • FGydF4y2Ba是出现单调频带边缘的矢量-1和1之间,其中1个对应于奈奎斯特频率。GydF4y2Ba

  • GFGydF4y2Ba是已经由被线性内插在每一个指定的频带的网格点的向量GydF4y2BacfirpmGydF4y2Ba。GydF4y2BaGFGydF4y2Ba确定频率网格在该响应函数必须被评估。这是通过返回的相同数据GydF4y2BacfirpmGydF4y2Ba在GydF4y2BafgridGydF4y2Ba领域GydF4y2Ba选择GydF4y2Ba结构体。GydF4y2Ba

  • w ^GydF4y2Ba是真实的,正的权重,每个频带一个,优化过程中所使用的向量。GydF4y2Baw ^GydF4y2Ba在调用可选GydF4y2BacfirpmGydF4y2Ba;如果未指定,则在传递给GydF4y2BafrespGydF4y2Ba。GydF4y2Ba

  • DHGydF4y2Ba和GydF4y2BaDWGydF4y2Ba在期望的复杂的频率响应和频带的权值向量,分别在网格中的每个频率评价GydF4y2BaGFGydF4y2Ba。GydF4y2Ba

  • P1GydF4y2Ba,GydF4y2BaP2GydF4y2Ba,GydF4y2Ba...GydF4y2Ba,是可被传递到可选参数GydF4y2BafrespGydF4y2Ba。GydF4y2Ba

此外,初步调用来制作GydF4y2BafrespGydF4y2Ba确定默认的对称性GydF4y2Ba“符号”GydF4y2Ba。该呼叫是使用语法做:GydF4y2Ba

符号=GydF4y2BafrespGydF4y2Ba( '缺省',{N,F,[],W,P1,P2,...})GydF4y2Ba

该参数可用于确定适当的对称性默认根据需要来使用。您可以使用本地功能GydF4y2Ba低通GydF4y2Ba作为用于生成新的频率响应函数的模板。为了找到GydF4y2Ba低通GydF4y2Ba功能型GydF4y2Ba编辑cfirpmGydF4y2Ba在命令行中搜索GydF4y2Ba低通GydF4y2Ba在GydF4y2BacfirpmGydF4y2Ba代码。您可以复制、修改、重命名该函数并将其保存在路径中。GydF4y2Ba

例子GydF4y2Ba

全部收缩GydF4y2Ba

设计了31抽头线性相位低通滤波器。显示其幅度和相位响应。GydF4y2Ba

b=cfirpm(30,[-1-0.5-0.4 0.7 0.8 1],@低通);fvtool(b,1,GydF4y2Ba'OverlayedAnalysis'GydF4y2Ba,GydF4y2Ba'相'GydF4y2Ba)GydF4y2Ba

设计的顺序22非线性相全通FIR滤波器与由近似给出频率响应GydF4y2Ba EXPGydF4y2Ba (GydF4y2Ba -GydF4y2Ba ĴGydF4y2Ba πGydF4y2Ba FGydF4y2Ba ñGydF4y2Ba /GydF4y2Ba 2GydF4y2Ba +GydF4y2Ba ĴGydF4y2Ba 4GydF4y2Ba πGydF4y2Ba FGydF4y2Ba |GydF4y2Ba FGydF4y2Ba |GydF4y2Ba )GydF4y2Ba ,其中GydF4y2Ba FGydF4y2Ba ∈GydF4y2Ba [GydF4y2Ba -GydF4y2Ba 1GydF4y2Ba ,GydF4y2Ba 1GydF4y2Ba ]GydF4y2Ba 。GydF4y2Ba

N = 22;GydF4y2Ba%筛选顺序GydF4y2BaF = [-1 1];GydF4y2Ba%频带边缘GydF4y2BaW = [1 1];GydF4y2Ba优化%权重GydF4y2BaGF = linspace(-1,1,256);GydF4y2Ba的频率分%网格GydF4y2Bad = EXP(-1i * PI * GF * N / 2 + 1 I * PI * PI *符号(GF)* GF * GF *(4 / PI));GydF4y2Ba%期望的频率响应GydF4y2Ba

采用GydF4y2BacfirpmGydF4y2Ba计算FIR滤波器。情节分贝实际的和近似的幅度响应和度的相位响应。GydF4y2Ba

b=cfirpm(n,f,GydF4y2Ba'全部通过'GydF4y2Ba,西,GydF4y2Ba'真实'GydF4y2Ba);GydF4y2Ba%逼近GydF4y2Bafreqz(B,1256,GydF4y2Ba'整个'GydF4y2Ba)子批次(2,1,1)GydF4y2Ba%叠加响应GydF4y2Ba保持GydF4y2Ba上GydF4y2Ba情节(PI *(GF + 1),20 *日志10(ABS(fftshift(d))),GydF4y2Ba'R--'GydF4y2Ba)副区(2,1,2)保持GydF4y2Ba上GydF4y2Ba绘图(pi*(gf+1),展开(角度(fftshift(d)))*180/pi,GydF4y2Ba'R--'GydF4y2Ba)图例(GydF4y2Ba'近似'GydF4y2Ba,GydF4y2Ba“所需的”GydF4y2Ba,GydF4y2Ba'位置'GydF4y2Ba,GydF4y2Ba'西南'GydF4y2Ba)GydF4y2Ba

算法GydF4y2Ba

该雷米兹交换方法的扩展版,是针对复杂的情况下实现的。这种交换方法获得当该过滤器的等波纹性质被限制为具有最优滤波器GydF4y2BaN + 2GydF4y2Baextremals。当它不收敛,算法切换到上升 - 下降算法接管到完成收敛到最优解。详情参见参考文献。GydF4y2Ba

工具书类GydF4y2Ba

[1] Demjanjov,V. F.,和V. N. Malozemov。GydF4y2Ba简介极小GydF4y2Ba。纽约:John Wiley和Sons,1974年。GydF4y2Ba

[2] 卡拉姆,L.J。GydF4y2Ba过滤由切比雪夫意义复杂FIR数字设计GydF4y2Ba。博士论文,科技,1995年3月的佐治亚理工学院。GydF4y2Ba

[3]卡拉姆,L.J。,和J. H.麦克莱伦。“复杂切比雪夫逼近FIR数字滤波器设计。”GydF4y2BaIEEEGydF4y2Ba®GydF4y2Ba交易电路与系统IIGydF4y2Ba,1995年3月,第207-216。GydF4y2Ba

扩展功能GydF4y2Ba

也可以看看GydF4y2Ba

|GydF4y2Ba|GydF4y2Ba|GydF4y2Ba

R2006a前推出GydF4y2Ba