高斯脉冲成型滤波器MATLAB代码
时间: 2023-12-02 19:02:01 浏览: 41
高斯脉冲成型滤波器(Gaussian Pulse Shaping Filter)是在数字通信中常用的一种滤波器,用于将数字信号进行调制时,进行符号间的串扰控制。下面是MATLAB代码实现高斯脉冲成型滤波器:
```matlab
%% 高斯脉冲成型滤波器
% 采样率
Fs = 50e3;
% 符号率
Rs = 10e3;
% 采样周期
Ts = 1 / Fs;
% 符号间隔
Tb = 1 / Rs;
% 高斯脉冲参数
beta = 0.3;
% 高斯脉冲时间范围
t = -5*Tb:Ts:5*Tb;
% 高斯脉冲成型滤波器
h = (1 / (sqrt(2*pi)*beta*Tb)) * exp(-(t/Tb).^2/(2*beta^2));
% 频率范围
f = linspace(-Fs/2, Fs/2, length(t));
% 频域响应
H = fftshift(fft(h));
% 绘制高斯脉冲成型滤波器时域和频域响应
figure();
subplot(211);
plot(t, h);
xlabel('时间 (秒)');
ylabel('幅度');
title('高斯脉冲成型滤波器时域响应');
subplot(212);
plot(f, abs(H));
xlim([-10e3, 10e3]);
xlabel('频率 (Hz)');
ylabel('幅度');
title('高斯脉冲成型滤波器频域响应');
```
以上代码中,高斯脉冲参数 `beta` 的取值通常在 0.3~0.5 之间,可以根据实际应用场景进行调整。绘制结果如下图所示:
![高斯脉冲成型滤波器时域和频域响应](https://img-blog.csdn.net/20180325154506242)