主要内容

comm.RaisedCosineReceiveFilter

应用脉冲整形的抽取信号使用提高余弦FIR滤波器

描述

comm.RaisedCosineReceiveFilter系统对象™通过使用提高余弦有限脉冲响应(FIR)滤波器抽取输入信号来实现脉冲整形。FIR滤波器具有(FilterSpanInSymbols×InputSamplesPerSymbol+ 1)水龙头系数。

通过使用提高余弦FIR滤波器抽取输入信号来应用脉冲整形:

  1. 创建comm.RaisedCosineReceiveFilter对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

rxfilter= comm.RaisedCosineReceiveFilter返回一个上升余弦FIR接收滤波器系统对象,它使用上升余弦FIR滤波器抽取输入信号。该滤波器采用高效多相FIR抽取结构,具有单位能量。

例子

rxfilter= comm.RaisedCosineReceiveFilter(名称,值)使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。例如,comm.RaisedCosineReceiveFilter (RolloffFactor, 0.3)配置一个上升余弦接收过滤系统对象,滚转因子设置为0.3

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

过滤器形状,指定为“根”“正常”

数据类型:字符|字符串

滚转因子,指定为范围[0,1]中的标量。

数据类型:

筛选符号范围,指定为正整数。该对象将理想的升余弦滤波器的无限脉冲响应(IIR)截断为跨越此属性指定的符号数量的脉冲响应。

数据类型:

为每个符号输入样本,指定为正整数。

数据类型:

抽取因子,指定为范围为[1,InputSamplesPerSymbol].这个值必须被等除InputSamplesPerSymbol.输出信号的采样率通过抽取因子降低,使得长度(y) /长度(x等于DecimationFactor.对于矩阵输入信号,输入行数必须是抽取因子的倍数。

数据类型:

抽取偏移量,指定为范围[0,(DecimationFactor−1)]。此属性指定对象在下采样之前丢弃的过滤样本的数量。

数据类型:

线性滤波器增益,指定为正标量。设计了一个具有单位能量的升余弦滤波器,然后应用线性滤波器增益得到最终的抽头系数值。

数据类型:

使用

描述

例子

y= rxfilter (x通过使用凸起余弦FIR滤波器抽取输入信号来应用脉冲整形。输出由十进制的信号值组成。

输入参数

全部展开

输入信号,指定为列向量或K——- - - - - -N矩阵。K是每个信号通道输入样本的数量,和N是信号通道的数量。

对于一个K——- - - - - -N矩阵输入时,对象处理输入矩阵的列为N独立的通道。

数据类型:|
复数支持:是的

输出参数

全部展开

输出信号,返回为列向量或Ko——- - - - - -N矩阵。Ko等于K/DecimationFactorK是每个信号通道输入样本的数量,和N是信号通道的数量。

System对象随着时间对每个通道进行筛选,并生成一个Ko——- - - - - -N输出矩阵。输出信号与输入信号的数据类型相同。

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

信息 关于过滤器的信息系统对象
多项式系数 滤波器系数
成本 实现过滤器的计算代价系统对象
freqz 离散时间滤波器的频率响应
fvtool 图滤波器的频率响应
grpdelay 离散滤波器的群时延响应
impz 离散时间滤波器的脉冲响应
订单 离散时间滤波器的阶数系统对象
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

通过使用匹配的SRRC接收滤波器对平方根增余弦(SRRC)发射滤波器的输出进行过滤。输入信号每个符号有八个样本。

创建一个SRRC传输过滤器对象,将每个符号的输出样本数设置为8。

txfilter = com . raisedcosinetransmitfilter (“OutputSamplesPerSymbol”8);

创建SRRC接收过滤器,将每个符号的输入样本数设置为8,抽取因子设置为8。

rxfilter = com . raisedcosinereceivefilter (“InputSamplesPerSymbol”8...“DecimationFactor”8);

使用多项式系数函数确定两个滤波器的滤波器系数。

txCoef = coeffs(txfilter);rxCoef = coeffs(rxfilter);

启动过滤器可视化工具并显示两个过滤器的震级响应。结果表明,反应是相同的。

fvt = fvtool(txcoef . molecator,1, rxcoef . molecator,1);传奇(fvt“Tx过滤”的处方筛选

{

产生一个随机双极信号。通过使用SRRC传输过滤器对象插入信号。

= 2*randi([0 1],100,1) - 1;y = txfilter(preTx);

使用SRRC接收滤波器对象抽取信号。

postRx = rxfilter(y);

滤波延时等于滤波跨度。考虑到滤波器延迟,调整绘制的样本来比较前tx滤波信号和后rx滤波信号。由于组合的接收和发射RRC滤波器产生了一个匹配的滤波器对,两个信号彼此重叠。

delay = txfilter.FilterSpanInSymbols;x = (1:(length(pretex)-delay));情节(x, preTx (1: end-delay), x, postRx(延迟+ 1:结束)传说(“Pre-Tx过滤”“Post-Rx过滤”

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象代表Pre-Tx滤波器,Post-Rx滤波器。

使用平方根增余弦(SRRC)滤波器对双极信号进行抽取,该滤波器的脉冲响应被截断以过滤六个符号持续时间的跨度。

创建SRRC传输FIR滤波器,设置滤波器跨度为6个符号。该对象将脉冲响应截断为六个符号。

txfilter = com . raisedcosinetransmitfilter (“FilterSpanInSymbols”6);

产生一个随机双极信号。利用SRRC发射FIR滤波器对象对信号进行滤波。

X = 2*randi([0 1],25,1) - 1;Y = txfilter(x);

创建匹配的SRRC接收筛选器对象。

rxfilter = com . raisedcosinereceivefilter (“FilterSpanInSymbols”6);

启动滤波器可视化工具以显示接收滤波器的脉冲响应。

fvtool (rxfilter“分析”“冲动”

{

通过使用匹配的SRRC接收滤波器对象来过滤来自发射滤波器的输出信号。

R = rxfilter(y);

绘制插值信号。结果显示,在数据通过过滤器之前,延迟等于过滤器跨度(六个符号)。

阀杆(右)

图中包含一个轴对象。axis对象包含一个stem类型的对象。

创建一个平方根提高余弦(SRRC)接收过滤器对象。使用FVTool绘制过滤器响应图。结果表明,线性滤波器增益大于单位。具体来说,通带增益大于0 dB。

rxfilter = com . raisedcosereceivefilter;fvtool (rxfilter)

{

使用多项式系数对象函数来获得滤波器系数,并将滤波器增益调整为单位能量。

B = coeffs(rxfilter);

由于具有单位通带增益的滤波器的滤波器系数之和必须为1,因此将线性滤波器增益设置为滤波器抽头系数之和的倒数,b.Numerator

rxfilter。获得= 1/sum(b.Numerator);

验证得到的过滤器系数之和为1。

bNorm = coeffs(rxfilter);总和(bNorm.Numerator)
Ans = 1.0000

绘制滤波器频率响应图。结果表明,通带增益为0 dB,为单位增益。

fvtool (rxfilter)

{

扩展功能

版本历史

在R2013b中引入

Baidu
map