一文理解matlab的成型滤波器设计

一文理解matlab的成型滤波器设计
成型滤波器 是在发送端将信号经过成形滤波器进行带限,使信号带宽匹配信道带宽。
(如果没有成型滤波。时域上0、1信号是矩形信号,频域得无限宽才能传输,没有这样的信道;而信号带限就会引入码间串扰,会导致接收信号波形失真。所以成型滤波)

rcosdesign

b = rcosdesign(beta,span,sps,shape)
用来模拟升余弦滤波器(成型滤波器)
beta:滚降系数,取值范围(0,1)
span:实际升余弦滤波器拖尾无限长,而matlab无限长时数据量很多,而且拖尾远处的值均接近于0,故截取一定长度,span是表示模拟的拖尾所能够影响的数据长度(原始数据的长度,未经采样的数据的长度)
sps:每个数据的采样点数
shape:可选参数。选择根升余弦sqrt还是升余弦normal
eg:

fir=rcosdesign(1,128,4);
 fvtool(fir,'Analysis','impulse');%滤波器可视化
 %拖尾影响的数据长度为128位,即左右各64位,每位数据采样点数为4,再加上本位数据,所以一共128*4+1=513个点数

upfirdn up上采样 fir滤波 dn下采样

x = upfirdn(data, fir, p,q);
data:原始数据
fir:滤波器
p:上采样q:下采样 上采样就是内插或插值 下采样就是一般意义上的采样,隔几个取一个值
upfirdn(xn,hn,length) 作用为把xn中的每个值乘以序列hn,然后移位相加,length表示了移位的长度。其中xn、hn的点数分别为N1、N2,输出点数为 N2+(N1-1)×length 。(不用下采样的话,可以不写q,或写1)
注意upfirden和upsample的区别。
VDB_burst_ups=upsample(VDB_burst,4);是原数据之间插入三个0.

fir=rcosdesign(1,128,4);
data = 2 * randi([0 1], 200, 1) - 1;
x = upfirdn(data, fir, 4,1);%因为fir中sps是4,所以这里p也设置为4,q默认1,或不写
plot(x);

代码里,N1=200,N2=513,length=4.
我自己写matlab爱细抠,比如这里的经过成型滤波器后数据点数怎样变化的,我觉着此文就可以解释清楚,关键是知道1设计的升余弦滤波器点数是怎样的,和span,sps的关系,2经过upfirdn后点数变化是怎样的(输出点数为 N2+(N1-1)×length)或者是N1*length+N2-length.
参考:https://blog.csdn.net/lanluyug/article/details/80401943

补充2020.2.11:对比GPS接收机与D8PSK系统的一点理解
GPS扩频信号为什么不用成型滤波?
答:GPS一个数据码长度20ms,包含20个CA码周期,一个CA码周期1023个码,为保障1.023Mb/s的伪码速率,采样速率也得几倍于伪码速率。也就是说一个数据码得几千个数据点,那么有码间干扰就有吧,干扰相邻的一些点也没关系了。一累加再判决这点干扰也就不算什么了。
GPS接收机没有用到定时同步也是基于这个原因,点数太多了,也不用在最佳判决点上进行采样,况且后面有载波同步。

2021.5.2
就这么个滤波器,没想到两年后还又加深理解。
老版本matlab 升余弦函数为rcosfir
B = rcosfir(R, N_T, RATE, T)
N_T是span的一半,所以N_T是0.5的整数倍。
当N_T=7.5,RATE=4时,左右影响各7.5个,滤波器阶数为60阶,61个系数。输入数据为15个。

LC滤波器是一种常见的电子滤波器,用于在电路中滤除特定频率的信号。它由电感器和电容器组成,可以通过改变电感器和电容器的数值来调节滤波器的频率响应。 LC滤波器设计方法可以分为两种:第一种是基于理论计算的方法,第二种是基于实验测量的方法。 基于理论计算的方法: 1. 确定所需的截止频率和滤波器类型(低通、高通、带通或带阻)。 2. 根据所选滤波器类型,选择合适的电路拓扑结构。 3. 计算所需的电容和电感数值。 4. 选择与所需数值最为接近的标准数值。 基于实验测量的方法: 1. 搭建一个简单的滤波器电路。 2. 测量实际的截止频率。 3. 根据实际测量结果,调整电容和电感数值,直到达到所需的截止频率。 无论是哪种方法,计算所需的电容和电感数值都需要用到一些公式。以下是一些常见的公式: 低通滤波器: 截止频率 f_c = 1 / (2 × π × L × C) 电感 L = 1 / (2 × π × f_c × C) 电容 C = 1 / (2 × π × f_c × L) 高通滤波器: 截止频率 f_c = 1 / (2 × π × R × C) 电容 C = 1 / (2 × π × f_c × R) 电阻 R = 1 / (2 × π × f_c × C) 带通滤波器: 中心频率 f_0 = √(f_1 × f_2) 带宽 B = f_2 - f_1 电感 L = (B / (2 × π × f_0)) × (R / Q) 电容 C = Q / (2 × π × f_0 × R) 带阻滤波器: 中心频率 f_0 = √(f_1 × f_2) 带宽 B = f_2 - f_1 电感 L = (B / (2 × π × f_0)) / (R × Q) 电容 C = 1 / (2 × π × f_0 × R × Q) 其中,Q值代表质量因数,可根据所需的带宽和中心频率计算得出。 总的来说,LC滤波器设计方法并不复杂,只需要了解一些基本原理和公式即可。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值