cfirpmGydF4y2Ba

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

语法GydF4y2Ba

b=cfirpm(n,f@GydF4y2Ba弗雷斯普GydF4y2Ba)GydF4y2Ba
b=cfirpm(n,f@GydF4y2Ba弗雷斯普GydF4y2Baw)GydF4y2Ba
b = cfirpm (n、f)GydF4y2Ba
b=cfirpm(n,f,a,w)GydF4y2Ba
b=cfirpm(。。。,GydF4y2Ba“sym”GydF4y2Ba)GydF4y2Ba
b=cfirpm(…,'skip_stage2')GydF4y2Ba
b=cfirpm(。。。,GydF4y2Ba“调试”GydF4y2Ba)GydF4y2Ba
{lgrid} b = cfirpm(…)GydF4y2Ba
[b,三角洲]= cfirpm(…)GydF4y2Ba
[b,δ,选择]= cfirpm(…)GydF4y2Ba

描述GydF4y2Ba

cfirpmGydF4y2Ba允许任意的频域约束被指定为一个可能复杂的设计GydF4y2BaFIR滤波器。切比雪夫(或极大极小)滤波器误差得到优化,产生等波纹FIR滤波器设计。GydF4y2Ba

b=cfirpm(n,f@GydF4y2Ba弗雷斯普GydF4y2Ba)GydF4y2Ba返回一个长度GydF4y2Ban + 1GydF4y2BaFIR滤波器,与函数返回的期望频率响应具有最佳近似GydF4y2Ba弗雷斯普GydF4y2Ba,由其函数句柄(GydF4y2Ba@frespGydF4y2Ba).GydF4y2BaFGydF4y2Ba为频带边对向量,取值范围为-1和1,其中1对应归一化后的Nyquist频率。频率必须是递增的,而且GydF4y2BaFGydF4y2Ba长度必须是偶数。频带跨度GydF4y2Baf(k)GydF4y2Ba来GydF4y2Baf (k + 1)GydF4y2Ba对于GydF4y2BaKGydF4y2Ba奇怪的;的时间间隔GydF4y2Baf (k + 1)GydF4y2Ba来GydF4y2Baf (k + 2)GydF4y2Ba对于GydF4y2BaKGydF4y2Ba奇数是优化过程中的“过渡带”或“不关心”区域。GydF4y2Ba

