本次为实验项目,在学习数字信号处理课程需要利用matlab来巩固所学知识

参考博主为整个项目实验,本次我们所需只需前三问即可。

FIR数字滤波器的设计_A Master的博客-CSDN博客_fir数字滤波器的设计

一、实验内容

(1)N=45,计算并画出矩形窗、汉明窗、布莱克曼窗归一化的幅度谱,并比较各自的主要特点。

(2) N=15,带通滤波器的两个通带边界分别是w1 =0.3π,w2=0.5π。用汉宁窗设计此线性相位带通滤波器,观察它的实际3dB和20dB带宽。N=45,重复这一设计,观察幅频和相位特性的变化 ,注意长度N变化的影响。

(3)分别改用矩形窗和布莱克曼窗,设计(2)中的带通滤波器,观察并记录窗函数对滤波器幅频特性的影响,比较三种窗的特点。

二、实验流程

2.1  N=45,画出矩形窗、汉明窗、布莱克曼窗归一化的幅度谱。

可以看到图1为三种窗函数的汇总,图2为三种窗口函数的时域波形和分开展示的幅度谱。

具体代码见下:将汇总拆开只需要subplot函数来规划区域即可。

clear all;
N=45;
%矩形窗
wn1=boxcar(N);
%汉明窗
wn2=hanning(N);
%布莱克曼窗
wn3=blackman(N);
[h1,w1]=freqz(wn1,1);% 调用freqz函数求数字滤波器的频率响应[h2,w2]=freqz(wn2,1);
[h3,w3]=freqz(wn3,1);
%其分贝转化=20log10(h)
plot(w1/pi,20*log10(abs(h1)),'r-',w2/pi,20*log10(abs(h2)),'m--',w3/pi,20*log10(abs(h3)),'b-.');
xlable('归一化频率/\pi'); ylable('幅度/db');
title('矩形窗red','汉明窗purple','布莱克曼窗blue');

2.2 采样N=15和N=45汉宁窗设计带通滤波器,通带边界为0.3pi和0.5pi。

具体代码见下:第三问只需要将窗口函数hanning分别改为boxcar和blackman即可

clear all;
N1=15;
wn=[0.3,0.5];
window=hanning(N1+1);
b1=fir1(N1,wn,window);
[h1,w]=freqz(b1);
subplot(2,2,1);
plot(w/pi,20*log10(abs(h1)),'r');
xlabel('归一化频率/\pi');ylabel('幅度/dB');
title('N=15,幅度特性');
subplot(2,2,3);
plot(w/pi,angle(h1),'r');
title('N=15,相位特性');N2=45;
wn2=[0.3,0.5];
window2=hanning(N2+1);
b2=fir1(N2,wn2,window2);
[h2,w1]=freqz(b2);
subplot(2,2,2);
plot(w1/pi,20*log10(abs(h2)),'m');
title('N=45,幅度特性');
xlabel('归一化频率/\pi');ylabel('幅度/dB');
subplot(2,2,4);
plot(w/pi,angle(h2),'r');
title('N=45,相位特性');

上述代码主要使用了fir1函数来设计其滤波器,其函数中各个参数使用:

b:返回fir滤波器的单位脉冲相应,偶对称,长度为n+1;
n:滤波器的阶数,设计出的滤波器长度为n+1;
wn:滤波器的截止频率,取值范围0<wn<1,1对应采样频率的1/2。当需要设计低通/高通滤波器,wn是单个值的,即截至频率,ftype参数是low/high;;当设计带通/带阻滤波器时,wn由两个数组成的向量[wn1 wn2],ftype参数是bandpass/stop;
window:指定使用的窗函数,默认是汉明窗(Hamming),最常用的还有汉宁(Hanning)、布莱克曼窗(Blackman)、凯赛窗(Kaiser);

    b=fir1(n,wn);b=fir1(n,wn,'ftype');b=fir1(n,wn,'ftype',window)

为了显示的更加美观和简便可以使用GUI交互界面来达到更好的展示效果:图片展示如下,可以看到其实验所需的图形在一个界面便可以展示,当我们想要使用时,点击相关控制按键即可。

 

本次实验相对来说代码量较少,主要为分析其设计的流程和效果分析,对于课程知识的巩固很有帮助,对于滤波器的设计是个较为复杂的过程,相关知识大家可以自行寻找资源查看。

