信号处理基于matlab平方根升余弦滤波器

Posted MatlabQQ1575304183

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号处理基于matlab平方根升余弦滤波器相关的知识,希望对你有一定的参考价值。

一、简介

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

二、源代码

%设置参量,采用4倍采样速率,滚降系数为0.5
Fd=1; Fs=4; Delay=2;  R=0.5;
%建立升余弦滚降滤波器
[yf,tf]=rcosine(Fd,Fs,'sqrt',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)];   
y1=filter(yf,tf,x)/(Fs^0.5);
%y2=filter(yf,tf,y1)/(Fs^0.5);
%画出原始信号波形
subplot(3,1,2);
plot(x);
axis([0,61,-0.2,1.2]);
title('原始信号');

三、运行结果

在这里插入图片描述

代码下载https://www.cnblogs.com/ttmatlab/p/14882966.html

以上是关于信号处理基于matlab平方根升余弦滤波器的主要内容,如果未能解决你的问题,请参考以下文章

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

[matlab]根升余弦滤波器公式

基于simulink的信道化接收机建模与仿真

基于MATLAB的FIR滤波器性能仿真,对比矩形窗汉明窗,海宁窗,布莱克曼窗

语音处理基于matlab低通滤波器语音信号加噪与去噪含Matlab源码 1709期

DOA——MUSIC算法