预定义的GydF4y2Ba弗雷斯普GydF4y2Ba频率响应函数包括一些常见的滤波器设计,如下所述。(见GydF4y2Ba创建函数处理GydF4y2Ba(MATLAB)获取更多关于如何创建自定义的信息GydF4y2Ba弗雷斯普GydF4y2Ba函数)。对于所有预定义的频响函数,对称选项GydF4y2Ba“sym”GydF4y2Ba默认为GydF4y2Ba“甚至”GydF4y2Ba如果不包含负频率GydF4y2BaFGydF4y2Ba和GydF4y2BaDGydF4y2Ba=GydF4y2Ba0GydF4y2Ba;否则GydF4y2Ba“sym”GydF4y2Ba默认为GydF4y2Ba“没有”GydF4y2Ba. (见GydF4y2Ba“sym”GydF4y2Ba以下选项了解详细信息。)对于所有预定义的频率响应功能,GydF4y2BaDGydF4y2Ba指定组延迟偏移量,以使筛选器响应的组延迟为GydF4y2Ban / 2 + dGydF4y2Ba以样本间隔为单位。负值产生更少的延迟;正值会产生更多的延迟。默认情况下GydF4y2BaDGydF4y2Ba=GydF4y2Ba0GydF4y2Ba:GydF4y2Ba

  • @低通GydF4y2Ba,GydF4y2Ba@高通GydF4y2Ba,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

  • @多波段GydF4y2Ba设计了一种任意带幅线性相位频率响应滤波器。GydF4y2Ba

    b=cfirpm(n,f,{@multiband,a},…)GydF4y2Ba和GydF4y2Ba

    b = cfirpm (n、f {@multiband, a, d},…)GydF4y2Ba指定向量GydF4y2BaA.GydF4y2Ba在中的频带边缘包含所需振幅GydF4y2BaFGydF4y2Ba.在两对点之间的频率处期望的振幅GydF4y2Baf(k)GydF4y2Ba和GydF4y2Baf (k + 1)GydF4y2Ba对于GydF4y2BaKGydF4y2Ba奇数是连接点的线段GydF4y2Ba(f(k)、a(k))GydF4y2Ba和GydF4y2Ba(f (k + 1) (k + 1))GydF4y2Ba.GydF4y2Ba

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

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

    b = cfirpm (n、f {@differentiator fs d},…)GydF4y2Ba指定采样率GydF4y2Ba财政司司长GydF4y2Ba用于确定微分器响应的斜率。如果省略,GydF4y2Ba财政司司长GydF4y2Ba默认为1。GydF4y2Ba

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

    b = cfirpm (n、f、@hilbfilt…)GydF4y2Ba和GydF4y2Ba

    b=cfirpm(N,F,{@hilbfilt,d},…)GydF4y2Ba设计一个线性相位(GydF4y2Ban / 2 + dGydF4y2BaHilbert变换滤波器。GydF4y2Ba

  • @invsincGydF4y2Ba设计了一个线性相位反正弦滤波器响应。GydF4y2Ba

    b=cfirpm(n,f,{@invsinc,a},…)GydF4y2Ba和GydF4y2Ba

    b = cfirpm (n、f {@invsinc, a, d},…)GydF4y2Ba指定增益GydF4y2BaA.GydF4y2Ba对于sinc函数,计算为sinc(GydF4y2BaA.GydF4y2Ba*GydF4y2BaGGydF4y2Ba),在哪里GydF4y2BaGGydF4y2Ba包含标准化为范围[-1,1]的优化网格频率。默认情况下,GydF4y2BaA.GydF4y2Ba= 1。组延迟偏移量为GydF4y2BaDGydF4y2Ba,这样滤波器响应的群延迟为GydF4y2BaNGydF4y2Ba/2 +GydF4y2BaDGydF4y2Ba以采样间隔为单位,其中N是过滤器顺序。负值产生较少延迟,正值产生较多延迟。默认情况下,GydF4y2BaDGydF4y2Ba= 0.GydF4y2Ba

b=cfirpm(n,f@GydF4y2Ba弗雷斯普GydF4y2Baw)GydF4y2Ba使用向量中的实数非负权重GydF4y2BaWGydF4y2Ba对每个频带的拟合进行加权。的长度GydF4y2BaWGydF4y2Ba是长度的一半GydF4y2BaFGydF4y2Ba,所以每条带子只有一个重量。GydF4y2Ba

b = cfirpm (n、f)GydF4y2Ba是的同义词GydF4y2Bab = cfirpm (n、f} {@multiband,)GydF4y2Ba.GydF4y2Ba

b=cfirpm(n,f,a,w)GydF4y2Ba应用一组可选的正权值,每个频带一个,用于优化期间。如果GydF4y2BaWGydF4y2Ba如果未指定,则权重设置为统一。GydF4y2Ba

b=cfirpm(。。。,GydF4y2Ba“sym”GydF4y2Ba)GydF4y2Ba对设计的脉冲响应施加对称约束,其中GydF4y2Ba“sym”GydF4y2Ba可能是下列情况之一:GydF4y2Ba

  • “没有”GydF4y2Ba表示没有对称约束。如果通过任何负频带边缘频率,或者GydF4y2Ba弗雷斯普GydF4y2Ba不提供默认值。GydF4y2Ba

  • “甚至”GydF4y2Ba表示一个真实且均匀的脉冲响应。这是高通、低通、全通、带通、带阻、逆sinc和多频带设计的默认值。GydF4y2Ba

  • “奇怪”GydF4y2Ba表示实奇脉冲响应。这是Hilbert和微分器设计的默认值。GydF4y2Ba

  • “真实”的GydF4y2Ba表示频率响应的共轭对称GydF4y2Ba

如果有任何GydF4y2Ba“sym”GydF4y2Ba非GydF4y2Ba“没有”GydF4y2Ba如果指定,则仅应在正频率上指定频带边缘;负频率区域由对称填充。如果GydF4y2Ba“sym”GydF4y2Ba选项未指定,则GydF4y2Ba弗雷斯普GydF4y2Ba命令功能查询默认设置。任何用户提供的GydF4y2Ba弗雷斯普GydF4y2Ba函数应返回有效的GydF4y2Ba“sym”GydF4y2Ba选项,当它被传递时GydF4y2Ba“违约”GydF4y2Ba作为过滤顺序GydF4y2BaNGydF4y2Ba.GydF4y2Ba

b=cfirpm(…,'skip_stage2')GydF4y2Ba禁用第二阶段优化算法,该算法只在GydF4y2BacfirpmGydF4y2Ba确定标准尚未达到最佳解决方案GydF4y2BafirpmGydF4y2Baerror-exchange。禁用此算法可以提高计算速度,但可能导致精度降低。缺省情况下,开启第二阶段优化。GydF4y2Ba

b=cfirpm(。。。,GydF4y2Ba“调试”GydF4y2Ba)GydF4y2Ba允许在滤波器设计期间显示中间结果,其中GydF4y2Ba“调试”GydF4y2Ba可能是其中之一GydF4y2Ba“跟踪”GydF4y2Ba,GydF4y2Ba“阴谋”GydF4y2Ba,GydF4y2Ba“都是”GydF4y2Ba,或GydF4y2Ba“关闭”GydF4y2Ba。默认情况下,它设置为GydF4y2Ba“关闭”GydF4y2Ba.GydF4y2Ba

{lgrid} b = cfirpm(…)GydF4y2Ba使用整数GydF4y2BalgridGydF4y2Ba来控制频率网格的密度,它大致有GydF4y2Ba2^nextpow2(lgrid*n)GydF4y2Ba频率点。的默认值GydF4y2BalgridGydF4y2Ba是GydF4y2Ba25GydF4y2Ba.请注意,GydF4y2Ba{lgrid}GydF4y2Ba参数必须是一个1 × 1单元格数组。GydF4y2Ba

任何组合GydF4y2Ba“sym”GydF4y2Ba,GydF4y2Ba“跳过第二阶段”GydF4y2Ba,GydF4y2Ba“调试”GydF4y2Ba,GydF4y2Ba{lgrid}GydF4y2Ba可以指定选项。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

opt.errorGydF4y2Ba

每个点都有错误GydF4y2Baopt.fgridGydF4y2Ba

opt.iextrGydF4y2Ba

指数向量GydF4y2Baopt.fgridGydF4y2Ba对极值频率GydF4y2Ba

opt.fextrGydF4y2Ba

极值频率的向量GydF4y2Ba

可以使用用户自定义函数,而不是@的预定义频响函数GydF4y2Ba弗雷斯普GydF4y2Ba。该函数是从内部调用的GydF4y2BacfirpmGydF4y2Ba使用以下语法GydF4y2Ba

(dh, dw) =GydF4y2Ba弗雷斯普GydF4y2Ba(n、f gf, w, p1, p2,…)GydF4y2Ba

哪里:GydF4y2Ba

  • NGydF4y2Ba为过滤顺序。GydF4y2Ba

  • FGydF4y2Ba为单调出现在-1和1之间的频带边向量,其中1对应于Nyquist频率。GydF4y2Ba

  • 女朋友GydF4y2Ba是在每个指定的频带上线性插值的网格点的向量吗GydF4y2BacfirpmGydF4y2Ba.GydF4y2Ba女朋友GydF4y2Ba确定必须计算响应函数的频率网格。这与GydF4y2BacfirpmGydF4y2Ba在GydF4y2Ba弗里德GydF4y2Ba领域GydF4y2Ba选择GydF4y2Ba结构。GydF4y2Ba

  • WGydF4y2Ba是一个实数正权重向量,每个频带一个,在优化过程中使用。GydF4y2BaWGydF4y2Ba在调用中是可选的GydF4y2BacfirpmGydF4y2Ba;如果未指定,则在传递给之前将其设置为统一权重GydF4y2Ba弗雷斯普GydF4y2Ba.GydF4y2Ba

  • dhGydF4y2Ba和GydF4y2BadwGydF4y2Ba是否在网格中的每个频率上分别评估所需的复频率响应和频带权重向量GydF4y2Ba女朋友GydF4y2Ba.GydF4y2Ba

  • p1GydF4y2Ba,GydF4y2Bap2GydF4y2Ba,GydF4y2Ba...GydF4y2Ba,是可传递给的可选参数GydF4y2Ba弗雷斯普GydF4y2Ba.GydF4y2Ba

此外,还向以下人员发出了初步通知:GydF4y2Ba弗雷斯普GydF4y2Ba确定默认对称特性的步骤GydF4y2Ba“sym”GydF4y2Ba.这个调用使用语法:GydF4y2Ba

信谊=GydF4y2Ba弗雷斯普GydF4y2Ba(“违约”,{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],@lowpass);fvtool (b, 1GydF4y2Ba“重叠分析”GydF4y2Ba,GydF4y2Ba“阶段”GydF4y2Ba)GydF4y2Ba

设计一个22阶非线性全通FIR滤波器,其频率响应近似为GydF4y2Ba 经验值GydF4y2Ba (GydF4y2Ba -GydF4y2Ba JGydF4y2Ba πGydF4y2Ba FGydF4y2Ba NGydF4y2Ba /GydF4y2Ba 2.GydF4y2Ba +GydF4y2Ba JGydF4y2Ba 4.GydF4y2Ba πGydF4y2Ba FGydF4y2Ba |GydF4y2Ba FGydF4y2Ba |GydF4y2Ba )GydF4y2Ba ,在那里GydF4y2Ba FGydF4y2Ba ∈GydF4y2Ba [GydF4y2Ba -GydF4y2Ba 1.GydF4y2Ba ,GydF4y2Ba 1.GydF4y2Ba ]GydF4y2Ba .GydF4y2Ba

n = 22;GydF4y2Ba%过滤器订单GydF4y2Baf=[-11];GydF4y2Ba频带边缘GydF4y2Baw=[11];GydF4y2Ba%优化权重GydF4y2Ba女朋友= linspace (1256);GydF4y2Ba%频点网格GydF4y2Bad = exp(1 *π*广发* n / 2 + 1我*π*π*签署(gf)。*女朋友。*广发* (4 / pi));GydF4y2Ba期望频率响应GydF4y2Ba

使用GydF4y2BacfirpmGydF4y2Ba计算FIR滤波器。以dB为单位绘制实际和近似幅值响应,以度为单位绘制相位响应。GydF4y2Ba

b = cfirpm (n、fGydF4y2Ba“全通”GydF4y2Baw,GydF4y2Ba“真实”的GydF4y2Ba);GydF4y2Ba%近似值GydF4y2Bafreqz(b,1256,GydF4y2Ba“全部”GydF4y2Ba次要情节(2,1,1)GydF4y2Ba%叠加响应GydF4y2Ba持有GydF4y2Ba在GydF4y2Ba情节(π* (gf + 1), 20 * log10 (abs (fftshift (d))),GydF4y2Ba“r——”GydF4y2Ba次要情节(2,1,2)GydF4y2Ba在GydF4y2Ba情节(π* (gf + 1),打开(角(fftshift (d))) * 180 /π,GydF4y2Ba“r——”GydF4y2Ba)传说(GydF4y2Ba“近似值”GydF4y2Ba,GydF4y2Ba“渴望的”GydF4y2Ba,GydF4y2Ba“位置”GydF4y2Ba,GydF4y2Ba“西南”GydF4y2Ba)GydF4y2Ba

算法GydF4y2Ba

针对复杂的情况,实现了Remez交换方法的扩展版本。当滤波器的等波纹特性被限制为具有时,这种交换方法获得最佳滤波器GydF4y2Ban + 2GydF4y2Ba极值。当它不收敛时,该算法切换到一个上升下降算法接手完成收敛到最优解。详情请参阅参考资料。GydF4y2Ba

参考文献GydF4y2Ba

Demjanjov V. F.和V. N. Malozemov。GydF4y2Ba介绍极大极小GydF4y2Ba.纽约:约翰·威利父子公司,1974年出版。GydF4y2Ba

[2]卡拉姆反对,剩下GydF4y2Ba切比雪夫意义下的复数字FIR滤波器设计GydF4y2Ba博士论文,乔治亚理工学院,1995年3月。GydF4y2Ba

[3] Karam,L.J.和J.H.McClellan。“FIR滤波器设计的复切比雪夫近似。”GydF4y2BaIEEEGydF4y2Ba®GydF4y2Ba《电路与系统汇刊》2GydF4y2Ba,1995年3月,第207-216页。GydF4y2Ba

扩展功能GydF4y2Ba

另见GydF4y2Ba

|GydF4y2Ba|GydF4y2Ba|GydF4y2Ba

之前介绍过的R2006aGydF4y2Ba