在数字通信中涉及到滤波器这一块,常常会接触到升余弦函数的使用(滚降)。以下这段程序展示了如何用matlab画出一个升余弦函数的图像。通过改变不同的升降系数能得到不同的滤波器特性。
function gt=RC(t_Ts,a) %a代表滚降系数
%RC generate raised-cosine pulse shape %产生升余弦脉冲信号
sinc_t=sinc(t_Ts); %sinc函数
rc_tnum=cos(pi*a*t_Ts); %产生分子分母
rc_tden=1-(2*a*t_Ts).^2;
pn=find(abs(rc_tden)<1e-8);
rc_tden(pn)=inf;
rc_t=rc_tnum./rc_tden;
%pulse shape
gt=sinc_t.*rc_t;
plot(gt);
axis([0 110 -0.5 1.5]);
title('Raised-Cosine Pulse')
xlabel('t');
ylabel('y')
得到的升余弦函数波形如下: