根升余弦滤波器设计与可视化(MATLAB实现)
一、核心参数与设计原理
- 关键参数 滚降系数(β):控制过渡带陡峭程度(0 < β ≤ 1),β=0.5为典型值。 符号跨度(Span):截断的符号数,影响群延迟(Group Delay = Span/2)。 采样率(sps):每个符号的采样点数,决定时间分辨率。
- 设计公式 根升余弦滤波器的冲激响应为: 其中, \(t = n \cdot \frac{1}{2sps}\),( \(\beta\) )为滚降系数
二、MATLAB实现代码
%% 参数设置
beta = 0.5; % 滚降系数
span = 6; % 符号跨度(群延迟=3符号)
sps = 8; % 每个符号采样点数
rolloff = beta;
%% 生成根升余弦滤波器系数
b = rcosdesign(beta, span, sps, 'sqrt'); % 根升余弦滤波器
N = length(b); % 滤波器阶数=span*sps+1
%% 时域特性分析
figure;
subplot(2,1,1);
stem((0:N-1)/sps, b, 'filled', 'MarkerSize', 6);
grid on;
xlabel('时间 (符号单位)');
ylabel('幅度');
title('根升余弦滤波器时域冲激响应');
xlim([0 10/sps]);
%% 频域特性分析
H = fftshift(fft(b)); % 频率响应
f = (-N/2:N/2-1)/N * (2*sps); % 归一化频率轴(单位:sps)
subplot(2,1,2);
plot(f, abs(H));
hold on;
plot(f, angle(H), 'r--');
grid on;
xlabel('归一化频率 (×sps^{-1})');
ylabel('幅度/相位');
title('根升余弦滤波器频域响应');
legend('幅度谱', '相位谱');
xlim([-1.5 1.5]);
三、结果解析
- 时域特性 对称性:冲激响应关于中心点对称,满足线性相位特性。 主瓣宽度:由滚降系数β决定,β=0.5时主瓣宽度为2个符号周期。 群延迟:恒定群延迟为Span/2(本例中3符号),确保无码间干扰(ISI)。
- 频域特性 滚降特性:β=0.5时,-6dB带宽为1.5×sps(奈奎斯特带宽的1.5倍)。 过渡带:滚降系数越大,过渡带越平缓(β=1时带宽为2×sps)。 阻带衰减:β=0.5时阻带衰减约-40dB(需通过增加Span提升衰减)。
四、高级验证与优化
-
群延迟验证
[H,w] = freqz(b, 1, 1024); group_delay = -diff(angle(H))./diff(w); % 计算群延迟 figure; plot((w(1:end-1)+w(2:end))/2, group_delay); grid on; title('群延迟特性'); xlabel('归一化频率 (rad/sample)'); ylabel('延迟 (样本数)'); -
滚降系数对比
betas = [0.2, 0.5, 0.7]; figure; for i = 1:length(betas) b = rcosdesign(betas(i), span, sps, 'sqrt'); subplot(length(betas),1,i); stem((0:length(b)-1)/sps, b, 'filled'); title(sprintf('\\beta=%.1f 根升余弦滤波器', betas(i))); end
五、应用场景示例
-
信号成型
% 生成随机二进制序列 data = randi([0 1], 1, 100); % 上采样 upsampled = upsample(data, sps); % 滤波成型 shaped_signal = filter(b, 1, upsampled); -
匹配滤波
% 接收端匹配滤波(与发送端相同) received_signal = shaped_signal + 0.01*randn(size(shaped_signal)); matched_output = filter(b, 1, received_signal);
六、性能优化建议
- 阻带衰减增强:增大Span(如Span=8)或采用升余弦滤波器(非根升余弦)。
- 计算效率:使用
designfilt函数替代rcosdesign优化滤波器结构。 - 多径补偿:结合时域均衡器(如MMSE均衡器)处理信道失真。
七、参考
- [1] 《通信原理》樊昌信,第7章 数字带通传输系统
- [2] 代码 根升余弦滤波器 www.youwenfan.com/contentcnn/82526.html
- [3] MATLAB官方文档:
rcosdesign函数说明 - [4] 3GPP TS 38.104 V17.0.0(5G NR滤波器设计规范)
浙公网安备 33010602011771号