基于matlab的FIR加窗滤波器设计
1.确定参数:
Wp 通带截止频率
Ws 阻带截止频率
As 衰减dB
Rp 纹波dB
2.根据参数确定理想 频率响应 (M (Wp + Ws )/2 )
双边响应
3.选窗
过滤带宽
阻带衰减
4.得出最终响应
时域相乘 频域卷积
5.观察各项参数是否达标(采用归一化后的数据)
衰减
幅频特性
相频
群延时 ??
···
Ps:观察频率响应的函数

这里a = 1 因为FIR可由差分方程描述

故分母为1
代码:
wp =0.2*pi;
ws = 0.3*pi;
tr_width = ws -wp;
M = ceil(6.6*pi/tr_width)+1;
n = [0:1:M-1];
wc = ((ws + wp)/2) %ideal LPF cutoff frequency
hd = ideal_lp(wc,M);
w_ham = (hamming(M))';
h = hd .* w_ham;
[db,mag,pha,grd,w] = freqz_m(h,[1]);
delta_w = 2*pi/1000;
Rp = -(min(db(1:1:wp/delta_w+1)));
As = -round(max(db(ws/delta_w+1:1:501)));
%plot
subplot(2,2,1);
stem(n,hd);
title('Ideal Impulse Response');
axis([0 M-1 -0.1 0.3]);
xlabel('n');
ylabel('hd(n)');
subplot(2,2,2);
stem(n,w_ham);
title(' Hamming Window');
axis([0 M-1 0 1.1]);
xlabel('n');
ylabel('w(n)');
subplot(2,2,3);
stem(n,h);
title('Actual Impluse Response');
axis([0 M-1 -0.1 0.3]);
xlabel('n');
ylabel('h(n)');
subplot(2,2,4);
plot(w/pi,db);
title('Magnitude Response in dB');grid
axis([0 1 -100 10]);
xlabel('frequency in pi units');
ylabel('Decibels');

带通:
wp1 =0.35*pi;
ws1 = 0.2*pi;
wp2 =0.65*pi;
ws2 = 0.8*pi;
tr_width = min((wp1 -ws1),(ws2 - wp2));
M = ceil(11*pi/tr_width)+1;
M
n = [0:1:M-1];
wc1 = ((ws1 + wp1)/2);
wc2 = ((ws2 + wp2)/2);
hd = ideal_lp(wc2,M)-ideal_lp(wc1,M);
w_ham = (blackman(M))';
h = hd .* w_ham;
[db,mag,pha,grd,w] = freqz_m(h,[1]);
delta_w = 2*pi/1000;
Rp = -(min(db(wp1/delta_w+1:1:wp2/delta_w+1)));
Rp
As = -round(max(db(ws2/delta_w+1:1:501)));
As
%plot
subplot(2,2,1);
stem(n,hd);
title('Ideal Impulse Response');
axis([0 M-1 -0.5 0.5]);
xlabel('n');
ylabel('hd(n)');
subplot(2,2,2);
stem(n,w_ham);
title(' blackman Window');
axis([0 M-1 0 1.1]);
xlabel('n');
ylabel('w(n)');
subplot(2,2,3);
stem(n,h);
title('Actual Impluse Response');
axis([0 M-1 -0.5 0.5]);
xlabel('n');
ylabel('h(n)');
subplot(2,2,4);
plot(w/pi,db);
title('Magnitude Response in dB');grid
axis([0 1 -150 10]);
xlabel('frequency in pi units');
ylabel('Decibels');


