许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB函数详解:rcosdesign设计与应用

MATLAB函数详解:rcosdesign设计与应用

阅读数 26
点赞 0
article_banner


语法

b = rcosdesign(beta,span,sps)
b = rcosdesign(beta,span,sps,shape)



说明

b = rcosdesign(beta,span,sps) 返回系数 b,该系数对应于具有由 beta 指定的衰减因子的平方根升余弦 FIR 滤波器。滤波器被截断在 span 个符号范围内,并且每个符号周期都包含 sps 个样本。 滤波器的阶次,也即 sps * span 必须是偶数。滤波器的能量为 1。举例

b = rcosdesign(beta,span,sps,shape) 当将 shape 设置为 sqrt 时,将返回根升余弦滤波器;当将 shape 设置为 normal 时,将返回升余弦 FIR 滤波器。举例



示例



设计根升余弦滤波器

假定滚降系数为 0.25。将过滤器截断为 6 个符号,并用 4 个样本表示每个符号。 验证 sqrtshape 参数的默认值。

h = rcosdesign(0.25,6,4);
mx = max(abs(h-rcosdesign(0.25,6,4,'sqrt')))
mx = 0
fvtool(h,'Analysis','impulse')

设计根升余弦滤波器


升余弦和根升余弦滤波器的脉冲响应

将升余弦滤波器与根升余弦滤波器进行比较。一个理想的(无限长)升余弦脉冲整形滤波器等效于两个级联的理想的根升余弦滤波器。 因此,FIR 升余弦滤波器的脉冲响应应类似于与其自身卷积的根升余弦滤波器的脉冲响应。

设计一个衰减为 0.25 的升余弦滤波器。指定此过滤器跨越 4 个符号,每个符号 3 个样本。

rf = 0.25;
span = 4;
sps = 3;

h1 = rcosdesign(rf,span,sps,'normal');
fvtool(h1,'impulse')

升余弦滤波器

   升余弦滤波器在 sps 的整数倍处具有零值点。因此,它满足无码间串扰(ISI)的 Nyquist 准则。但是,根升余弦滤波器没有这样的特性:

h2 = rcosdesign(rf,span,sps,'sqrt');
fvtool(h2,'impulse')

根升余弦滤波器

   将根升余弦滤波器与自身进行卷积。在最大值处截断脉冲响应,使其长度与 h1 相同。使用最大值归一化响应。然后,将卷积后的根升余弦滤波器与升余弦滤波器进行比较。

h3 = conv(h2,h2);
p2 = ceil(length(h3)/2);
m2 = ceil(p2-length(h1)/2);
M2 = floor(p2+length(h1)/2);
ct = h3(m2:M2);

stem([h1/max(abs(h1));ct/max(abs(ct))]','filled')
xlabel('Samples')
ylabel('Normalized amplitude')
legend('h1','h2 * h2')

升余弦和根升余弦滤波器的脉冲响应比较

   卷积响应的长度是有限的,因此根升余弦滤波器与自身进行卷积得到的结果会与升余弦滤波器不一致。增加 span 可以在响应之间获得更紧密的一致,并更好地符合 Nyquist 准则。


将信号通过升余弦滤波器

本例说明如何使信号通过根升余弦滤波器。

指定过滤器参数。

rolloff = 0.25;     % 滚降因子
span = 6;           % 滤波器宽度(符号数)
sps = 4;            % 每个符号的样本数

生成根升余弦滤波器的系数。

b = rcosdesign(rolloff, span, sps);

生成双极性数据向量。

d = 2*randi([0 1], 100, 1) - 1;

上采样并过滤数据以进行脉冲整形。

x = upfirdn(d, b, sps);

添加噪声。

r = x + randn(size(x))*0.01;

对接收到的信号进行滤波和下采样以进行匹配滤波。

y = upfirdn(r, b, 1, sps);

有关如何使用根升余弦滤波器对信号进行插值和抽取的信息,请参见使用 RRC 滤波器进行插值和抽取(Communications Toolbox)。


输入参数


beta - 滚降因子

滚降系数,指定为为不大于 1实非负标量。滚降系数决定滤波器的多余带宽。 滚降因子为 0 时为矩形滤波器(brick-wall filter), 滚降因子为 1 时为纯升余弦滤波器。

数据类型double | single


span - 符号数

符号数,指定为正整数标量

数据类型double | single


sps - 每个符号的样本数

每个符号的样本数(上采样因子),指定为正整数标量

数据类型double | single


shape - 升余弦窗的形状

升余弦窗的形状,指定为 normalsqrt


输出参数



b - FIR 滤波器系数

升余弦滤波器的系数,以列向量的形式返回。

数据类型double | single



提示

  • 如果您拥有 Communications Toolbox™ 软件的许可证,则可以执行具有流传输行为的多速率升余弦滤波。为此,请使用 System object™ 滤波器——comm.RaisedCosineTransmitFiltercomm.RaisedCosineReceiveFilter


参考

[1] Tranter, William H., K. Sam Shanmugan, Theodore S. Rappaport, and Kurt L. Kosbar. Principles of Communication Systems Simulation with Wireless Applications. Upper Saddle River, NJ: Prentice Hall, 2004.



扩展功能



C/C++ 代码生成  

使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

用法说明和限制:

所有输入必须为常数。 如果表达式或变量的值不变,则也允许使用。



另请参阅

gaussdesign

主题

用 RRC 滤波器进行插值和抽取(Communications Toolbox)



在 R2013b 中推出



原文参考:https://ww2.mathworks.cn/help/signal/ref/rcosdesign.html


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空