【滤波器】基于matlab升余弦滤波器【含Matlab源码 993期】

举报
海神之光 发表于 2022/05/29 02:57:27 2022/05/29
【摘要】 一、获取代码方式 获取代码方式1: 完整代码已上传我的资源:【滤波器】基于matlab升余弦滤波器【含Matlab源码 993期】 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主...

一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【滤波器】基于matlab升余弦滤波器【含Matlab源码 993期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、升余弦滤波器简介

1 作用
升余弦滤波器常常作为发送端的成型滤波器,用来抑制信号带外辐射。

2 MATLAB实现
在maltab中,主要用rcosdesign函数来实现FIR脉冲成型滤波器,其他相关的函数还有comm.RaisedCosineTransmitFilter,comm.RaisedCosineTransmitFilter。
语法:
b = rcosdesign(beta,span,sps)
b = rcosdesign(beta,span,sps,shape)
描述:
b = rcosdesign(beta,span,sps)返回系数b,对应于一个滚降系数为beta的均方根升余弦FIR滤波器。滤波器截断为span个symbols,每个symbol包含sps个采样点。滤波器的阶数sps*span必须是偶数。滤波器能量为1。
b = rcosdesign(beta,span,sps,shape)返回一个均方根升余弦滤波器(shape为’sqrt’)或者一个升余弦滤波器(shape为’normal’)。

升余弦可以抑制码间干扰,发送和接收滤波器分开。
升余弦滤波器的主要参数是其滚降系数,滚降系数直接决定了滤波器的带宽。理想的升余弦滤波器由无限多个抽头。因此,实际上的升余弦滤波器是加窗的。窗的长度由FilterSpanInSymbols特性来控制。在本例中,我们将窗长度设定为6个symbol长度。这样的滤波器也有3个symbol的群延时。升余弦滤波器用在信号上采样后的脉冲成型。因此,我们也需要指定上采样倍数。升余弦滤波器的参数如下:
Nsym=6;
beta=0.5;
samsPerSym=8;
用升余弦发射滤波器系统结构体构建滤波器并用fvtool来可视化滤波器特性。

三、部分源代码

%%升余弦滚降系统示意图
clear all;
close all;
Ts=1;
N_sample=17;
dt=Ts/N_sample;
df=1.0/(20.0*Ts);
t=-10*Ts:dt:10*Ts;
f=-2/Ts:df:2/Ts;
 alpha=[0,0.5,1];
 for n=1:length(alpha)
     for k=1:length(f)
         if abs(f(k))>0.5*(1+alpha(n))/Ts
             Xf(n,k)=0;
         elseif abs(f(k))<0.5*(1-alpha(n))/Ts
             Xf(n,k)=Ts;
         else
             Xf(n,k)=0.5*Ts*(1+cos(pi*Ts/(alpha(n)+eps)*(abs(f(k))-0.5*(1-alpha(n))/Ts)));
         end
     end
     xt(n,:)=sinc(t/Ts).*(cos(alpha(n)*pi*t/Ts))./(1-4*alpha(n)^2*t.^2/Ts^2+eps);
 end
%设置参量,采用8倍采样速率,滚降系数为0.5
Fd=1; Fs=4; Delay=2;  R=0.5;
%建立升余弦滚降滤波器
[yf,tf]=rcosine(Fd,Fs,'fir/normal',R,Delay);
%画图得到升余弦滚降滤波器波形
%b1=ones(1,length(t2));% 滤波器输入矩形脉冲
figure(1);
subplot(3,1,1);
plot(yf);
grid;
xlabel('Time');
ylabel('Amplitude');
title('升余弦滚降滤波器h(t)');
%定义一个与二元序列对应的时间序列作为原始信号
x=[zeros(1,10),ones(1,10),ones(1,10),zeros(1,10),zeros(1,10),zeros(1,10)];   
 
subplot(3,1,2);
plot(x);

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

四、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/117887041

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。