基于matlab的FIR加窗滤波器设计的更多相关文章
- IIR滤波器设计(调用MATLAB IIR函数来实现)
转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途 对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求 ...
- 基于MATLAB的GUI(Graphical User Interface)音频实时显示设计
摘要:本文章的设计主要讲基于matlab的gui音频实时显示设计,此次设计的gui相当于一个简洁的音乐播放器,界面只有”录音“和”播放“两个控件,哈哈,够简洁吧.通过”录音“按钮可以实现声音从电脑的声 ...
- Matlab滤波器设计(转)
滤波器设计是一个创建满足指定滤波要求的滤波器参数的过程.滤波器的实现包括滤波器结构的选择和滤波器参数的计算.只有完成了滤波器的设计和实现,才能最终完成数据的滤波. 滤波器设计的目标是实现数据序列的频率 ...
- FIR滤波器设计
FIR滤波器的优越性: 相位对应为严格的线性,不存在延迟失真,仅仅有固定的时间延迟: 因为不存在稳定性问题,设计相对简单: 仅仅包括实数算法,不涉及复数算法,不须要递推运算,长度为M,阶数为M-1,计 ...
- 信号、系统与滤波器设计(matlab)
0. 基本概念 AWG:Additive White(zero-mean) Gaussian,可加白噪声: AWGN:Additive White(zero-mean) Gaussian Noise ...
- 基于Matlab的MMSE的语音增强算法的研究
本课题隶属于学校的创新性课题研究项目.2012年就已经做完了,今天一并拿来发表. 目录: --基于谱减法的语音信号增强算法..................................... ...
- 基于MATLAB的多功能语音处理器
一.设计功能 录制音频,保存音频 对录制的语音信号进行频谱分析,确定该段语音的主要频率范围: 利用采样定理,对该段语音信号进行采样,观察不用采样频率(过采样.欠采样.临界采样)对信号的影响: 实现语音 ...
- fdatool的滤波器设计
作者:桂. 时间:2017-08-15 20:28:11 链接:http://www.cnblogs.com/xingshansi/p/7367738.html 前言 本文主要记录滤波器设计的基本流 ...
- 基于MATLAB的离散小波变换
申明,本文非笔者原创,原文转载自: 基于Matlab的离散小波变换 http://blog.sina.com.cn/s/blog_725866260100ryh3.html 简介 在 ...
随机推荐
- Netty实现原理浅析
1.总体结构 先放上一张漂亮的Netty总体结构图,下面的内容也主要围绕该图上的一些核心功能做分析,但对如Container Integration及Security Support等高级可选功能,本 ...
- Linux学习笔记 -- 硬链接与软连接(转)
原文地址: http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html Linux链接概念 Linux链接分两种,一种被称为硬链接(Har ...
- 用python40行代码编写的计算器
效果图 代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...
- 使用K2时提示未能加载文件或程序集Microsoft.IdentityModel等
转:http://www.cnblogs.com/dannyli/archive/2012/10/15/2724931.html K2安装成功后,打开workspace管理流程时报错如下图: 未能加载 ...
- Win7 IE11 F2无法切换版本
Win7 IE11 F2无法切换版本 http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=45154 选择操作系统对应的版本 ht ...
- C++加载位图跟SOCKET通信的编写
//将屏幕信息转换为位图结构 CDC *pDeskDC=GetDesktopWindow()->GetDC();//获取桌面的额画图对象 ; ; CDC memDC;//定义一个内存画布 mem ...
- 解决 Python 连不上pip库的问题(使用国内镜像地址)
经常在使用python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上 ...
- MyEclipse从数据库反向生成实体类通过Hibernate的方式----mysql数据库实例
1.我们通过DB与数据库建立连接 2.建立web工程,构建Hibernate框架 3.通过table生成实体类
- Location - BOM对象
Location 对象 Location 对象包含有关当前 URL 的信息. Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问. 例子 把用户 ...
- 2018 Spring Single Training B (uva 572,HihoCoder 1632,POJ 2387,POJ 2236,UVA 10054,HDU 2141)
这场比赛可以说是灰常的水了,涨信心场?? 今下午义务劳动,去拿着锄头发了将近一小时呆,发现自己实在是干不了什么,就跑到实验室打比赛了~ 之前的比赛补题补了这么久连一场完整的都没补完,结果这场比完后一小 ...
