信号处理常用matlab之成形滤波

Posted 一只学习的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号处理常用matlab之成形滤波相关的知识,希望对你有一定的参考价值。

1 成形滤波

1.1 矩形脉冲成形 rectpulse

y = rectpulse(x,nsamp) 对向量x的每个元素重复nsamp。

1.2 升余弦成形滤波器生成 rcosdesign

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

beta: 滚降系数,取值0~1之间,决定频宽和陡峭程度。取值一般大于0.2。

span: 表示截断的符号范围。

sps: 单个符号范围的采样个数。

shape:可选参数。可不加,可加上’normal’,可加上’sqrt’。

当选择’sqrt’时,返回一个平方根升余弦滤波器。

这个函数生成升余弦或根升余弦滤波器,生成原理是采用窗函数法设计滤波器。生成的滤波器阶数是spansps,滤波器长度是spansp+1。

升余弦滤波器是线性相位FIR滤波器,因此对输入信号进行滤波后,输入信号延迟了span/2个符号,对应点数为span/2*sps。

1.3 升余弦成形滤波器生成 rcosine

1.3.1 num= rcosine(Fd,Fs)

Fd:码速率
Fs:采样率 ,Fs/Fd必须是整数
默认滚降系数0.5,滤波器延迟3/Fd,单位:秒
num :生成的滤波器系数,系数长度:2delay(Fs/Fd)+1,默认delay=3

1.3.1 num= rcosine(Fd,Fs,type_flag,r,delay)

Fd:码速率
Fs:采样率 ,Fs/Fd必须是整数
默认滚降系数0.5,滤波器延迟3/Fd,单位:秒
type_flag:可选参数。可不加,可加上’normal’,可加上’sqrt’
r:可选参数,滚降系数,取值0~1之间
delay;滤波器延迟,delay/Fd是以秒为单位的滤波器延迟
num :生成的滤波器系数,系数长度2delay(Fs/Fd)+1

说明:现在的matlab版本一般都不推荐使用rcosine生成升余弦滤波器。

1.4 升余弦成形滤波器生成 rcosfir

B = rcosfir(R, N_T, RATE, T, FILTER_TYPE) designs and returns a square root raised cosine filter if FILTER_TYPE == ‘sqrt’. The default value of FILTER_TYPE, ‘normal’, returns a normal raised cosine filter.

R表示滚降因子
N_T表示截断长度
RATE表示每个码元的采样个数
T表示采样周期:T=1/fs
FILTER_TYPE表示滤波器类型

说明:现在的matlab版本一般都不推荐使用rcosfir来生成升余弦滤波器。

1.5 成形滤波upfirdn

x = upfirdn(data, fir, p,q); up上采样 fir滤波 dn下采样

data:原始数据
fir:滤波器
p:对data进行p倍上采样(插入零)
q:下采样 上采样就是内插或插值 下采样就是一般意义上的采样,隔几个取一个值

upfirdn(xn,hn,p,q) 假设xn、hn的点数分别为N1、N2,输出点数为ceil((N2+(N1-1)×p)/q) 。

1.6 成形滤波rcosflt

Y = rcosflt(X, Fd, Fs, TYPE_FLAG, R, DELAY) 对输入信号X进行升余弦滤波

Fd (Hz):X的输入频率

Fs (Hz):Y的输出频率【Fs必须是Fd的整数倍】

TYPE_FLAG指定滤波器的选型或者设计

R :roll-off factor 指定滤波器的过渡频带

DELAY :从滤波器的开始到脉冲响应峰值的时间延迟

Y :对输入信号X进行升余弦滤波之后的输出,
长度为:(Fs/Fd)length(X)+2DELAY*(Fs/Fd)+1-1=(Fs/Fd)(length(X)+2DELAY)

说明:现在的matlab版本一般都不推荐使用rcosflt

1.7 filter

filter函数是一维的数字滤波器,主要的应用语法:y = filter(b,a,X)
b和a分别为滤波器传递函数H(z)的分子多项式和分母多项式系数;
X是输入信号
y = filter(b,a,X)完成对输入信号X的滤波,y与x的大小相同

1.8 filtfilt

y = filtfilt(b,a,X) 对输入信号X进行零相位数字滤波
b和a分别为滤波器传递函数H(z)的分子多项式和分母多项式系数;

以上是关于信号处理常用matlab之成形滤波的主要内容,如果未能解决你的问题,请参考以下文章

信号处理常用matlab之数字滤波器及滤波函数

信号处理常用matlab之16数据链信号生成

信号处理常用matlab之16数据链信号生成

1.通信系统中成形滤波器原理的MATLAB设计实现

基于维纳滤波的图像运动模糊还原matlab仿真

Matlab - 常用函数集锦