Fs = 1000; % 采样频率
N = 1024; % 采样点数 ,即实际中一次FFT变换所使用的点数
n = 0:N-1; % 采样序列,为plot绘图用的序列,其对应点表示的真实频率为 f = f = n*(Fs/N),Fs/N,是频率分辨率,其中0 <= N < max(N)/2-1
f = (-N/2:N/2-1)*Fs/N;%真实频率序列,真实频率从(-N/2~(N/2)-1)*(Fs/N)
t = 0:1/Fs:(N/Fs)-1/Fs; % 时间序列

x = 2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*200*t+pi*90/180) ; %原始信号序列

subplot(2,2,1);%绘图 2行2列的第个1框
plot(t,x);%plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。
grid on;
xlabel('t');
ylabel('y');
title('原始信号');

y = fft(x,N); %对原始信号做N点FFT变换
z = fftshift(y);%对fft结果进行转换,将频率移动的正确的位置
M = abs(z);

subplot(2,2,2);%绘图 2行1列的第2个框
plot(f,M);
grid on;
xlabel('Hz');
ylabel('幅度');%FFT变换后幅度值为原始信号对应频率的幅值*Fs
title('原始信号FFT');

b = fir1(28,0.25);%更多用法查fir1函数说明。fir1(n,Wn),默认选用哈明窗,n是滤波器阶数,Wn是一个归一化频率,在滤波器设计中是用fs/2进行归一。在fir1滤波器设计时采用的是归一化频率。实际采样频率为fs,实际的截止频率为fc,设归一化截止频率为fcm,fcm=fc/(fs/2)。
fir_output = filter(b,1,x);

subplot(2,2,3);%绘图 2行1列的第3个框
plot(t,fir_output);
grid on;
xlabel('t');
ylabel('y');
title('FIR滤波后信号(截止频率为 125 Hz)');

y2 = fft(fir_output,N); %对原始信号做N点FFT变换
z2 = fftshift(y2);%对fft结果进行转换,将频率移动的正确的位置
M2 = abs(z2);

subplot(2,2,4);%绘图 2行1列的第4个框
plot(f,M2);
grid on;
xlabel('Hz');
ylabel('幅度');
title('FIR滤波后信号FFT');

FIR滤波器实例的更多相关文章

  1. IIR滤波器和FIR滤波器的区别与联系zz

      -------------------------------------------------------------------------------------------------- ...

  2. 数字信号处理实验(六)——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 ...

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

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

  4. FIR滤波器设计

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

  5. CIC and Fir 滤波器的级联

    在FDATool中 CIC 和 Fir 级联滤波器的设计 1 设计CIC滤波器的幅频特性曲线如下 2.设计FIR 滤波器的幅频特性曲线如下 3.总的特性曲线如下 4.把通带部分放大后的图,比较平坦

  6. FIR滤波器的实现方法(转)

    源:http://blog.sina.com.cn/s/blog_493520900102uy26.html 内容来自于上篇博文,第七章,FIR滤波器 http://blog.sina.com.cn/ ...

  7. 使用MATLAB设计FIR滤波器

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

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

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

  9. FIR滤波器的FPGA实现方法

    FIR滤波器的FPGA实现方法 2011-02-21 23:34:15   来源:互联网    非常重要的基本单元.近年来,由于FPGA具有高速度.高集成度和高可靠性的特点而得到快速发展.随着现代数字 ...

随机推荐

  1. Power shell 复制文件到远程主机

    昨天因为要复制文件到多个服务器上,感觉一个个复制很麻烦,我就想用Power shell 命令来完成这个任务.具体代码如下: $servers= 'server1' ,'server2' $userna ...

  2. [BZOJ 3441]乌鸦喝水

    3441: 乌鸦喝水 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 374  Solved: 148[Submit][Status][Discuss] ...

  3. Redis数据的底层存储原理

    redis底层是用什么结构来存储数据的呢? 我们从源码上去理解就会容易的多:   redis底层是使用C语言来编写的,我们可以看到它的数据结构声明.一个 dict 有两个dictht,一个dictht ...

  4. 【转】用instruments来检验你的app

    一篇非常好的关于instruments使用的文章! 连接在此

  5. java构造方法-this关键字的用法

    public class constructor { public static void main(String[] args) { // TODO Auto-generated method st ...

  6. 分享个Cognos8.4安装介质的百度云网盘链接

    https://pan.baidu.com/share/link?shareid=3750687613&uk=3441846946#list/path=%2F

  7. 关于Struts2通配符无效的说明

    在struts2.3之前的版本,正常的配置就可以了,但在struts2.3版本之后,使用通配符调用方法时,内部会验证是否允许访问该方法. 1.struts2.5 为了增加安全性,在 struts.xm ...

  8. C、CSL 的密码 【set暴力 || 后缀数组】 (“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛 )

    题目传送门:https://ac.nowcoder.com/acm/contest/551/C 题目描述 众所周知,CSL 最喜欢的密码是 ******.于是有一天……     为了改变这一点,他决定 ...

  9. Kali-linux密码在线破解

    为了使用户能成功登录到目标系统,所以需要获取一个正确的密码.在Kali中,在线破解密码的工具很多,其中最常用的两款分别是Hydra和Medusa.本节将介绍使用Hydra和Medusa工具实现密码在线 ...

  10. [Python WEB开发] 使用WSGI开发类Flask框架 (二)

    WSGI     Web服务器网关接口 WSGI主要规定了Web服务器如何与Web应用程序进行通信,以及如何将Web应用程序链接在一起来处理一个请求. wsgiref Python中的WSGI参考模块 ...