如何找到 DVBS2 整形 SRRC 的滤波器系数?

Posted

技术标签:

【中文标题】如何找到 DVBS2 整形 SRRC 的滤波器系数?【英文标题】:How to find the filter coefficients for a DVBS2 shaping SRRC? 【发布时间】:2021-04-06 12:28:12 【问题描述】:

在 DVBS2 标准中,SRRC 过滤器定义为

如何找到滤波器的时域系数以进行实施?我不清楚这个的傅里叶逆变换。

【问题讨论】:

【参考方案1】:

对于 DVBS2 信号,您可以在定时恢复之前使用 RRC 匹配滤波器。对于匹配过滤器,您可以使用以下表达式:

例如,对于 n_ISI = 32 和 Roll of factor = 0.25,每个符号的任何样本都可以使用此 Matlab 代码:

SPS = 4; %for example
n_ISI=32;
rolloff = 0.25;    
n       = linspace(-n_ISI/2,n_ISI/2,n_ISI*SPS+1) ;

rrcFilt = zeros(size(n)) ;

for iter = 1:length(n)
    if n(iter) == 0
        rrcFilt(iter) = 1 - rolloff + 4*rolloff/pi ;
        
    elseif abs(n(iter)) == 1/4/rolloff
        rrcFilt(iter) = rolloff/sqrt(2)*((1+2/pi)*sin(pi/4/rolloff)+(1-2/pi)*cos(pi/4/rolloff)) ;
        
    else
        rrcFilt(iter) = (4*rolloff/pi)/(1-(4*rolloff*n(iter)).^2) * (cos((1+rolloff)*pi*n(iter)) + sin((1-rolloff)*pi*n(iter))/(4*rolloff*n(iter))) ;
    end
end

但是如果要使用SRRC,有两种方法: 1.如果在频域使用过滤,可以使用它的频率表示形式。对于实现,您可以使用您已记录的表达式。 2. 对于时域滤波,您应该定义 FIR 滤波器及其时间表示序列。这种SRRC脉冲的时间表示采用以下形式:

【讨论】:

以上是关于如何找到 DVBS2 整形 SRRC 的滤波器系数?的主要内容,如果未能解决你的问题,请参考以下文章

包含滤波器系数的 C++ 头文件 (.h) 或 C 中的 .h 文件

pulse shaping脉冲整形原因

matlab生成滤波器系数组

使用 FIR 滤波器过滤光谱

如何级联两个二阶巴特沃斯滤波器

Quartus设计FIR滤波器的系数文件格式(适用于FIR II的IP核)