%来自《无线通信的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(\'收发端根号下升余弦的输入和输出\');