matlab低通滤波器
1、目的
学习Matlab的filter函数的使用,通过设计低通、带通和高通滤波器对其进行仿真
2、用到的主要函数和工具
MATLAB、FDATOOL、filter、fft
3、设计
- 信号的产生
%% parameter Interface
Frequence0 = 60; %单位:Hz
Frequence1 = 130; %单位:Hz
Frequence2 = 1e3; %单位:Hz
SampleFre = 4e3; %单位:Hz
SampleLen = SampleFre; %采样点数
%% Main
%-------------------产生三路信号
t = 0:1/SampleLen:1/SampleFre*(SampleLen-1);
signalData0 = sin(2*pi*Frequence0*t);
SignalData1 = sin(2*pi*Frequence1*t);
SignalData2 = sin(2*pi*Frequence2*t);
SignalData3 = SignalData0+SignalData1+SignalData2;
figure;hold on
plot(t(1:150),SignalData0(1:150),'b')
plot(t(1:150),SignalData1(1:150),'r')
plot(t(1:150),SignalData2(1:150),'k')
hold off
figure;plot(t(1:150),SignalData3(1:150))
title('三路信号求和')
- 三路信号的时域波形
三路信号时域波形 三路信号求和时域波形
- 三路求和信号频谱分析
FFT_Data = fft(SignalData3);
2.低通滤波器设计
- 基于fdatool的低通滤波器的设计
在MATLAB命令行执行fdatool命令,弹出滤波器设计交互窗口,根据自己的需求设计符合自己要求的滤波器,这是我设计的低通滤波器见下图
需要注意的是通过设计Fpass和Fstop确定了滤波器的带宽,同时参数设计的越接近理论滤波器的性能,滤波器的阶数越多,计算量越大,所以需要优化滤波器这两个参数,在保证性能的同时确保阶数越小(计算量越小)
- 滤波
LPF_Data = filter(LPF_Coe.LPF_60M,1,SignalData3);
滤波后的时域和频谱波形
3.带通和高通操作步骤大体一致就不详细说明
4、M代码
代码见https://download.csdn.net/download/flypassion/10627808
5、备注
1、滤波器出数有一定延迟,这在具体调制解调过程中需要注意
相关阅读
今天SEO实验室为新手们奉上关于网页UI设计的10条适用法则,希望能让大家脑洞大开,在设计中得到帮助和启发。 一、设计感是“
你有没有点过一个有趣的广告,指引你到一个网站,但转换,即使产品看起来很有前途,因为网站很难使用或内容太混乱?如果您拥有一个网站,那
UX (User Experience) 使用者体验,根据使用者的习惯,去看怎么样最直觉。安排整个网站页面的内容,传递给使用者感受。能清楚了解使用
好的导航栏菜单就很容易帮助用户了解自己所处位置,明确告知用户下一步如何做。这也就是网站导航设计被视为用户体验最重要元素单
网站制作标准化,这是一个老生常谈的问题,说明了站长们对网站外观和内质的重视。但是在我们今天看来,有许多网站却因为这种那种的原