MATLAB 的文档不建议使用firrcos
,而是建议使用rcosdesign。在你的命令窗口中输入doc firrcos
,这里是第一行:
firrcos
升余弦 FIR 滤波器设计。
警告:firrcos
不推荐。改为使用RCOSDESIGN
。
我的猜测是,这firrcos
实际上在新版本中已停产。为了更好地帮助您,请尝试rcosdesign
按照建议使用。您实际上可以通过在 MATLAB 的命令窗口中键入以下行来获取此函数的实际 MATLAB 代码:(edit rcosdesign
您也可以检查edit firrcos
)。这将打开一个新的编辑器窗口,其中包含该函数的实际代码。这可以帮助你。
请注意,在您的EDIT1中,Fc
如果您仔细检查文档,实际上是截止频率(不是载波),并且使用三个输入参数作为默认值Fs=2. 滚降因数是衡量多余带宽的一个指标,以分数表示。符号中过滤器的跨度由您定义。
除了@MBaz 提到的内容之外,您在发射机处需要的是根升余弦滤波器。这样一来,在接收器端,您还可以放置一个根升余弦,两者一起产生一个升余弦滤波器,这是一个具有零ISI的奈奎斯特滤波器,而根升余弦不显示零(幅度)在符号时间。
编辑:
要查看两个函数之间的等价性,您必须为这两个函数提供正确的输入参数。如前所述,首先要做的是求根升余弦。您可以通过将 和 的第 6 个和第 4 个输入分别设置为 来做到firrcos
这rcosdesign
一点sqrt
。其余参数的等价物如下:
beta = R;
sps = Fs/(2*Fc);
span = N / sps;
然后你有非标准化的两个过滤器:
h1 = firrcos(N, Fc, R, Fs, 'rolloff', 'sqrt');
h2 = rcosdesign(R, N/(Fs/Fc/2), Fs/Fc/2, 'sqrt');
有关这方面的更多信息以及所需的规范化,可以在 MATLAB 的Communications Toolbox™ Release Notes for R2020b中找到关于 R2013b的章节(我猜它在那之后就停止了),标题为Functionality Being Changed or Removed。
对于您的 Simulink,单击Simulink Library Browser,然后在左侧列表中选择Communications Toolbox,然后选择Comm Filters。那里你有你所有的过滤器,你可以设置选择的升余弦过滤器,如前所述。