FIR数字滤波器的设计[Matlab][带源码]相关推荐

  1. 中小型手机棋牌网络游戏服务端架构设计(带源码)

    承接自己<中小型棋牌类网络游戏服务端架构>博文,用Golang实现基础架构逻辑后,准备再次谈谈我的想法. 已实现的逻辑与前文描述有几点不同: Gateway更名为Proxy,DBProxy ...

  2. 基于matlab数字滤波器设计,基于MATLAB的FIR数字滤波器的设计

    摘 要 传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用.本文介绍了一种利用MATLAB信号处理工具箱(Signal Processing Toolbox)快速有效的设计 ...

  3. FIR数字滤波器的设计及应用——MATLAB

    一.实验目的 1.掌握FIR数字滤波器设计的一般方法和步骤: 2.了解各种窗函数的性能 3.学会利用窗函数法设计FIR数字滤波器: 4.掌握FIR数字滤波器的实现方法 5.学会用所设计的滤波器对实际信 ...

  4. 基于Java毕业设计爱心公益网站设计与制作源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计爱心公益网站设计与制作源码+系统+mysql+lw文档+部署软件 基于Java毕业设计爱心公益网站设计与制作源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B ...

  5. 计算机毕业设计JavaVue垃圾分类指南平台设计与实现(源码+系统+mysql数据库+lw文档)

    计算机毕业设计JavaVue垃圾分类指南平台设计与实现(源码+系统+mysql数据库+lw文档) 计算机毕业设计JavaVue垃圾分类指南平台设计与实现(源码+系统+mysql数据库+lw文档) 本源 ...

  6. Spring MVC 4 RESTFul Web Services CRUD例子(带源码)【这才是restful,超经典】

    [本系列其他教程正在陆续翻译中,点击分类:spring 4 mvc 进行查看.源码下载地址在文章末尾.] [翻译 by 明明如月 QQ 605283073] 原文地址:http://websystiq ...

  7. java计算机毕业设计宠物救助网站的设计与实现源码+数据库+系统+lw文档+部署

    java计算机毕业设计宠物救助网站的设计与实现源码+数据库+系统+lw文档+部署 java计算机毕业设计宠物救助网站的设计与实现源码+数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...

  8. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...

    MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...

  9. MyEclipse使用总结——使用MyEclipse打包带源码的jar包

    平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...

最新文章

  1. python从入门到实践笔记_Python编程从入门到实践二至七章笔记
  2. Protobuf在Unity中的通讯使用
  3. 一个简易的webpack开发环境
  4. 【jQuery】使用id选择器,找出外层div中嵌套的内层div
  5. Google Guava MultiMaps
  6. 傅里叶变换 直观_A / B测试的直观模拟
  7. [css] position的relative和absolute定位原点是哪里?
  8. Navicat premium查看数据库表中文注释的两种方式
  9. 360好搜鬼畜视频一下两下成洗脑热词
  10. 5.网络层(3)---路由选择协议
  11. mysql ON DUPLICATE KEY UPDATE重复插入时更新
  12. BZOJ-4706 B君的多边形 OEIS
  13. MTK GPS问题调试
  14. 【新农合专题】新农合系统资料汇总贴(新增134个)
  15. MCSA / Windows Server 2016 服务器升级和迁移
  16. 奥维互动地图自建服务器,奥维中如何添加在线自定义地图
  17. 爬虫小程序 - 周杰伦歌曲
  18. 湖中剑 GitHub周刊 #10 | 开源监控uptime-kuma、LVGL嵌入式UI、node版本管理nvm
  19. C++学习(一八一)android的NDK、SDK版本的对应关系
  20. FMVP詹姆斯,王者归来!英雄实至名归!

热门文章

  1. qqwry.dat的数据结构解释
  2. 创新数据库技术 成就IOD愿景携DB2 25载创新 IBM推新“信息议程”
  3. java 数据库连接池链接数据库
  4. JVM垃圾收集器(三)
  5. 打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹
  6. oracle七参数坐标转换,MapGIS国土空间数据2000大地坐标系转换系统
  7. Android原生集成MUI框架进行混合开发
  8. h5 input type 属性为tel苹果系统可以直接获取数字短信验证码
  9. 一文带你了解Hive【详细介绍】Hive与传统数据库有什么区别?
  10. 李嘉诚--理财--如何支配你的金钱