信号处理基于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的FIR滤波器性能仿真,对比矩形窗汉明窗,海宁窗,布莱克曼窗