脉冲成型滤波器(一)

利用脉冲成型滤波器对一个具有多频率的信号进行滤波,并观察滤波后信号的时域波形和频波形

源代码

%%%%%%%%%%%%%%%%%%%%  脉冲成型滤波器  %%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% 对一个具有多频率的信号进行过滤,并观察滤波后信号的时域波形和频波形
clc;clear all;close all;
%%%%%%%%%%%%% 待滤波的信号 %%%%%%%%%%%%%%%%%
f1=500;f2=2000; %待滤波信号的频谱
Fs = 10000;     %采样频率
L=10000;        %采样点数
Ts=1/Fs;        %采样周期
t=0:Ts:1-Ts;    %采样时间
x=sin(2*pi*f2*t)+sin(2*pi*f1*t);
figure(1)
subplot(211);plot(t(1:100),x(1:100));
xlabel('时间t');ylabel('幅度');title('待滤波信号');
X=fftshift(fft(x,L));
P=2*abs(X)/L;    %真幅值大小实的
f=(0:L-1)-Fs/2;  %可以观察两边的频谱
subplot(212);plot(f,P);ylim([-0.2 1.2]);
xlabel('频率f/Hz');ylabel('幅度');title('待滤波信号的频谱');

%%%%%%%%%%%%%%%%%%%%%%  设计低通FIR滤波器 %%%%%%%%%%%%%%%%%%
%%% 常用的脉冲成型滤波器有 RC 成型(升余弦)、 Gaussian 成型等。
%%% 早些版本的 firrcos 函数用来设计升余弦滤波器的函数,现在已经更改成了 rcosdesign函数。
%%%  h=firrcos(N,Fc,DF,Fs)1个参数:滤波器的阶数   第2个参数:截止频率
%%%3个参数:滚降系数      第4个参数:采样率

%%% 设计一个 16 阶升余弦滤波器,载波频率 Fc = 1KHz ,滚降系数 0.25 ,采样率为8KHz。
N = 16;Fc = 1000;R = 0.8;Fs = 8000;
% h = firrcos(N, Fc, R, Fs, 'rolloff', 'normal');  %firrcos Raised Cosine FIR Filter design.

%%% 函数 h= rcosdesign(beta,span,sps,shape)
%%% beta: 滚降系数,取值0~1之间,决定频宽和陡峭程度。取值一般大于0.2%%% span: 表示截断的符号范围。span的意思是对滤波器取了几个Ts的长度
%%% sps:  每个Ts采了几个点
%%% shape:可选参数。可加上’normal’或’sqrt’。当选择’sqrt’时,返回一个平方根升余弦滤波器。
h = rcosdesign(R, N/(Fs/Fc/2), Fs/Fc/2,'normal');  %这两行语句代替上一行语句
h = h / max(h) / (Fs/Fc/2);%重新量化一下系数

fprintf('h的长度为%g\n',length(h));
figure(2);
subplot(211);stem(h);
xlabel('时间t');ylabel('幅度');title('系统时域波形');
H=fftshift(fft(h));
PH=2*abs(H)/length(h);
subplot(212);plot(PH);
ylabel('幅度');title('系统函数的频谱');

%%%%%%%%%%%%%% 过滤源信号 %%%%%%%%%%%%%%%
%%%  filter滤波函数
%%%1个参数:设置好的滤波器  第3个参数:需要滤波的信号
% % y = filter(b,a,X) 滤除向量X中的数据,其中b是分子系数向量,a是分母系数向量。
% % 如果a(1)不等于1的话,则就利用a(1)标准化滤波器系数,可以利用多项式除法使分母变为1% % 如果 a(1) 等于0,滤波器返回错误值。
y=filter(h,1,x);            % 成型滤波 
figure(3)
subplot(211);plot(t(1:100),y(1:100));
xlabel('时间t');ylabel('幅度');title('滤波后的信号');
Y=fftshift(fft(y,L));
P1=2*abs(Y)/L;    %真幅值大小实的
f=(0:L-1)-Fs/2;  %可以观察两边的频谱
subplot(212);plot(f,P1);ylim([-0.2 1.2]);
xlabel('频率f/Hz');ylabel('幅度');title('滤波后信号的频谱');

仿真结果

需要滤波的信号
成型滤波器

滤波后的信号

  • 5
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值