%来自《无线通信的MATLAB和FPGA实现》
clear all;close all;clc;
%使用rcosine函数设计8倍过采样、alpha=0.5的升余弦滤波器,并画出其冲激响应。
Fd=1; %输入信号的采样率
Fs=8; %输出信号的采样率
Delay=3; %滤波器的群时延
R=0.5; %滚降因子
[yf,tf]=rcosine(Fd,Fs,'fir',R,Delay);
plot(yf);
grid;
xlabel('Time');
ylabel('Amplitude');
title('升余弦滤波器冲激响应');
% impz(rrcdilter,1) %也行
%某个信号通过升余弦滤波器
x=rand(100,1); %产生随机信号
xt=zeros(1,800); %对输入信号后面补零
xt(1:8:end)=x;
y=filter(yf,tf,xt); %经过升余弦滤波器
yt=y((length(yf)+1)/2:8:end); %下采样,去除滤波器的抽头时延
figure;stem(x(1:40),'.');
hold on;stem(yt(1:40),'r');
legend('输入','输出');
title('收发端根号下升余弦的输入和输出');
