概述
一、Matlab实现hamming,hanning时域窗函数相乘法。
数字滤波器都是2π归一化的,2π对应fs采样率。这一点和FFT结果是一样。采样时间离散序列,频谱以2π为周期,(也是以Fs为周期)。
% %------------------------------低通滤波器2----------------------------------
fpass=200; %通带
fstop=500; %阻带
Bslope=(fstop-fpass)/Fs*2*pi; %过渡宽度
N0=ceil(3.3*2*pi/Bslope); %滤波波长
N=N0+mod(N0+1,2); %取N为奇数,时延(N-1)/2,仍在采样点处
window = (hamming(N))'; % 海明窗计算
Wn=(fpass+fstop)/2/Fs*2; % 计算截止频率
firfilter_vect=fir1(N-1,Wn,window); % 用fir1函数设计FIR第1类滤波器,M=N-1,为滤器的阶数,也是除了当前点,前面其他需加进的点数
datay=filter(firfilter_vect,1,data); %原始数据data进行滤波,即data与firfilter_vect的卷积。
%======================================================
因为理想滤波器具有很好频率特性,但是因为其时间响应长度无限。所以我们要用一个窗函数来把它截断,hamming窗截断具有通带、阻带波动小的特点。fir1函数实现了理想低通滤波器的时域无限长序列h(t)与汉明窗window相乘,生成一个有限长的序列。即对h(t)的加窗截断。t在离散采样形式可写成h(n),
![58c20c6b7865538913f5fae7c70ab168.png](https://file2.kaopuke.com:8081/files_image/20230526/58c20c6b7865538913f5fae7c70ab168.png)
fir1实现:
filter实现:h(N)卷积data。因为把理想低通变成有限长度,这正是FIR(有限长度冲击响应的由来)。
最后
以上就是危机小海豚为你收集整理的matlab滤波_FIR滤波器的Matlab实现的全部内容,希望文章能够帮你解决matlab滤波_FIR滤波器的Matlab实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复