来源:https://blog.csdn.net/leokingszx/article/details/80041910

在实际的应用中,有时需要使用FIR根据完成一些特定功能,比如近似一阶RC低通电路的响应,等等。如何确定FIR滤波器的系数呢?http://www.360doc.com/content/17/0518/21/1832721_655109467.shtml 中有这么一段话:    FIR滤波器很简单,它实际上是一个全零点模型(MA滑动平均模型),滤波器系数只包含滑动平均的B,而自回归的A=1。滤波过程就是X和B的卷积,再联系滤波器的原理,容易知道,FIR滤波器的系数B就是滤波器的冲激响应h。    因此它的设计就简单了,只要设定滤波器的频率响应H,进行ifft后就得到冲激响应h,把h直接作为滤波器系数B对原信号滤波即可。可有如下的例子:%此函数是filter函数的标准示例,体现了使用滤波器进行波形处理的思路和写法。
%其功能是实现低通滤波。
clc;clear;
Fs = 2048;            % Sampling frequency                   
T = 1/Fs;             % Sampling period      
L = 1024;             % Length of signal
t = (0:L-1)*T;        % Time vector
f1 = 100;
f2 = 700;
S1 = sin(2*pi*f1*t)+sin(2*pi*f2*t);
% figure(1);plot(1000*t(1:50),(S1(1:50)));
figure(1);fft_test(1, Fs, 1024, S1);title('低通滤波前');

jieshu = 150;
Window=boxcar(jieshu+1);
Num1=fir1(jieshu,[0.001 0.3], Window);
a= [1];
imp = [1; zeros(jieshu, 1)];
h1 = filter(Num1, a, imp);

w = conv(S1,h1);
%标记有***的是另外一种方法。事实上直接对原序列filter也行。
% w = filter(Num1,a, S1);  %***
%
S2 = w(jieshu/2:1024+jieshu/2);
figure(2);fft_test(1, Fs, 1024, S2);title('低通滤波后');

% figure(2);fft_test(1, Fs, 1024, w);title('低通滤波后'); %***

Num1即为低通滤波的冲激响应。filter函数直接了当的一边实现了FIR滤波器,一边进行了滤波。同时,zzz = fft(Num1);
plot(abs(zzz));可得:对Num1FFT可得如上的图,可见Num1确实是已知的频率响应的频谱的ifft的结果,与最开始的结论想吻合。
————————————————

matlab进行FIR滤波器设计(一)的更多相关文章

  1. FIR滤波器设计

    FIR滤波器的优越性: 相位对应为严格的线性,不存在延迟失真,仅仅有固定的时间延迟: 因为不存在稳定性问题,设计相对简单: 仅仅包括实数算法,不涉及复数算法,不须要递推运算,长度为M,阶数为M-1,计 ...

  2. IIR滤波器设计(调用MATLAB IIR函数来实现)

    转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途         对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求 ...

  3. FIR滤波器(1)- 基础知识

    FIR滤波器广泛应用于数字信号处理中,主要功能就是将不感兴趣的信号滤除,留下有用信号.FIR滤波器是全零点结构,系统永远稳定:并且具有线性相位的特征,在有效频率范围内所有信号相位上不失真.在无线通信收 ...

  4. 转载论文关于fir滤波器的fpga实现

    摘 要 本文讨论的FIR滤波器因其具有严格的线性相位特性而得到广泛的应用.在工程实践中,往往要求信号处理具有实时性和灵活性,本论文研究FIR的FPGA解决方案正体现了电子系统的微型化和单片化. 本论文 ...

  5. FIR滤波器相关解释

    LTI(Linear Time-Invariant) 线性时不变: 线性时不变系统是根据系统输入和输出是否具有线性关系来定义的.满足叠加原理的系统具有线性特性.线性满足y=kx函数. 根据系统的输入和 ...

  6. 《数字信号处理》课程实验2 – FIR数字滤波器设计

    一.FIR数字滤波器设计原理  本实验采用窗函数法设计FIR数字低通滤波器.我们希望设计的滤波器系统函数如下: \(H_{d}\left( e^{jw} \right) = \left\{ \begi ...

  7. 使用MATLAB设计FIR滤波器

    1.      采用fir1函数设计,fir1函数可以设计低通.带通.高通.带阻等多种类型的具有严格线性相位特性的FIR滤波器.语法形式: b = fir1(n, wn) b = fir1(n, wn ...

  8. Matlab滤波器设计(转)

    滤波器设计是一个创建满足指定滤波要求的滤波器参数的过程.滤波器的实现包括滤波器结构的选择和滤波器参数的计算.只有完成了滤波器的设计和实现,才能最终完成数据的滤波. 滤波器设计的目标是实现数据序列的频率 ...

  9. 数字信号处理实验(六)——FIR滤波器的设计

    一.四种线性相位FIR滤波器的振幅响应 1.自编函数 [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) 2.一个demo clea ...

随机推荐

  1. sqlmap 的 --forms之理解

    对于一个页面的form表单中的数据进行注入测试 方法有三个 ①burp抓包 将数据储存为文本文件  然后 sqlmap中使用 -r 参数进行测试 ②使用 --data参数,将数据进行测试 ③直接使用- ...

  2. day45:JS中的json&JS的BOM操作和DOM操作

    目录 1.补充:CSS中的弹性盒子 2.JS中json的序列化 3.JS中的BOM操作 3.1 location操作 3.2 计时器 4.JS中的DOM操作 4.1 创建标签 4.2 查找标签 4.3 ...

  3. Tesseract OCR 安装尝试

    1.简介 Tesseract是一个图像识别项目,将图中的文字识别出来.将一个.jpg .png 等等 的图片作为输入,.txt作为识别内容输出 Tesseract项目GitHub地址 2.安装 你可以 ...

  4. Python自动化测试入门科技树

    Python基础: 入门语法和数据类型: 编码环境安装基本语法 常用数据类型 常用运算符 Llist.Tuple.Dict.if&for.while Python进阶: 函数: 语法 内置函数 ...

  5. 面试【JAVA基础】类加载机制

    1.类加载过程 1.1.加载 查找和导入class文件. 1.2.链接 验证 检验载入的class文件的正确性,完整性. 准备 给类的静态变量分配存储空间,会赋对象类型的默认值. 解析 将class常 ...

  6. 把Employees显示在页面上

    项目代码下载:https://files.cnblogs.com/files/xiandedanteng/gatling20200429-1.zip 需求:从后台DB取出雇员数据,显示在前台页面上: ...

  7. ssh工具 (Java)

    执行shell命令.下载文件... package com.sunsheen.blockchain.admin.utils; import java.io.BufferedReader; import ...

  8. db2错误代码可能的原因

    一. SQL5005C运行cmd未用管理员权限打开 SQLCODE-303  数据类型不兼容 SQLCODE-305   查出的数据有NULL未处理直接写入接收变量 二.应该不会有人直接写sql用这个 ...

  9. xss构造--如何使用xss语句

    XSS的构造 1.利用[<>]构造html/js 如[<script>alert(/xss/)</script>] 2.伪协议 使用javascript:伪协议来构 ...

  10. [LeetCode]Sql系列2

    题目 1205. 每月交易II Transactions 记录表 +----------------+---------+ | Column Name | Type | +-------------- ...