平方根升余弦滤波器

转自:http://blog.sina.com.cn/s/blog_758ebadc0100qci0.html

 

1.Rcosfir:design a raised cosine FIR filter.(rcosfir是低通滤波用的,以便后面加载频。

 

    B = RCOSFIR(R, N_T, RATE, T) designs and returns a raised cosine FIR filter.

   A raised cosine filter is typically used to shape and oversample a symbol stream before modulation/transmission as well as after reception and demodulation. It is used to reduce the bandwidth of the over sampled symbol stream without introducing ISI.

 

   R(滚降因子), The rolloff factor, determines the width of the transition band. R has no units. The transition band is (1-R)/ (2*T) < |f| < (1+R)/(2*T).

 

    T(符号持续时间,一般是采样频率的倒数) is the input signal sampling period, in seconds. RATE(过采样率) is the number of points in each input symbol period of length T. RATE must be greater than 1. The input sample rate is T samples per second, while the output sample rate is T*rate samples per second.

 

   N_T (用来控制滤波器长度的参数,此值越大抽头越多,也就越精确,滤波器的阶数等于2*N_T+1,而阶数与功能的实现程度及复杂度有关。阶数越高,根升余弦的波形更接近于真实的模拟波形,但这样运算量也比较大。阶数的具体大小,可根据几次取不同数值时的仿真结果来选择。) is a scalar or a vector of length 2. If N_T is specified as a scalar, then the filter length is 2 * N_T + 1 input samples.  If N_T is a vector, it specifies the extent of the filter. In this case, the filter length is N_T(2)-N_T(1) +1 input samples (or (N_T(2)-N_T(1))* RATE+1 output samples).

 

The default value for N_T is 3.  The default value of RATE is 5. The default value of T is 1.

 

2.什么是平方根升余弦成形滤波器?为什么用此滤波器?

    B = RCOSFIR(R, N_T, rate, T, sqrt),升余弦成形滤波器是常用的低通filter,如果N_T是数值不是向量的话,length(B)=2*N_T_rate +1。前面介绍的升余弦滤波器的传输函数是整个系统的合成传输函数 H(f),即从发送端开始,经信道到接收滤波器的整个传输函数。接收端的滤波是对整个传输函数的补偿,它使得整体传输函数成为一个能够满足奈奎斯特第一准则(实现无码间串扰)的传输函数,例如升余弦函数。通常,把它放置在收发两端,即将接收滤波器和发送滤波器设计(匹配)为平方根升余弦函数(升余弦函数的平方根)。若不考虑由于信道引起的码间串扰,两个平方根升余弦函数相乘(相当于时域卷积)就得到升余弦形式的合成的系统传输函数。

   

 

3.在matlab中,数字信号就是一个个数,而实际中应该是有一定宽度的码元。那么,数字信号传输,它的码速和采样的速率之间关系怎么用matlab表示?如何成为有一定带宽的码元?

答:采用比例的关系表示,比如符号速率为1,采样速率为5,则每个符号有5个采样点,成型滤波器一般为4-6个符号长度,这里也即20-30个采样点(为什么说这句呢?还没懂)。

 

设采样速率为fs,码率为BautRate,每个码元的采样点数为numSamplesPerSymbol,它们之间的关系是fs = numSamplesPerSymbol * BautRate。

 

成形的意思就是实现由消息到波形的转换,以便发射,脉冲成形应该是在基带调制之后。

有两种成形方法: 

第一种方法:
function [Waveform] = SymbolToWaveform(SymbolStream,numSamplesPerBit)
lenWaveform = length(SymbolStream)*numSamplesPerBit;
Waveform = zeros(1,lenWaveform);
Waveform(1:numSamplesPerBit:lenWaveform) = SymbolStream;

 

其中的numSamplesPerBit是每比特的采样点数,SymbolStream是比特信息流,Waveform是形成的波形。

第二种方法:
symbols=ones(T/Ts,1)*bs;
I_waveform=symbols(: ) ;

 

其中的bs是比特信息流,T是比特时间,Ts是采样时间,I_waveform是形成的波形。

 

接着,将进行低通滤波,因为 随着传输速率的增大,基带脉冲的频谱将变宽,如果不滤波(如升余弦滤波)进行低通滤波,后面加载频的时候可能会出现困难。

 

4.为什么数字信号传输也要过采样,成形滤波?

答:过采样的数字信号处理起来对低通滤波器的要求相对较低,如果不过采样,滤波的时候滤波器需要很陡峭,指标会很严格

成形滤波的作用是保证采样点不失真。如果没有它,那信号在经过带限信道后,眼图张不开,ISI非常严重。成形滤波的位置在基带调制之后。因为经成形滤波后,信号的信息已经有所损失,这也是为避免ISI付出的代价。换句话说,成形滤波的位置在载波调制之前,仅挨着载波调制。

即:(发送端)插值(采样)-成形-滤波(LPF)-加载频(载波调制)-加噪声至(接收端)乘本振-低通-定时抽取-判决。

 

 

PS:

MATLAB中涉及升余弦滤波器的工具箱函数有好几个:

rcosflt 使用升余弦滤波器对输入信号进行滤波,The function rcosflt passes an input signal through a raised cosine filter. You can either let rcosflt design a raised cosine filter automatically or you can specify the raised cosine filter yourself using input arguments.

rcosine 设计升余弦滤波器,designs a finite impulse response (FIR) raised cosine filter and returns its transfer function.
rcosfir 设计升余弦FIR 滤波器,The rcosfir function designs the same filters that the rcosine function designs when the latter's type_flag argument includes 'fir'. However, rcosine is somewhat easier to use.

rcosiir 设计升余弦IIR 滤波器,The rcosiir function designs the same filters that the rcosine function designs when the latter's type_flag argument includes 'iir'. However, rcosine is somewhat easier to use.

firrcos 升余弦滤波器设计

从描述中能看出一些去别来,具体用的时候要参照实际内容选择。

Matlab平方根余弦滤波器余弦滤波器是数字信号处理中常见的滤波算法,两者的主要区别在于其滤波响应的幅频特性。 平方根余弦滤波器(Root Raised Cosine Filter,简称RRCF)是一种特殊的卷积滤波器,它的频率响应是类似于平方根函数的形状。这种滤波器用于数字通信系统中的匹配滤波,用于接收端对发送端发出的带符号的调制信号进行匹配。它的主要特点是能够有效地抑制信号带外的噪声和干扰,同时保留信号带内的信息。 在Matlab中,实现RRCF可以使用firrcos函数,该函数可以生成镶嵌在余弦窗口中的滤波器。用户需要指定余弦窗口和带宽扩展因子等参数,firrcos函数会自动计算出所需的滤波器系数。 余弦滤波器(Raised Cosine Filter,简称RCF)也是一种常见的数字滤波器,它的特点是具有类似于余弦函数的频率响应形态。这种滤波器也用于数字通信系统中的匹配滤波,用于信号发送端对调制信号进行滤波,以减少带宽占用和降低误码率。 Matlab中实现RCF可以使用firrcos函数或者firrcos2函数,这两个函数的参数相对较少,用户只需要指定滤波器带宽、抽样频率等基本参数即可。这种滤波器相对于RRCF来说,在频域上存在一定的失真,但是实现起来相对简单,使用广泛。 总之,Matlab中的平方根余弦滤波器余弦滤波器都是数字滤波器的常见算法,用户可以根据具体的实际情况和需求选择适合的算法,并使用Matlab提供的函数进行实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值