主要内容

抽取/插补器的多级设计

这个例子展示了如何设计多级抽取器和插值器。这个例子有效的窄带过渡带FIR滤波器设计展示如何应用IFIR和多级方法来设计低通滤波器的单速率。该技术可推广到多级抽取器和/或插补器的设计。IFIR方法的结果是一个2级抽取/插补器。对于多级方法,多级的数量可以自动优化或手动控制。

降低信号的采样率

抽取器用于降低信号的采样率,同时按比例降低带宽。例如,为了将速率从48mhz降低到1mhz,一个48的因子,以下是低通滤波器的典型规格,它将相应地减少带宽。

Fs = 48 e6;TW = 100年e3;Astop = 80;%最小阻带衰减M = 48;%大量毁灭的因素

一个简单的多级设计给出了这些规格

multidecim = designMultistageDecimator (M, Fs, TW Astop);

分析多级滤波器

要分析最终的设计,可以使用几个功能

信息(multidecim)%提供一些关于多级滤波器的信息成本(multidecim)确定实施成本fvtool (multidecim)可视化整体幅度反应、群体延迟等
ans = '离散滤波器级联  ---------------------------- 数量的阶段:5 Stage1: dsp。FIRDecimator ------- Discrete-Time FIR Multirate Filter (real) ----------------------------------------- Filter Structure: Direct-Form FIR Polyphase Decimator Decimation Factor: 2 Polyphase Length: 4 Filter Length: 7 Stable: Yes Linear Phase: Yes (Type 1)算术:double Stage2: dspFIRDecimator ------- Discrete-Time FIR Multirate Filter (real) ----------------------------------------- Filter Structure: Direct-Form FIR Polyphase Decimator Decimation Factor: 2 Polyphase Length: 4 Filter Length: 7 Stable: Yes Linear Phase: Yes (Type 1) Arithmetic: double Stage3: dspFIRDecimator ------- Discrete-Time FIR Multirate Filter (real) ----------------------------------------- Filter Structure: Direct-Form FIR Polyphase Decimator Decimation Factor: 2 Polyphase Length: 6 Filter Length: 11 Stable: Yes Linear Phase: Yes (Type 1)算术:double Stage4: dspFIRDecimator ------- Discrete-Time FIR Multirate Filter (real) ----------------------------------------- Filter Structure: Direct-Form FIR Polyphase Decimator Decimation Factor: 3 Polyphase Length: 11 Filter Length: 33 Stable: Yes Linear Phase: Yes (Type 1)算术:double Stage5: dsp(真实FIRDecimator——离散冷杉多重速率的过滤器 ) ----------------------------------------- 滤波器结构:直接形式冷杉多相杀害多人者大量毁灭因素:2多相长度:48滤波器长度:95稳定:是的线性相位:是的(1型)算术:双“ans =结构体字段:NumCoefficients: 89 NumStates: 146 MultiplicationsPerInputSample: 6.6042 AdditionsPerInputSample: 5.6667

与单级Decimator相比

多级设计在每个输入样本的乘法和滤波器系数的总数方面是有效的。与单级设计比较。

singledecim = designMultistageDecimator (M, Fs、TW Astop,“NumStages”1);成本(singledecim)确定实施成本fvtool (multidecim singledecim)传说(“多级”,“Singlestage”)
ans = struct with fields: NumCoefficients: 2361 NumStates: 2400 MultiplicationsPerInputSample: 49.1875 AdditionsPerInputSample: 49.1667 . ans = struct with fields: NumCoefficients: 2361 NumStates: 2400 MultiplicationsPerInputSample: 49.1875 AdditionsPerInputSample: 49.1667

控制级数

默认情况下,阶段的数量是自动确定的,以最小化实现成本。级数可以手动设置为1到抽取因子中质数因子的数目之间的任意数。仅仅增加到两个阶段就会产生显著的差异。

twostagedecim = designMultistageDecimator (M, Fs、TW Astop,“NumStages”2);成本(twostagedecim)
ans = struct with fields: NumCoefficients: 218 NumStates: 265 MultiplicationsPerInputSample: 9.2500 AdditionsPerInputSample: 9.1667

使系数的数量最小化

默认情况下,每个输入样本的乘法最小。它也可能使系数的数目最小化。

mincoeffdecim = designMultistageDecimator (M, Fs、TW Astop,“MinTotalCoeffs”,真正的);成本(mincoeffdecim)
ans = struct with fields: NumCoefficients: 87 NumStates: 147 MultiplicationsPerInputSample: 6.8125 AdditionsPerInputSample: 6

相比multidecim,系数的数目较低,但每个输入样本的乘法次数较高。

估算与设计来决定成本

默认情况下,最好的多级配置是通过估计每个阶段所需的系数的数目来确定的。一个较慢,但更精确的方法,设计所有的滤波器候选和确定实际系数的数量,以找到最优解。

optimaldecim = designMultistageDecimator (M, Fs、TW Astop,“CostMethod”,“设计”);成本(optimaldecim) fvtool (multidecim optimaldecim)
ans = struct with fields: NumCoefficients: 87 NumStates: 146 MultiplicationsPerInputSample: 6.5625 AdditionsPerInputSample: 5.6667

多级插补器设计

在设计多级插补器时,也可以节省类似的费用。与所有插补器一样,整体设计的增益等于插补系数。

multiinterp = designMultistageInterpolator (8);fvtool (multiinterp)

总结

多级技术的使用可以在实现decimator /interpolator时提供显著的计算节省。